Customer Analytics

Overview

↑ Back to top

Customer Analytics for WooCommerce is a powerful analytics extension that provides advanced customer metrics and insights beyond standard WooCommerce reporting. It helps store owners track RFM customer segments, top customers with predicted next-order dates, customer lifetime value, active customer value, cohort retention, repeat purchase rates, churn rates, acquisition sources, and geographic sales distribution to make data-driven decisions about their business.

Key Benefits

↑ Back to top
  • Understand Customer Value: Track lifetime value metrics to identify your most valuable customer segments
  • Monitor Customer Retention: Measure repeat purchase rates and churn to optimize retention strategies
  • Geographic Insights: Analyze sales performance by country to optimize international strategies
  • Flexible Reporting: Filter data by date ranges, customer segments, and behavior patterns
  • Targeted Marketing: Group customers into RFM segments and create coupons for a specific segment in one click
  • Measure Acquisition Quality: Compare lifetime value and repeat rate by the marketing channel that acquired each customer
  • Data Export: Export reports for external analysis and presentation

Requirements

↑ Back to top
  • WordPress: 6.9 or higher
  • WooCommerce: 9.0 or higher
  • WooCommerce HPOS: High-Performance Order Storage must be enabled
  • WooCommerce Analytics: The WooCommerce Analytics feature must be enabled (WooCommerce → Settings → Advanced → Features → Analytics)
  • PHP: 8.3 or higher
  • MySQL: 8.0 or higher
  • Browser: Modern browser with JavaScript enabled

Installation Guide

↑ Back to top

Step-by-Step Installation

↑ Back to top
  1. Download the Plugin — Obtain the customer-analytics.zip file from your purchase receipt or download area
  2. Upload to WordPress — Navigate to WordPress Admin → Plugins → Add New, click “Upload Plugin”, choose the downloaded ZIP file, and click “Install Now”
  3. Activate the Plugin — After installation completes, click “Activate Plugin”. Alternatively, go to Plugins → Installed Plugins and activate Customer Analytics
  4. Verify HPOS is Enabled — Go to WooCommerce → Settings → Advanced → Features and ensure that “High-Performance order storage (recommended)” is enabled. If you recently migrated to HPOS, also enable “Enable compatibility mode (Synchronize orders between High-performance order storage and WordPress posts storage).” Don’t forget to save the settings (you can disable compatibility mode later after confirming that everything works correctly after testing).
  5. Verify WooCommerce Analytics is Enabled — Go to WooCommerce → Settings → Advanced → Features and ensure that “Analytics” is enabled. Customer Analytics adds its reports under the WooCommerce Analytics menu, so this feature must be on for the plugin’s pages to appear. Save the settings.
  6. Initial Configuration — Navigate to WooCommerce → Analytics → Customer Analytics → Settings tab, configure threshold values for customer segmentation, and save your settings

Troubleshooting Installation Issues

↑ Back to top
  • Plugin doesn’t appear after activation: Clear your browser cache and WordPress cache
  • Missing menu items: Ensure your user role has the manage_woocommerce capability
  • JavaScript errors: Check for plugin conflicts by temporarily disabling other plugins

Features & Metrics

↑ Back to top

1. Customer Segments (RFM)

↑ Back to top

Who are my best customers, and who is slipping away?

Location: WooCommerce → Analytics → Customer Analytics → Customer Segments tab

Group customers into actionable segments based on Recency, Frequency, and Monetary value (RFM), then act on them directly — including one-click coupon creation for a chosen segment.

How Scoring Works

Every customer is scored from 1 to 5 on three dimensions:

  • Recency: How recently they last ordered, measured from the end of the selected date range (more recent = higher score)
  • Frequency: How many orders they placed (more orders = higher score)
  • Monetary: How much they spent in total (higher spend = higher score)

By default, scores use quintiles — the customer base is split into five equal groups for each dimension. You can switch to fixed thresholds in Settings instead. Stores with fewer than 50 qualifying customers automatically use fixed thresholds (quintiles are not meaningful for very small datasets), and an on-screen notice indicates when this fallback is active.

The Six Segments

Each customer’s R, F, and M scores map to one of six named segments:

  • Champions: Recent buyers who order often and spend the most — your best customers
  • Loyal: Consistent, repeat buyers with solid spend
  • At Risk: Previously valuable customers who haven’t ordered in a while
  • About to Sleep: Below-average recency and frequency — slipping away
  • Hibernating: Long time since last order, low frequency and spend
  • Lost: Lowest recency, frequency, and monetary scores

Segment Cards & Metrics

A row of cards summarizes each segment with:

  • Customer count: Number of customers in the segment
  • % of revenue: Share of total revenue contributed by the segment
  • Avg LTV: Average total spent per customer in the segment (within the selected date range)

Click any card to filter the customer table to that segment; click it again to clear the filter.

Charts

  • Customers per segment: Bar chart of customer counts across segments
  • Revenue per segment: Bar chart of revenue across segments

RFM is a snapshot of your customer base for the selected period, so these charts compare segments side-by-side rather than showing a time series.

Customer Table

A sortable table lists individual customers with: Name, Email, Segment, Orders, Total spent, Last order, Avg order gap (days), Predicted next order, Overdue, and their R / F / M scores. Use the column menu to show or hide columns, and the Download button to export.

The cadence columns reflect each customer’s own buying rhythm: the average order gap is the time from their first to their last order divided by the number of gaps between orders, the predicted next order is one average gap after their last order, and Overdue shows how far past that prediction they are as a percentage of their own gap (customers not yet due show “Due in N days”). Sort the At Risk segment by Overdue to find the customers furthest past their usual buying pattern — the most precise win-back targets.

Create a Segment Coupon

Once a segment is selected, the Create coupon button generates a WooCommerce coupon restricted to that segment’s customer emails — ideal for win-back or loyalty campaigns. You can set:

  • Discount type: Percentage (default) or fixed cart discount
  • Amount: The discount value
  • Expiry date: Defaults to 14 days from today
  • Coupon code: A suggested code is provided (e.g. WINBACK-ATRISK-20260612) and can be edited

The coupon is limited to one use per customer, and the email list is built on the server from the current segment. After creation, a link takes you straight to the coupon editor.

Important Notes

  • Segments are computed for the selected date range, with recency measured from the end of that range — this is a period-based view, not an all-time/lifetime RFM
  • Avg LTV on the cards is the average total spent per customer within the selected range
  • Order status follows your WooCommerce Analytics settings. The Monetary value subtracts refunds (matching WooCommerce), while Frequency and Recency count real orders only; calculations use order creation date
  • Average order gap, predicted next order, and Overdue require at least two real orders (and an average gap of at least one day); customers without a usable cadence show a dash
  • Customers are grouped by billing email address

Filters

  • Date range selection
  • “Show” dropdown to filter by a single segment (mirrors the clickable cards)
  • Customer role — segment the report by WordPress user role, or select Guests for orders placed without an account

Data Export: CSV download includes every customer in the current view with their email address and segment.

Customer Segments (RFM)
Create a coupon

2. Top Customers

↑ Back to top

Which of my customers are worth the most, and which are overdue for their next order?

Location: WooCommerce → Analytics → Customer Analytics → Top Customers tab

See who your most valuable customers are — as of today or any date in the past. The report ranks customers by lifetime value in a leaderboard, shows how lifetime spend is distributed across your customer base, and predicts each customer’s next order from their own buying rhythm.

What Is Displayed

  • Summary cards: Total customers (with the share who are repeat buyers), Average LTV (with the median), Total LTV (with average order value), and your single top customer
  • LTV distribution histogram: How many customers fall into each lifetime-spend bracket. Brackets use equal, rounded widths sized to where the bulk of your customers sit, with an open-ended top bracket (“≥ …”) that catches outliers — so one very large customer doesn’t flatten the rest of the chart
  • Top customers leaderboard: A sortable table with rank (#), Name, Email, Orders, AOV, Lifetime value, Last order, Recency (days), Avg order gap (days), Predicted next order, and Overdue — sorted by lifetime value by default

How Values Are Measured

The selected date range chooses which customers appear: those whose first order falls in the range (the same acquisition window as the Lifetime Value report). The values themselves are lifetime figures — every order the customer has placed up to the “Values as of” date, which defaults to today. Pin “Values as of” to a past date and the whole report shows what it would have looked like then: who your top customers were, and their spend, recency, and predictions as of that date. A wide date range with the default “Values as of” answers the simplest question — who are my top customers, ever.

Predicted Next Order & Overdue

Each customer’s average order gap is the time from their first to their last order divided by the number of gaps between orders. The predicted next order is one average gap after their last order, and Overdue shows how far past that prediction they are as a percentage of their own gap (a customer not yet due shows “Due in N days”). The prediction requires at least two orders and an average gap of at least one day; customers without a usable cadence show a dash.

Important Notes

  • Refunds are subtracted from lifetime value (a fully refunded order nets to zero), matching WooCommerce
  • Guest orders are grouped by billing email address; calculations use order creation date
  • The rank column (#) is the row’s position under the current sort — it reads as the LTV rank under the default sort and re-ranks when you sort by another column

Filters

  • Date range selection (picks the acquisition window — which customers appear)
  • “Values as of” snapshot date: choose Show → Advanced filters, add the “Values as of” filter, pick a date, and click Filter
  • Customer role — segment the report by WordPress user role, or select Guests for orders placed without an account

Data Export: CSV download of the full leaderboard, including email addresses and the cadence columns

Top Customers

3. Lifetime Value (Customer Lifetime Value / CLV)

↑ Back to top

What is an average customer worth over their lifetime?

Location: WooCommerce → Analytics → Customer Analytics → Lifetime Value tab

Track the average revenue generated by customers over their entire relationship with your store.

Metrics Displayed

  • Average lifetime value: Mean revenue per customer in your store’s currency
  • Acquired customers: Number of customers acquired in each period — those whose first order falls in that interval — and the denominator behind the average lifetime value
  • Average customer tenure (months): Time since each customer’s first order (measured to today), averaged across the segment — defined for every customer, including one-time buyers (shown in the summary; per-period it would only restate the acquisition date, so it is not charted)
  • Expected customer lifespan (months): Textbook expected lifespan = 1 ÷ monthly churn rate, using the saved Churn period as the inactivity threshold (shown in the summary)
  • Expected lifetime value: Textbook expected CLV = average monthly value per customer (lifetime value spread over the customer’s active tenure) × expected lifespan (shown in the summary)

Important Notes

  • Calculations are based on order creation date (not completion or payment date)
  • Refunds are subtracted from each customer’s lifetime value (a fully refunded order nets to zero), matching WooCommerce
  • Guest orders are grouped by billing email address

Also, keep in mind that date shown is the customer’s first order date (acquisition date). All subsequent orders by that customer — regardless of when they occurred — are rolled up into that first-order date’s row.

So if a customer’s first order was Jan 5 and they placed another order Jan 20, both orders appear only under Jan 5. The Jan 20 date shows nothing for this customer because they weren’t “acquired” on Jan 20.

Customer Segmentation

Selectable from dropdown with percentage of each segment displayed:

  • All customers: Complete customer base analysis
  • One-time buyers: Customers with exactly 1 order
  • Repeat customers: Customers with 2–4 orders (configurable)
  • Loyal customers: Customers with 5+ orders (configurable threshold)

Available Filters

  • Date range selection (day, week, month, quarter, year)
  • Customer segment filtering
  • Customer role — segment the report by WordPress user role, or select Guests for orders placed without an account

Data Export: CSV download available for all table data

Lifetime Value

4. Active Customer Value

↑ Back to top

How many of my customers are still active, and what are they worth on average?

Location: WooCommerce → Analytics → Customer Analytics → Active Customer Value tab

Track the size and value of your active customer base over time. At each interval the report looks at the customers who were active within the saved Churn period (default 90 days) and reports how many there are and the average value per active customer — so the trend reflects your currently-engaged base rather than a flat all-time average.

Metrics Displayed

  • Active customers: Number of customers who placed an order within the saved Churn period before each interval — your engaged base, and the headline trend of this report
  • Average value per active customer: Average lifetime spend (to date) of those active customers
  • Average tenure of active customers (months): Average time since first order among the active customers (shown in the summary; the per-interval value largely tracks elapsed calendar time, so it is not charted)

Important Notes

  • Calculations are based on order creation date
  • Refunds are subtracted from lifetime value (a fully refunded order nets to zero), matching WooCommerce
  • Guest orders are grouped by billing email address

Special Features

  • Lookback Period: Configure how many months of historical data to include
  • Historical Tracking: Monitor CLV changes over time
  • Segmentation: Same customer segments as standard CLV report

Configuration Options

  • Loyal customer threshold (default: 5 orders)
  • Lookback period in months (optional, uses all data if empty)
  • Customer role — segment the report by WordPress user role, or select Guests for orders placed without an account
Active Customer Value

Lifetime Value vs. Active Customer Value — Which Report to Use

↑ Back to top

The Lifetime Value and Active Customer Value reports use fundamentally different methodologies, which is why they may show different values for the same date range.

Lifetime Value (Cohort-based)

  • Includes only customers who made their first purchase within the selected date range
  • Tracks their behavior over their entire lifetime (including beyond the report period)
  • Reports each customer’s tenure (time since their first order); one-time buyers are included with their real tenure rather than an estimated value
  • Perspective: Forward-looking cohort analysis — “How valuable are customers acquired in this period?”

Active Customer Value (Snapshot-based)

  • Includes only customers who were active (placed an order within the saved Churn period) at each point in time
  • Shows the size and value of your engaged customer base at each interval, so the trend actually moves
  • Perspective: Health check of the active base — “How many engaged customers do I have right now and how valuable are they?”

Customer Segment Percentages

The two reports also calculate segment percentages (one-time, repeat, loyal) differently:

  • Lifetime Value: Counts all orders each cohort customer has made up to today. Shows how the acquisition cohort has evolved (e.g., “40% of January customers became loyal”).
  • Active Customer Value: Counts each customer’s lifetime orders, but only for customers who were active (placed an order within your churn period) as of the end of the selected date range. Shows the behavior mix of your active base at that point in time (e.g., “25% of your active customers were loyal as of January 2024”).

When to Use Each Report

Use Lifetime Value when you want to:

  • Analyze the quality of customer acquisitions from specific periods
  • Track how cohorts evolve over their entire lifetime
  • Compare acquisition performance across different time periods

Use Active Customer Value when you want to:

  • See historical snapshots of your active customer base
  • Track overall business health over time
  • Understand customer composition at specific points in history

5. Cohort Retention

↑ Back to top

What share of each month’s new customers keeps buying in later months?

Location: WooCommerce → Analytics → Customer Analytics → Cohort Retention tab

See how well you retain the customers you acquire, month by month. Customers are grouped into monthly cohorts by the month of their first order, and the report tracks each cohort’s ordering activity over the following months.

What Is Displayed

  • Cohort retention heatmap: One row per monthly cohort with its size (customers acquired that month) and one column per month offset (M+0, M+1, M+2…). Each cell shows the percentage of the cohort who placed at least one order that many months after acquisition, shaded so retention patterns stand out. M+0 is always 100% (every cohort member ordered in their acquisition month); months a cohort has not reached yet show a dash
  • Average retention by month offset: A chart averaging the cohorts’ retention at each offset — useful for spotting where the typical drop-off happens
  • Summary cards: Customers acquired in the range, number of cohorts, and average M+1 and M+3 retention across cohorts that have reached those offsets

How Retention Is Measured

The selected date range chooses which acquisition months appear as cohort rows. Retention itself is always observed up to today, not just to the end of the range — a cohort acquired within the range gets credit for orders its customers placed after the range ended. A customer counts as retained in month M+N if they placed at least one qualifying order in the Nth calendar month after their acquisition month.

Important Notes

  • A customer belongs to the cohort of their first-ever order — someone who bought before the selected range is never counted as newly acquired within it
  • Calculations use order creation date; fully refunded orders are excluded (a refund isn’t a real purchase), matching the other behavioral reports
  • Guest orders are grouped by billing email address
  • The average retention per offset is an unweighted average across cohorts, so small and large cohorts count equally

Filters

  • Date range selection (picks the acquisition months shown as cohort rows)
  • Customer role — segment the report by WordPress user role, or select Guests for orders placed without an account

Data Export: CSV download of the full cohort matrix (cohort, size, and every M+N column)

Cohort Retention

6. Repeat Purchase Rate

↑ Back to top

What percentage of my customers order more than once in the same period?

Location: WooCommerce → Analytics → Customer Analytics → Repeat Purchase Rate tab

Measure the percentage of customers who make multiple purchases.

Metrics Displayed

  • Repeat purchase rate (%): Percentage of customers with 2+ orders within the period
  • Repeat customers: Absolute count of customers who ordered more than once within the period
  • Total customers: Complete customer count for the period

Important Notes

  • Based on order creation date for tracking customer activity
  • Fully refunded orders are excluded from the analysis
  • Repeat purchase rate in chart/table summary is an overall repeat purchase rate for the selected period

Tip: If you have insufficient data points for the selected interval (e.g., very few daily data points), try selecting a longer interval like “month” instead of “day” for more meaningful analysis.

Analysis Features

  • Time-series visualization of repeat purchase trends
  • Period-over-period comparisons
  • Downloadable data for external analysis

Filters

  • Date range selection
  • Interval grouping (hour, day, week, month, quarter, year)
  • Customer role — segment the report by WordPress user role, or select Guests for orders placed without an account
Repeat Purchase Rate

7. Churn Rate

↑ Back to top

What percentage of my active customers stop buying during a period?

Location: WooCommerce → Analytics → Customer Analytics → Churn Rate tab

Track customer attrition and identify when customers stop purchasing.

Metrics Displayed

  • Churn rate (%): Of the customers active at the start of each period, the percentage lost (stopped purchasing) during that period
  • Churned customers: Number of those start-of-period active customers who became inactive during the period
  • Customers at period start: Customers who were active (purchased within the churn period) at the start of each period — the base the churn rate is measured against

Important Notes

  • Churn calculations use order creation date to determine customer activity periods
  • Fully refunded orders are not counted as valid purchases for churn analysis
  • Churn is order-based, so it works for both one-time and subscription stores — a lapsed subscription shows up as renewal orders stopping
  • The summary above the chart measures churn across the entire selected date range as a single period (of the customers active at the start of the range, the share who had lapsed by its end); it is anchored to the date range, so it stays stable when you change the chart interval (day/week/month)

Churn Period Options

  • 15 days
  • 30 days
  • 60 days
  • 90 days (default)
  • 4 months (120 days)
  • 6 months (180 days)
  • 1 year (365 days)
  • 2 years (730 days)

Analysis Capabilities

  • Trend analysis with reverse trend indicators (lower is better)
  • Period comparison to identify seasonal patterns
  • Customer role — segment the report by WordPress user role, or select Guests for orders placed without an account
Churn Rate

8. Acquisition Sources

↑ Back to top

Which marketing channels bring customers who come back?

Location: WooCommerce → Analytics → Customer Analytics → Acquisition Sources tab

See which marketing channels bring customers who come back. Each customer is attributed to the channel of their first order — the channel that acquired them — using the order attribution data WooCommerce already records, and the report then measures what those customers went on to be worth over their whole relationship with your store.

What Is Displayed

  • Table: One row per acquisition group, at whatever level the “Group by” picker selects, with the customers acquired, their average lifetime value, repeat rate (share with two or more orders), orders per customer, average order value, still-active share, total revenue, and first-order revenue
  • Charts: Customers acquired and average lifetime value, side by side — the group with the most customers is frequently not the group with the most valuable ones. The charts show the twelve largest groups; the table lists them all
  • Summary cards: Customers acquired in the range, their blended average lifetime value, the blended repeat rate, and the best performing group by average lifetime value. To keep that last card meaningful, only groups holding at least 2% of the acquired customers are considered — one big spender in a two-customer group is not a finding — so the card can name a different group than the top row of the table sorted by average lifetime value. The card states the cut-off whenever it excluded anything. On very small stores, where the cut-off would exclude every group, it is dropped and all groups are considered

Group By

  • Channel (default): Campaign / UTM, Organic search, Referral, Direct, Web admin, Mobile app, Point of Sale, or Unknown. “Campaign / UTM” means the customer arrived through a link carrying UTM parameters — email, affiliate and paid ads all land here, so group by Medium to tell them apart
  • Source, Medium, Campaign: The utm values recorded on the acquisition order, for stores that tag their campaigns. Customers with no utm value on their first order fall back to their channel label with the missing level named — “Direct (no source)” under Source, “Direct (no medium)” under Medium — so a fallback row is never mistaken for a source the store actually tagged; under Campaign they are grouped as “No campaign”

How Values Are Measured

The date range is an acquisition window: the customers shown are those whose first order falls inside it. Every figure is then a lifetime figure for those customers, measured up to the end of the range — so widening the range adds customers, and moving its end forward gives the customers already included more time to buy again. “Still active” means the customer ordered within the saved Churn period counted back from the range end.

Important Notes

  • Attribution is taken from the first order only. A customer acquired through a paid campaign stays in that source even if they later arrive directly
  • WooCommerce records the source of an order only while its Order Attribution feature is active, so older orders carry none and those customers are grouped as “Unknown”. The report shows the share of customers that have attribution data and displays a notice when it is low
  • This is a money report: refunds are subtracted from revenue, matching WooCommerce, while order counts and dates stay over real orders
  • Guest orders are grouped by billing email address
  • WooCommerce’s own Order Attribution report counts orders by their own source; this report counts customers by the source that acquired them, so the two are not expected to match row for row

Filters

  • Date range selection (picks which customers were acquired)
  • Group by: Channel, Source, Medium, or Campaign
  • Customer role — segment the report by WordPress user role, or select Guests for orders placed without an account

Data Export: CSV download of the full source breakdown

Acquisition Sources

9. Countries

↑ Back to top

Which countries bring the most sales, and what do they buy?

Location: WooCommerce → Analytics → Customer Analytics → Countries tab

Analyze sales performance across different geographic regions.

Metrics Displayed

  • Items sold: Product quantity by country
  • Net sales: Net product revenue (gross sales minus coupons) with refunds subtracted, matching WooCommerce Analytics → Products, Analytics → Categories, and Analytics → Revenue methodology
  • Orders: Total order count per country

View Modes

  • All countries: Overview of all countries with sales
  • Single country: Deep dive into one country’s performance
  • Comparison: Compare multiple countries side-by-side

Advanced Features

  • Product segmentation for single country view (top 10 products)
  • Customer role — segment the report by WordPress user role, or select Guests for orders placed without an account

Note: Country is determined by billing address, not shipping address.

Countries - products
Countries - compare

Settings & Configuration

↑ Back to top

Accessing Settings

↑ Back to top

Navigate to WooCommerce → Analytics → Customer Analytics → Settings tab in your WordPress admin menu.

Available Settings

↑ Back to top

1. Lifetime Value loyal customers threshold

  • Purpose: Define the minimum number of orders for a customer to be considered “loyal”
  • Default Value: 5
  • Impact: Affects customer segmentation in Lifetime Value reports

2. Active Customer Value loyal customers threshold

  • Purpose: Set loyal customer threshold specifically for trends report
  • Default Value: 5
  • Impact: Affects customer segmentation in Active Customer Value reports

3. Active Customer Value lookback period

  • Purpose: Filters which customers to include based on when they were acquired (first purchase date)
  • Default Value: Empty (includes all historical customers)
  • Format: Number of months (e.g., “36” for 3 years)
  • Impact: Only includes customers who made their first purchase within X months before the report start date; affects customer segment percentages by excluding customers whose first purchase was before the lookback cutoff; can improve performance by reducing data processing scope
  • When to Use: When you want to analyze only recently acquired customers; when older customer cohorts had significantly different behavior patterns; for performance optimization with very large datasets
  • Example: With a 12-month lookback and report date range of January 2024, only includes customers who made their first purchase after January 2023
  • Note: The lookback period is calculated from the report START date, not the end date
  • Period Comparisons: When comparing periods (e.g., Year to date vs. Previous year), the lookback is applied independently to each period. This means you’re comparing “recent customers from 2024” vs. “recent customers from 2023” rather than the same customer cohort across both periods

Churn period (days)

  • Purpose: Number of days without a qualifying order after which a customer is considered churned (the inactivity threshold)
  • Default Value: 90
  • Impact: Sets the default churn period for the Churn Rate report, drives the Expected customer lifespan and Expected lifetime value shown in the Lifetime Value report (lifespan = 1 ÷ monthly churn), and defines which customers count as “active” in the Active Customer Value report and in the Acquisition Sources report’s “Still active” column. The Churn Rate report’s on-page “Churn period” dropdown still lets you explore other periods for that report

4. Customer Segments scoring mode

  • Purpose: Choose how Recency, Frequency, and Monetary scores are calculated in the Customer Segments (RFM) report
  • Options: Quintile (splits the customer base into five equal groups per dimension) or Fixed (uses the threshold boundaries below)
  • Default Value: Quintile
  • Note: Stores with fewer than 50 qualifying customers always use fixed thresholds, regardless of this setting

5. Customer Segments recency thresholds

  • Purpose: Day boundaries that map days-since-last-order to a 1–5 recency score in Fixed mode (and in the small-store fallback)
  • Default Value: 30,60,90,180 (≤30 days ⇒ score 5, >180 days ⇒ score 1)
  • Format: Exactly four comma-separated, ascending numbers (days)

6. Customer Segments frequency thresholds

  • Purpose: Order-count boundaries that map number of orders to a 1–5 frequency score in Fixed mode (and in the small-store fallback)
  • Default Value: 1,2,3,5 (more orders ⇒ higher score)
  • Format: Exactly four comma-separated, ascending numbers (orders)

7. Customer Segments monetary thresholds

  • Purpose: Spend boundaries that map total spent to a 1–5 monetary score in Fixed mode (and in the small-store fallback)
  • Default Value: 50,100,250,500 (in your store currency; higher spend ⇒ higher score)
  • Format: Exactly four comma-separated, ascending numbers

Best Practices for Configuration

↑ Back to top
  • Start with defaults: The default values work well for most stores
  • Adjust based on your business: e.g., B2B stores might use higher thresholds
  • Monitor performance: Use lookback periods for stores with extensive history
  • Consistency: Keep thresholds aligned between related reports
Settings

Usage Guide

↑ Back to top

Accessing the Analytics Dashboard

↑ Back to top
  1. Main Navigation: Find “WooCommerce → Analytics → Customer Analytics” in your WordPress admin menu
  2. Submenu Access: Click any report from the dropdown menu
  3. Direct URLs: Bookmark specific reports for quick access

Navigating Reports

↑ Back to top

Date Range Selection

  1. Click the date picker in the top toolbar
  2. Choose from presets (Today, Year to date, Last month, etc.)
  3. Or select custom date range
  4. Click “Update” to refresh data

Applying Filters

  1. For Customer Segments, click a segment card or use the “Show” dropdown to filter the table to a single segment
  2. For Top Customers, the date range picks which acquired customers appear; use the “Show” dropdown → Advanced filters to add a “Values as of” date that pins all values to a past snapshot (defaults to today)
  3. Use the “Show” dropdown to select customer segments (Lifetime Value and Active Customer Value reports)
  4. For Cohort Retention, the date range picks which acquisition months appear as cohort rows; retention is always tracked up to today
  5. For Repeat Purchase Rate, use the date range and interval grouping to set the period each rate is measured over
  6. For Churn Rate, select the churn period to define customer inactivity threshold
  7. For Acquisition Sources, the date range picks which customers were acquired; their lifetime values are measured up to the end of the range
  8. For Acquisition Sources, use the “Group by” dropdown to switch between Channel, Source, Medium and Campaign
  9. For Countries report, choose between All/Single/Comparison view modes
  10. Every report has a “Customer role” filter — segment by WordPress user role, or select Guests for orders placed without an account; the selection stays applied when you switch report tabs
  11. Filters automatically update charts and tables when changed

Understanding Charts

  • Hover for details: Mouse over data points for specific values
  • Legend interaction: Click legend items to show/hide data series

Customizing Reports

↑ Back to top

Column Management

  1. Click the ellipsis menu in table headers
  2. Select “Columns” to show/hide specific columns
  3. Changes persist in your user preferences

Sorting Data

  1. Click any column header to sort by that metric
  2. Click again to reverse sort order
  3. Default sort varies by report type

Exporting Data

↑ Back to top

CSV Export

  1. Locate the “Download” button above any data table
  2. Click to generate CSV file
  3. File includes all visible columns and rows
  4. Use Excel, Google Sheets, or other tools for analysis

Data Requirements for Reliable Analytics

↑ Back to top

Minimum Data

↑ Back to top

You need at least 100 customers and 3–6 months of order data for meaningful analytics.

Better Results With

↑ Back to top
  • More customers: 300+ customers produce more accurate metrics
  • More history: 12+ months of data reveals real trends
  • Regular purchases: Weekly or monthly buyers generate more reliable patterns than yearly buyers

Warning Signs Your Data May Be Insufficient

↑ Back to top
  • Metrics fluctuating wildly between intervals (30%+ changes)
  • A single large customer is significantly skewing the results
  • Fewer than 30 customers in a given report period
  • Analysis period shorter than your typical customer purchase cycle

In general, More data leads to more reliable insights.

Avoiding Recency Bias

↑ Back to top

Recency bias occurs when recent customers appear less valuable simply because they haven’t had enough time to demonstrate their full behavior patterns — not because they’re actually worse customers.

Exclude Recent Data from Business Decisions

↑ Back to top

The exclusion period should match your typical customer purchase cycle:

Purchase CycleExclusion PeriodExample
Weekly30 daysGroceries, consumables
Monthly60 daysSubscription boxes, regular services
Quarterly90 daysSeasonal products, B2B supplies
Bi-annual180 daysFashion, electronics
Annual365 daysInsurance, enterprise software

Best Practices

↑ Back to top
  • Match analysis period to purchase cycle: Weekly purchase products should be analyzed over quarterly periods; monthly products over yearly periods
  • Use complete periods only: Analyze full months or quarters that ended at least one purchase cycle ago, rather than partial periods
  • Compare like with like: Compare January 2024 to January 2023 — not an incomplete current week to a complete prior month

Key principle: The more recent the data, the less reliable the metrics. When you see concerning trends in recent data, wait at least one full purchase cycle before taking action.

Data Accuracy

↑ Back to top
  • Order Status: Only includes orders based on WooCommerce Analytics settings
  • Refunded Orders: Money reports (Lifetime Value, Active Customer Value, Countries, Top Customers, Acquisition Sources, and the Customer Segments monetary value) subtract refunds, matching WooCommerce; behavioral reports (Churn Rate, Repeat Purchase Rate, Cohort Retention) exclude fully refunded orders as non-purchases
  • Date Calculations: All metrics use order creation date (not completion or payment date)
  • Net sales (Countries): Net product revenue (gross sales minus coupons) with refunds subtracted, matching WooCommerce’s Revenue, Products, and Categories reports
  • Acquisition Attribution: The source shown for a customer is taken from their first order, using the order attribution data WooCommerce records; customers whose first order carries none are grouped as “Unknown”
  • Guest Orders: Grouped by billing email for CLV calculations
  • Customer Role: Selecting a role limits every figure to customers who hold that role now; guest orders have no user account and appear only under “Guests”, so role-filtered totals do not add up to the unfiltered totals
  • Customer Segments (RFM): Scored for the selected date range, with recency measured from the end of the range; Avg LTV is the average total spent per customer within that range

Troubleshooting & FAQ

↑ Back to top

Common Issues and Solutions

↑ Back to top

Reports Show No Data

  • Cause: No orders in the selected date range, no HPOS, WooCommerce Analytics disabled
  • Solution 1: Expand the date range or verify that order data exists. You may be viewing CLV data for repeat customers within a period that contains only repeat purchases (see Important Notes in the Lifetime Value section)
  • Solution 2: Check that HPOS is enabled and synced (see Step-by-Step Installation section)
  • Solution 3: If the Acquisition Sources report puts every customer in a single “Unknown” row, those customers’ first orders carry no attribution data — orders placed before WooCommerce’s Order Attribution feature was active never recorded a source. The notice on the report states what share of customers have attribution data

Slow Report Loading

  • Cause: Large dataset without lookback period
  • Solution: Set the Active Customer Value lookback period in settings

Incorrect Currency Display

  • Cause: WooCommerce currency settings
  • Solution: Verify currency in WooCommerce → Settings → General

Missing Customer Analytics Menu

  • Cause: Insufficient user permissions
  • Solution: Ensure user has manage_woocommerce capability
  • Cause: WooCommerce Analytics feature is disabled
  • Solution: Enable it at WooCommerce → Settings → Advanced → Features → Analytics, then reload the page

Chart Not Displaying

  • Cause: JavaScript error or conflict
  • Solution: Check browser console, disable conflicting plugins

Error Message: “There was an error getting your stats. Please try again.”

  • Cause: The error occurs when there’s a problem with your current session
  • Solution: Refresh the page and re-authenticate with WordPress if prompted

Frequently Asked Questions

↑ Back to top

Can I customize the customer segment thresholds?

Yes, through WooCommerce → Analytics → Customer Analytics → Settings tab, you can adjust loyal customer thresholds, as well as the scoring mode and threshold boundaries for the Customer Segments (RFM) report.

How are RFM segments calculated?

Each customer is scored 1–5 on Recency (how recently they ordered, relative to the end of the selected date range), Frequency (number of orders), and Monetary value (total spent). By default these scores use quintiles (five equal groups), or you can configure fixed thresholds in Settings. The combined scores map each customer to one of six segments: Champions, Loyal, At Risk, About to Sleep, Hibernating, and Lost. Stores with fewer than 50 qualifying customers automatically use fixed thresholds.

How is the predicted next order date calculated?

From each customer’s own buying rhythm: their average order gap is the time from their first to their last order divided by the number of gaps between orders, and the predicted next order is one average gap after their last order. The Overdue column shows how far past that prediction they are as a percentage of their own gap. The prediction requires at least two orders and an average gap of at least a day; customers without a usable cadence show a dash. These columns appear in both the Customer Segments and Top Customers reports.

What does the Acquisition Sources report show?

It shows which marketing channels bring customers who come back. Each customer is attributed to the channel of their first order — the channel that acquired them — and the report then reports that group’s lifetime value, repeat rate, orders per customer, average order value, still-active share, and first-order revenue against lifetime revenue. You can group the rows by channel (Campaign / UTM, Organic search, Referral, Direct and so on) or by utm source, medium, or campaign. WooCommerce’s own attribution report is order-level and answers which channel made a sale; this one answers what the customers that channel brought turned out to be worth.

Why are some customers grouped as “Unknown” in Acquisition Sources?

Because their first order carries no attribution data. WooCommerce records the source of an order only while its Order Attribution feature is active, so orders placed before that — including older order history — have none. When only a small share of the customers in range carry attribution data, the report displays a notice stating that share, so an “Unknown” row is never mistaken for a fault.

Can I create a marketing coupon for a customer segment?

Yes. In the Customer Segments report, select a segment and click “Create coupon” to generate a WooCommerce coupon restricted to that segment’s customer emails (limited to one use per customer). It’s a quick way to launch win-back or loyalty campaigns. Note that the coupon matches the email used at checkout and is a snapshot of the segment at the time it is created.

Does this work with subscription products?

Subscription orders from WooCommerce Subscriptions are included in the calculations like regular orders.

What determines a “churned” customer?

Within any period, a customer is counted as churned if they were active at the start of the period — they had placed an order within your configured churn period (default 90 days) — but had no qualifying order by the period’s end, meaning they crossed the inactivity threshold during that period.

How often is data updated?

Reports use current data from your WooCommerce database.

Can multiple users access reports simultaneously?

Yes, multiple users can view reports at the same time.

Can I filter reports by customer role?

Yes. Every report has a “Customer role” filter, so you can compare wholesale, retail or any other role across lifetime value, retention, churn and the rest. Select Guests to see orders placed without an account. The selection stays applied as you move between reports, and the CSV export follows it. Roles are read as they stand today — WordPress keeps no record of past role changes — so a customer moved to a different role appears under their new role for their whole order history.

Known Limitations

↑ Back to top
  • Maximum 100 items per page in data tables
  • Country reports based on billing country (not shipping)
  • Guest customer grouping relies on billing email accuracy
  • Customer Segments (RFM) are computed for the selected date range (recency is measured from the end of the range), not all-time — different date ranges produce different segments
  • Cohort Retention shows at most the 36 most recent monthly cohorts and 24 month offsets (M+0 through M+24); an on-screen notice indicates when a longer range is truncated
  • Predicted next order and Overdue require at least two real orders and an average order gap of at least one day; customers without a usable cadence show a dash
  • The Top Customers rank (#) is the row’s position under the current sort, not a stable all-time rank
  • Acquisition Sources can only attribute orders that carry WooCommerce’s order attribution data, which is recorded from the moment that feature is active — customers whose first order predates it are grouped as “Unknown”, and the report says so when only a small share of the customers in range carry it
  • Acquisition Sources attributes each customer by their first order only; a customer acquired through one channel stays in that channel even if they later arrive through another
  • The Acquisition Sources charts plot the twelve largest groups so the bars stay readable; the table below them lists every group
  • Segment coupons match the email entered at checkout (billing email); a customer who checks out with a different email than their order history will not match
  • Segment coupons are a point-in-time snapshot taken at creation — they do not update as customers move between segments
  • Each segment coupon includes at most 5,000 emails (the top customers by total spent)
  • Creating a coupon requires coupon-publishing capability (Shop Manager or Administrator)
  • The customer role filter reads each customer’s current WordPress role — WordPress keeps no record of past role changes, so a customer moved to a different role is shown under their new role for all of their past orders

Feedback

↑ Back to top

We welcome your feedback to help shape development. Please report bugs or suggest features through our contact form. When reporting issues, include your WooCommerce version, store size, and any error messages to help us assist you better.

Related Products

Let customers subscribe to your products or services and pay on a weekly, monthly or annual basis.

Offer add-ons like gift wrapping, special messages or other special options for your products.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.