WooCommerce is the most widely used ecommerce platform, powering over 4 million online stores worldwide. Whether you're using WooCommerce's built-in Analytics dashboard, pulling data through the REST API, or exporting reports for external analysis, understanding every available dimension and metric is essential for making data-driven decisions about your store.
This guide covers every dimension and metric available in WooCommerce as of 2026. We've organized them by category — orders, customers, products, coupons, taxes, shipping, and refunds — with API field names and practical context on when each metric matters for store optimization.
What Are Dimensions vs Metrics in WooCommerce?
In WooCommerce's data model, dimensions are descriptive attributes that categorize and segment your data — like order status, payment method, product category, customer country, or coupon type. They define the rows and filters in your reports.
Metrics are the numbers that measure what happened — total sales, net revenue, items sold, refund amounts, average order value. They tell you how your store performed over a given period.
WooCommerce's built-in Analytics (introduced in WooCommerce 4.0) provides several report views: Revenue, Orders, Products, Categories, Coupons, Taxes, Downloads, and Stock. The REST API exposes these same data points programmatically, making it possible to build custom dashboards and integrate with external tools.
Order Dimensions
Order dimensions describe the attributes of each transaction in your store. These fields identify the order, its current state, how it was paid for, and when it was placed. They form the foundation of all revenue and transaction analysis.
| Dimension | API Field | Description |
|---|---|---|
| Order ID | id | Unique numeric identifier for the order |
| Order Number | number | Sequential order number (may differ from ID if customized by plugins) |
| Order Status | status | Current order state: pending, processing, on-hold, completed, cancelled, refunded, failed, trash |
| Date Created | date_created | Timestamp when the order was placed by the customer |
| Date Completed | date_completed | Timestamp when the order status was set to completed |
| Date Paid | date_paid | Timestamp when the payment was received and confirmed |
| Date Modified | date_modified | Timestamp of the last modification to the order |
| Payment Method | payment_method | Payment gateway used: stripe, paypal, bacs (bank transfer), cod (cash on delivery), etc. |
| Payment Method Title | payment_method_title | Human-readable payment method name displayed to the customer |
| Shipping Method | shipping_lines[].method_id | Shipping method used: flat_rate, free_shipping, local_pickup, etc. |
| Shipping Method Title | shipping_lines[].method_title | Human-readable shipping method name (e.g., "Standard Shipping", "Express Delivery") |
| Currency | currency | ISO 4217 currency code for the order (USD, EUR, GBP, etc.) |
| Order Source | created_via | How the order was created: checkout, admin, rest-api, or import |
| Customer Note | customer_note | Note left by the customer during checkout |
| Cart Hash | cart_hash | MD5 hash of the cart contents — used for order deduplication |
Customer Dimensions
Customer dimensions describe who is buying from your store. These fields identify individual customers, their location, registration status, and relationship with your business. Segmenting by customer dimensions reveals patterns in buyer behavior and helps target retention efforts.
| Dimension | API Field | Description |
|---|---|---|
| Customer ID | customer_id | WordPress user ID (0 for guest customers) |
| Customer Email | billing.email | Billing email address — primary customer identifier for guest orders |
| First Name | billing.first_name | Customer's first name from billing details |
| Last Name | billing.last_name | Customer's last name from billing details |
| Billing Country | billing.country | Customer's billing country (ISO 3166-1 alpha-2 code) |
| Billing State | billing.state | State or province from billing address |
| Billing City | billing.city | City from the billing address |
| Billing Postcode | billing.postcode | Postal or ZIP code from the billing address |
| Shipping Country | shipping.country | Shipping destination country (may differ from billing) |
| Shipping State | shipping.state | State or province for shipping destination |
| Guest vs Registered | customer_id | customer_id = 0 indicates a guest checkout; positive ID means registered user |
| Customer Role | role | WordPress user role: customer, subscriber, or custom roles |
| Date Registered | date_created | When the customer account was created |
| Date Last Active | date_last_active | Most recent activity timestamp for the customer |
Product Dimensions
Product dimensions describe the items in your catalog and their attributes. These fields are critical for merchandising analysis — understanding which products sell, how inventory moves, and which categories drive the most revenue.
| Dimension | API Field | Description |
|---|---|---|
| Product ID | id | Unique WordPress post ID for the product |
| Product Name | name | Display name of the product as shown to customers |
| SKU | sku | Stock keeping unit — unique product identifier for inventory management |
| Product Type | type | Product classification: simple, variable, grouped, external, or virtual |
| Product Status | status | Publication state: publish, draft, pending, or private |
| Category | categories[].name | Product categories assigned for organization and navigation |
| Tags | tags[].name | Product tags for additional grouping and filtering |
| Price | price | Current active price (sale price if on sale, otherwise regular price) |
| Regular Price | regular_price | Full price before any sale discounts |
| Sale Price | sale_price | Discounted price when the product is on sale |
| On Sale | on_sale | Whether the product is currently on sale (boolean) |
| Stock Status | stock_status | Current inventory state: instock, outofstock, or onbackorder |
| Stock Quantity | stock_quantity | Number of units currently in inventory (when stock management is enabled) |
| Weight | weight | Product weight for shipping calculations |
| Shipping Class | shipping_class | Shipping class for grouping products with similar shipping requirements |
| Variation ID | variations[] | IDs of product variations (for variable products — size, color, etc.) |
| Attributes | attributes[].name | Custom product attributes (e.g., Color, Size, Material) |
| Featured | featured | Whether the product is marked as featured (boolean) |
Coupon Dimensions
Coupon dimensions describe the promotional codes applied to orders. These fields help you track the effectiveness of your discount strategies, identify which coupons drive the most orders, and measure the revenue impact of promotions.
| Dimension | API Field | Description |
|---|---|---|
| Coupon ID | id | Unique identifier for the coupon |
| Coupon Code | code | The coupon code string entered by customers at checkout |
| Discount Type | discount_type | Type of discount: percent, fixed_cart, or fixed_product |
| Amount | amount | Discount value (percentage or fixed amount depending on type) |
| Free Shipping | free_shipping | Whether the coupon grants free shipping (boolean) |
| Usage Limit | usage_limit | Maximum total number of times the coupon can be used |
| Usage Limit Per User | usage_limit_per_user | Maximum times a single customer can use the coupon |
| Usage Count | usage_count | Number of times the coupon has been used so far |
| Date Expires | date_expires | Expiration date after which the coupon becomes invalid |
| Minimum Spend | minimum_amount | Minimum order subtotal required to use the coupon |
| Maximum Spend | maximum_amount | Maximum order subtotal for the coupon to apply |
| Individual Use Only | individual_use | Whether the coupon cannot be combined with other coupons (boolean) |
Core Metrics: Sales, Orders, and AOV
These are the fundamental metrics that measure your store's revenue performance. They answer the most basic questions about your business: How much are you selling? How many orders are you processing? What is the average transaction size?
| Metric | API Field | Description | Formula / Notes |
|---|---|---|---|
| Total Sales | total_sales | Gross revenue from all orders in the period | Sum of all order totals including tax and shipping |
| Net Sales | net_revenue | Revenue after subtracting refunds, coupons, taxes, and shipping | Total Sales - Refunds - Coupons - Taxes - Shipping |
| Orders Count | orders_count | Total number of orders placed in the period | Counts all order statuses except trash by default |
| Items Sold | num_items_sold | Total quantity of product units sold | Sum of line item quantities across all orders |
| Average Order Value (AOV) | avg_order_value | Average revenue per order | Net Sales ÷ Orders Count |
| Average Items per Order | avg_items_per_order | Average number of items in each order | Items Sold ÷ Orders Count |
| Gross Discount | coupons | Total discount amount from all coupons applied | Sum of coupon discounts across all orders |
| Coupon Count | coupons_count | Number of coupons used in the period | Count of unique coupon applications |
Customer Metrics
Customer metrics measure the behavior and value of your buyers. Understanding who your customers are, how often they return, and how much they spend over their lifetime is essential for retention strategies, email marketing, and loyalty programs.
| Metric | API Field | Description | Formula / Notes |
|---|---|---|---|
| New Customers | new_customers | Customers placing their first order in the period | No prior orders in the WooCommerce database |
| Returning Customers | returning_customers | Customers who have placed at least one previous order | At least one prior completed order exists |
| Total Customers | customers_count | Unique customers who placed orders in the period | Deduplicated by customer email or user ID |
| Customer Lifetime Value (CLV) | total_spend | Cumulative revenue from all orders by a single customer | Sum of all order totals for the customer across their entire history |
| Orders per Customer | orders_count | Total number of orders placed by a specific customer | Higher values indicate stronger loyalty and repeat purchase behavior |
| Average CLV | avg_total_spend | Average lifetime value across all customers | Total Revenue ÷ Total Unique Customers |
| Average Orders per Customer | avg_orders_count | Average number of orders per customer | Total Orders ÷ Total Unique Customers |
| Customer Acquisition Rate | new_customers_rate | Percentage of orders from new customers | (New Customers ÷ Total Customers) × 100 |
| Repeat Purchase Rate | returning_customers_rate | Percentage of orders from returning customers | (Returning Customers ÷ Total Customers) × 100 |
| Days Between Orders | avg_days_between_orders | Average number of days between a customer's consecutive orders | Useful for determining email and retargeting cadence |
Product Metrics
Product metrics measure how individual items in your catalog perform. These numbers tell you which products sell the most, which generate the most revenue, and how inventory is moving — essential for merchandising, purchasing, and promotional decisions.
| Metric | API Field | Description | Formula / Notes |
|---|---|---|---|
| Units Sold | items_sold | Total quantity of this product sold in the period | Sum of line item quantities for this product across all orders |
| Product Revenue | net_revenue | Net revenue generated by this product | Sum of line item totals minus refunds for this product |
| Orders Containing Product | orders_count | Number of orders that include this product | Count of distinct orders with this product in line items |
| Average Revenue per Unit | avg_revenue_per_unit | Average revenue generated per unit sold | Product Revenue ÷ Units Sold |
| Product Views | views | Number of times the product page was viewed | Requires analytics integration — not natively tracked by WooCommerce |
| Product Conversion Rate | conversion_rate | Percentage of product page views that resulted in a purchase | (Units Sold ÷ Product Views) × 100 — requires analytics integration |
| Category Revenue | net_revenue | Net revenue for all products in a category | Aggregated across all products assigned to the category |
| Category Items Sold | items_sold | Total units sold across all products in a category | Sum of items_sold for all products in the category |
| Stock Level | stock_quantity | Current inventory count for the product | Updated automatically as orders are placed and restocked |
| Low Stock Threshold | low_stock_amount | Quantity at which the product is flagged as low stock | Triggers notification emails when stock falls below this level |
Tax and Shipping Metrics
Tax and shipping metrics track the additional components of order totals beyond product revenue. These are essential for financial reconciliation, profit margin calculations, and understanding the true cost structure of your orders.
| Metric | API Field | Description | Formula / Notes |
|---|---|---|---|
| Total Tax | total_tax | Total tax collected across all orders | Sum of product tax and shipping tax |
| Order Tax | order_tax | Tax on product line items (excluding shipping tax) | Calculated based on tax rates and customer location |
| Shipping Tax | shipping_tax | Tax on shipping charges | Separate from product tax in jurisdictions that tax shipping |
| Tax Rate Name | tax_lines[].rate_id | Dimension: specific tax rate applied (e.g., "US-CA-STATE-TAX") | Links to tax rate configuration in WooCommerce settings |
| Tax Rate Percentage | tax_lines[].rate_percent | The tax rate percentage applied | E.g., 10.0 for a 10% tax rate |
| Total Shipping | shipping_total | Total shipping charges collected across all orders | Sum of shipping line totals excluding shipping tax |
| Shipping per Order | avg_shipping | Average shipping charge per order | Total Shipping ÷ Orders Count |
| Free Shipping Orders | free_shipping_orders | Number of orders with zero shipping charges | Includes coupon-based free shipping and threshold-based free shipping |
| Free Shipping Rate | free_shipping_rate | Percentage of orders with free shipping | (Free Shipping Orders ÷ Total Orders) × 100 |
Refund Metrics
Refund metrics measure returns and their financial impact on your store. Tracking refunds at both the order and product level helps you identify problematic products, manage cash flow, and improve customer satisfaction by addressing the root causes of returns.
| Metric | API Field | Description | Formula / Notes |
|---|---|---|---|
| Total Refunds | refunds | Total monetary value of all refunds issued | Sum of all refund amounts in the period |
| Refund Count | refunds_count | Number of refund transactions processed | Includes both full and partial refunds |
| Refund Rate | refund_rate | Percentage of orders that received a refund | (Refund Count ÷ Orders Count) × 100 |
| Average Refund Amount | avg_refund | Average monetary value per refund | Total Refunds ÷ Refund Count |
| Refund Reason | reason | Dimension: reason for the refund (if provided by admin) | Free-text field — requires manual categorization for analysis |
| Refunded Items | refunded_item_count | Total quantity of product units refunded | Sum of refunded line item quantities |
| Product Refund Rate | product_refund_rate | Percentage of units sold that were refunded for a specific product | (Refunded Units ÷ Units Sold) × 100 per product |
| Net Refund Impact | net_refund_impact | Total refunds as a percentage of total sales | (Total Refunds ÷ Total Sales) × 100 |
How to Use WooCommerce Metrics for Store Optimization
With dozens of metrics available, knowing which ones to focus on depends entirely on your current business goals. Here's a practical framework for selecting the right WooCommerce metrics for different optimization objectives.
For revenue growth
Monitor total sales, net sales, orders count, and AOV as your primary dashboard. Break down net sales by product category to identify your highest-revenue categories. Track AOV trends weekly — if AOV is declining, investigate whether discounting or product mix changes are the cause. To grow revenue, focus on either increasing order volume (more customers) or increasing AOV (higher spend per order).
For customer retention
Track repeat purchase rate, customer lifetime value, days between orders, and orders per customer. Segment customers into new vs returning and compare their AOV — returning customers typically spend 15-30% more per order. Use the days between orders metric to time your email and retargeting campaigns for maximum impact.
For merchandising optimization
Use product revenue, units sold, and average revenue per unit to identify your top performers. Cross-reference with stock levels and low stock thresholds to prevent stockouts on popular items. Track category revenue trends monthly to spot shifts in customer demand and adjust your product mix accordingly.
For reducing returns
Monitor refund rate overall and product refund rate at the item level. A healthy ecommerce refund rate is typically 5-10% — anything above 15% signals a product quality or description accuracy issue. Identify products with the highest refund rates and investigate whether the issue is sizing information, photo accuracy, quality expectations, or shipping damage.
For coupon strategy
Track coupon usage count, gross discount as a percentage of total sales, and the AOV of orders with coupons vs. orders without. If coupon orders have significantly lower AOV, your coupons may be cannibalizing full-price revenue rather than driving incremental sales. Test minimum spend thresholds to maintain AOV while still offering attractive discounts.
Common Mistakes When Analyzing WooCommerce Data
Even experienced ecommerce operators make these mistakes when working with WooCommerce metrics. Avoiding them will lead to more accurate analysis and better business decisions.
1. Confusing total sales with net sales
Total sales includes taxes, shipping, and amounts that were later refunded. Using it as your "revenue" number inflates actual business income. Always use net sales for revenue analysis and financial reporting. The difference between total and net can be 15-30% depending on your tax rates and refund volume.
2. Counting cancelled orders in metrics
WooCommerce includes all order statuses in some default counts. Orders with status "cancelled", "failed", or "refunded" should typically be excluded when calculating active metrics like AOV and conversion rate. Always filter by relevant statuses (processing, completed, on-hold) for accurate performance metrics.
3. Ignoring guest customers in CLV analysis
Guest customers (customer_id = 0) are matched by email address, but if the same person uses different email addresses, their orders appear as separate customers. This can undercount returning customer rates and underestimate lifetime values. Consider requiring account creation or using an email deduplication strategy.
4. Using product views without analytics integration
WooCommerce does not natively track product page views. Any product conversion rate calculations require an external analytics tool like Google Analytics. Using the "views" column from some WooCommerce plugins may count bot traffic or have different definitions than your analytics platform.
5. Not accounting for timezone differences
WooCommerce stores timestamps in the site's configured timezone. If your ad platforms use UTC, daily revenue totals will not align directly — orders near midnight will fall into different days depending on which system you check. Always align timezone settings when comparing WooCommerce data with ad platform data.
6. Averaging AOV across different currencies
If your store accepts multiple currencies, averaging AOV across all currencies produces meaningless numbers. Always filter by currency or convert to a single base currency before calculating averages and totals. Multi-currency plugins may store the original currency in custom meta fields.
