1 Introduction
WooAnalytics Pro is a powerful analytics dashboard for WooCommerce that transforms your raw order data into clear, actionable business intelligence. Unlike WooCommerce's built-in reports, WooAnalytics Pro gives you profit tracking, customer lifetime value, RFM segmentation, AI-powered insights, and automated email reports — all in one beautiful interface.
What You Can Do
System Requirements
| Requirement | Minimum Version |
|---|---|
| WordPress | 6.2 or higher |
| WooCommerce | 8.0 or higher |
| PHP | 8.1 or higher |
| MySQL / MariaDB | 5.7 / 10.3 or higher |
| Action Scheduler | Bundled with WooCommerce |
2 Installation & Activation
Installing the Plugin
- 1Log in to your WordPress admin panel at
yoursite.com/wp-admin - 2Navigate to Plugins → Add New → Upload Plugin
- 3Click Choose File and select the
wooanalytics-pro.zipfile downloaded from CodeCanyon - 4Click Install Now, then Activate Plugin
- 5Navigate to WooCommerce → Analytics Pro to open the dashboard
Plugins → Add New → Upload Plugin page, showing the file upload area with wooanalytics-pro.zip selected and the Install Now button highlighted in blue.
What Happens on Activation
When WooAnalytics Pro activates, it automatically:
- Creates 5 custom database tables (prefixed with
wap_) - Seeds default settings (cache TTL, low stock threshold, etc.)
- Backfills 90 days of KPI data from your existing WooCommerce orders
- Schedules nightly data aggregation at 02:00 UTC via Action Scheduler
- Schedules weekly customer stats refresh every Monday at 03:00 UTC
If You See $0.00 After Activation
The KPI cards read from pre-computed data. If they show zeros immediately after installing, click the 🔄 Refresh Data button in the top-right corner of the dashboard header to trigger an immediate backfill.
3 Overview Dashboard
The Overview tab is your store's command center. It shows your most important KPIs at a glance, a revenue trend chart, and your top-selling products.
The Overview tab with 6 KPI cards in a single row (Revenue, Gross Profit, Orders, Avg. Order Value, New Customers, Refunds), the Revenue Over Time line chart below-left, and the Top 5 Products panel on the right. HPOS badge and 🔄 Refresh Data button visible in the navy header.
KPI Cards
Six metric cards appear across the top. Each shows the current period value and — when Compare to Prior Period is enabled — a coloured trend arrow showing percentage change.
| Card | What It Measures |
|---|---|
| REVENUE | Total order revenue (completed + processing orders) |
| GROSS PROFIT | Revenue minus Cost of Goods Sold — requires cost prices to be set |
| ORDERS | Total orders placed in the selected period |
| AVG. ORDER VALUE | Revenue ÷ Number of orders |
| NEW CUSTOMERS | Customers placing their first-ever order in the period |
| REFUNDS | Total refund amount processed in the period |
Period Picker
Sticky bar below the tab nav showing: Today | Yesterday | Last 7 Days | This Month (active, blue) | Last Month | This Year | custom date inputs → Apply | ☐ Compare to prior period
- Quick Presets: Click any preset to instantly switch periods. The active preset is highlighted in blue.
- Custom Range: Enter start and end dates in the date pickers and click Apply.
- Compare to Prior Period: Tick this checkbox to show ▲▼ trend arrows and % change on every KPI card.
Revenue Over Time Chart
Blue line chart with shaded fill below, showing daily revenue from Mar 1–Mar 19. Y-axis starts at $0. A tooltip is visible on hover showing the date and exact revenue amount.
- Y-axis always starts at $0 — no misleading scaling
- Data points are hidden for periods longer than 30 days to keep the chart clean
- Hover over any point to see the exact revenue and date in a tooltip
Top 5 Products Panel
Right-side panel with 🏆 Top 5 Products header, showing: 1. handbag $675,000.00 10u / 2. earphone $339,000.00 3u / 3. sneakers $325,000.00 10u / 4. Dior perfume $256,500.00 3u / 5. shirt $27,000.00 15u. Blue numbered circles as rank badges.
4 Products & Profit
The Products & Profit tab is your margin intelligence center. Once cost prices are added, it shows per-product profitability with health badges, and lets you manage costs inline or via CSV bulk import.
Products & Profit tab showing: 4 summary KPI cards (Total COGS $957,000 / Gross Profit $695,310 / Overall Margin 42.1% / Missing COGS 6 products), best/worst margin highlight bar, health filter pills (All / Good / Warning / Poor / No cost), and the product table with margin badges (🟢 Good, 🟡 Warning, 🔴 Poor) in the Health column.
Profit Summary Cards
| Card | Description |
|---|---|
| TOTAL COGS | Sum of all cost-of-goods-sold for products with cost prices set |
| GROSS PROFIT | Total revenue minus total COGS for products with costs entered |
| OVERALL MARGIN | Gross profit ÷ revenue, as a percentage |
| MISSING COGS | Number of products that have sales but no cost price set |
The Best / Worst Margin highlight bar below the cards shows the highest and lowest margin products at a glance.
Margin Health Badges
Adding Cost Prices
There are three ways to add cost prices to your products:
1 Inline Editor — Single Products
- 1Go to the Products & Profit tab
- 2Find your product and click + Add cost (or an existing cost value) in the Cost/Unit column
- 3Type the unit cost and click the ✓ checkmark button
- 4The row refreshes instantly with updated margin and health badge
Product table row for "handbag" with $675,000 revenue, 10 units. The Cost/Unit column shows an active input box with "40000.00" and a blue ✓ confirm button beside it.
2 CSV Bulk Import — Many Products
- 1Scroll to Bulk Import Cost Prices at the bottom of the Products & Profit tab
- 2Prepare your CSV with columns
product_idandcost_price - 3Paste the CSV content into the text area and click Import
product_id,cost_price
101,45000
102,12000
103,8500
sku instead of product_id and the importer will look up product IDs from your SKUs automatically.3 Product Edit Screen
- 1Navigate to WooCommerce → Products and edit any product
- 2In the General tab, find the Cost Price field (marked with a blue WooAnalytics Pro badge)
- 3Enter the cost price and save the product. For variable products, each variation has its own Cost Price field.
WooCommerce product editor, General tab. Below the Sale Price field is a new "Cost Price" field with a blue "WooAnalytics Pro" badge label. Helper text reads: "Used to calculate gross profit and margins. Not shown to customers."
5 Customer Analytics
The Customers tab gives you a deep understanding of who your customers are, how valuable they are, and which ones need attention — all powered by RFM (Recency, Frequency, Monetary) analysis.
Customers tab showing: 4 summary cards (Total Customers: 1 / Avg LTV: $1,652,310 / Top Customer LTV: $1,652,310 / New This Month: 1), 🔄 Refresh Stats button, Customer Segments doughnut chart on the left (teal New segment), Cohort Retention grid on the right (2026-03 cohort, size 1, 100% M+0), segment filter pills, customer table with johndoe@gmail.com LTV $1,652,310 / Score bar 100 / New badge, Export buttons at bottom.
Refreshing Customer Stats
Customer stats refresh automatically every Monday. To trigger an immediate refresh:
- 1Click 🔄 Refresh Stats at the top of the Customers tab
- 2Wait a few seconds — the button shows "Refreshing…" while processing
- 3The page reloads automatically with fresh segments, LTV scores, and cohort data
RFM Segments
Every customer is automatically assigned to one of six segments based on how recently they ordered, how often, and how much they've spent:
Cohort Retention Grid
The cohort grid answers: "Of the customers who first ordered in Month X, how many came back in subsequent months?"
Table with Cohort column (showing months like 2026-03), Size column, then M+0, M+1, M+2... columns. Cells show percentages with blue heat-map shading — darker blue = higher retention. 2026-03 cohort: size 1, M+0 = 100% (full-width blue cell).
| Column | Meaning |
|---|---|
| Cohort | Month when these customers first ordered (e.g. 2026-03) |
| Size | Number of customers who first ordered in that month |
| M+0 | Always 100% — all customers ordered in their acquisition month |
| M+1 | % who placed another order the following month |
| M+2, M+3… | Retention in subsequent months — aim for 15-30%+ at M+1 |
CSV Export
Scroll to the bottom of the Customers tab to find export buttons:
- Customers CSV — exports email, LTV, order count, first/last order date, RFM segment, LTV score
- Products CSV (This Month) — exports product name, revenue, COGS, gross profit, margin %, health badge
Both files are UTF-8 with BOM for full Excel compatibility.
6 AI Insights
The AI Insights tab uses Anthropic Claude to generate plain-English analysis of your store data. Each insight type provides specific, actionable recommendations based on your actual numbers.
Grid of 5 insight cards in a 2-column layout: 📅 Daily Summary / 📈 Weekly Trends / 🗓️ Monthly Overview / 📦 Product Margins / 👥 Customer Health. Each card has a coloured header bar, the AI-generated paragraph text, generation timestamp, token count, and a ↻ refresh button in the top-right corner.
Setup (One-Time)
- 1Get a free API key at console.anthropic.com
- 2Navigate to API Keys → Create Key — copy the key (starts with
sk-ant-) - 3In WooAnalytics Pro, go to ⚙️ Settings → AI Insights
- 4Paste your key and click Save Settings
- 5Go to 🤖 AI Insights and click ↻ on any card to generate your first insight
Insight Types
| Type | What Claude Analyzes |
|---|---|
| 📅 Daily Summary | Yesterday vs. the day before — catches day-over-day changes and flags anomalies |
| 📈 Weekly Trends | Last 7 days vs. prior 7 days — identifies weekly growth or decline patterns |
| 🗓️ Monthly Overview | This month vs. last month — strategic comparison with growth drivers highlighted |
| 📦 Product Margins | Top 3 and bottom 3 margin products — profitability analysis and improvement suggestions |
| 👥 Customer Health | RFM segment distribution — churn risk identification and retention recommendations |
Choosing a Model
| Model | Best For | Cost / Insight |
|---|---|---|
| Claude Haiku (Default) | Fast generation, most stores, high volume | ~$0.00015 |
| Claude Sonnet | Deeper analysis, complex/luxury product catalogues | ~$0.002 |
7 Settings
Settings tab with two panels: (1) 🤖 AI Insights — password field for API key, model dropdown (Claude Haiku selected), AI Insights enabled/disabled toggle. (2) 📧 Email Reports — enabled toggle, Schedule dropdown (Weekly), Send Day dropdown (Monday), Recipients text field, a test email input with "📧 Send Test Report" button, and a blue "Save Settings" button at the bottom.
AI Insights Settings
| Setting | Description |
|---|---|
| Anthropic API Key | Your personal key from console.anthropic.com. Stored securely, never displayed in full. |
| AI Model | Claude Haiku (fast, affordable) or Claude Sonnet (higher quality) |
| AI Insights | Enable or disable the AI Insights feature. Disable to prevent any API calls. |
Email Report Settings
| Setting | Description |
|---|---|
| Automated Reports | Enable recurring email reports. Disable to stop all automated sending. |
| Schedule | Weekly (every 7 days) or Monthly (1st of each month at 08:00) |
| Send Day | For weekly reports: which day to send (Monday–Sunday) |
| Recipients | Comma-separated list. Example: admin@store.com, team@store.com |
Sending a Test Report
- 1Enter your email in the test field next to 📧 Send Test Report
- 2Click the button — the report arrives within 1–2 minutes
- 3If nothing arrives, check spam and ensure WordPress
wp_mail()is configured (WP Mail SMTP recommended)
Beautiful HTML email showing: navy WooAnalytics Pro header with store name and period, 4 KPI cards in a row (Revenue / Orders / Avg Order / New Customers), Gross Profit (green) and Refunds (red) row, Top Products table with margin % colored green/yellow/red, Customer Segments grid with 6 colored tiles, navy footer with "View Full Dashboard →" link.
8 Data Management
How Aggregation Works
- Live reads (instant): Top 5 Products, individual order data
- Aggregated reads (fast): KPI cards, revenue chart — read from
wap_daily_stats - Nightly job: Action Scheduler runs at 02:00 UTC, computing yesterday's totals
Manual Refresh
Click 🔄 Refresh Data in the dashboard header to trigger an immediate 90-day backfill. Alternatively, go to WP Admin → Tools → Scheduled Actions, search for wooanalytics_daily_aggregation, and click Run.
Database Tables
| Table | Purpose |
|---|---|
wap_daily_stats | Pre-computed daily KPIs (revenue, orders, customers, refunds) |
wap_product_costs | Cost prices per product or variation ID |
wap_customer_stats | Customer LTV, order count, first/last order, RFM segment |
wap_ai_insights | Cached AI-generated insight text with timestamps |
wap_email_reports | Log of sent email reports (recipients, status, timestamp) |
9 Troubleshooting
KPI Cards Show $0.00
Cause: The wap_daily_stats table is empty or doesn't cover the selected period.
Fix: Click 🔄 Refresh Data in the header to backfill 90 days. Then switch to "Last Month" or a period where you know orders exist.
"Failed to load data. Please refresh."
- Go to Settings → Permalinks → click Save Changes to flush rewrite rules
- Check that WooCommerce is installed and active
- Visit
yoursite.com/wp-json/wooanalytics/v1/dashboarddirectly — the error response will identify the exact cause
AI Insights Not Generating
- No API key: Add your Anthropic key in Settings → AI Insights
- Wrong key: Verify at console.anthropic.com — key must start with
sk-ant- - No credit: Top up your Anthropic account balance (minimum $5)
- No cost data: Product Margins insight requires at least one product with a cost price
- No customer data: Customer Health insight requires Refresh Stats to be run first
Refresh Stats (Customers) Fails — 500 Error
Run this SQL in phpMyAdmin or Adminer once:
ALTER TABLE wp_wap_customer_stats
MODIFY COLUMN ltv_score INT UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE wp_wap_customer_stats
ADD UNIQUE KEY customer_email_unique (customer_email);
Test Email Not Received
- 1Check your spam / junk folder first
- 2Install WP Mail SMTP and configure a transactional mail provider (SendGrid, Mailgun, etc.)
- 3Use the WP Mail SMTP test tool to verify basic email delivery
10 Quick Reference
UI Shortcuts
| Action | How |
|---|---|
| Backfill 90 days of data | 🔄 Refresh Data button in dashboard header |
| Recompute RFM segments | 🔄 Refresh Stats in Customers tab |
| Generate a fresh AI insight | Click ↻ on any insight card |
| Edit a product cost price | Click any value in the Cost/Unit column |
| Sort the product/customer table | Click any underlined column header |
| Filter by margin health | Click the colored pills (All / Good / Warning / Poor / No cost) |
| Filter by customer segment | Click the segment pills in the Customers tab |
REST API Endpoints
| Endpoint | Description |
|---|---|
GET /wooanalytics/v1/dashboard | KPI cards for period |
GET /wooanalytics/v1/sales | Revenue chart data |
GET /wooanalytics/v1/products | Product list with profit metrics |
GET /wooanalytics/v1/profit | Profit summary for period |
POST /wooanalytics/v1/cogs | Save cost prices |
GET /wooanalytics/v1/customers | Customer list with LTV/RFM |
GET /wooanalytics/v1/cohort | Cohort retention data |
GET /wooanalytics/v1/ai-insight | Latest cached insights |
POST /wooanalytics/v1/ai-insight/refresh | Generate fresh insight |
GET /wooanalytics/v1/export/csv | CSV export (type=products|customers) |
All endpoints require authentication via cookie + X-WP-Nonce header with manage_woocommerce capability.
Thank you for using WooAnalytics Pro
We hope this guide helps you make data-driven decisions and grow your WooCommerce store.