Average Order Value
Average Order Value measures the average revenue generated per completed order or purchase transaction. It matters because it helps teams understand monetization efficiency, evaluate merchandising and pricing strategies, and identify opportunities to increase revenue without necessarily increasing traffic.
Business Use Case
An e-commerce merchandising team monitors Average Order Value by device and campaign. If paid social traffic has strong conversion volume but low AOV, the team can test product bundles, cart upsells, free-shipping thresholds, or landing pages featuring higher-margin products to increase revenue per order.
Business Criticality
High
Journey / Navigation Area
Digital Analytics
Scope
Global
Formula
Total Revenue / Total OrdersCalculation Notes
1️⃣ Use completed purchase transactions and deduplicate by unique transaction_id. 2️⃣ Exclude cancelled, refunded, test, fraudulent, or zero-value orders unless included by the business. 3️⃣ Define revenue as gross or net of discounts, tax, shipping, and refunds consistently. 4️⃣ Convert all orders to a reporting currency for multi-currency businesses before aggregation.
Technical Details
Events
| Platform | Event |
|---|---|
| Google Analytics 4 | purchase |
| Adobe | purchase |
Data Mappings
W3 Data Layer
{
"event": "purchase",
"ecommerce": {
"transaction_id": "T12345",
"currency": "USD",
"value": 149.97,
"items": [
{
"item_id": "SKU-001",
"item_name": "Running Shoes",
"price": 99.99,
"quantity": 1
},
{
"item_id": "SKU-002",
"item_name": "Socks",
"price": 24.99,
"quantity": 2
}
]
},
"kpi": {
"average_order_value": 149.97
}
}GA4 Data Layer
{
"event": "purchase",
"ecommerce": {
"transaction_id": "T12345",
"affiliation": "Online Store",
"value": 149.97,
"tax": 12.5,
"shipping": 5.99,
"currency": "USD",
"coupon": "SPRING10",
"items": [
{
"item_id": "SKU-001",
"item_name": "Running Shoes",
"item_category": "Footwear",
"price": 99.99,
"quantity": 1
},
{
"item_id": "SKU-002",
"item_name": "Socks",
"item_category": "Accessories",
"price": 24.99,
"quantity": 2
}
]
}
}Adobe Client Data Layer
{
"event": "purchase",
"commerce": {
"order": {
"purchaseID": "T12345",
"currencyCode": "USD",
"priceTotal": 149.97
},
"productListItems": [
{
"SKU": "SKU-001",
"name": "Running Shoes",
"priceTotal": 99.99,
"quantity": 1
},
{
"SKU": "SKU-002",
"name": "Socks",
"priceTotal": 49.98,
"quantity": 2
}
]
},
"_experience": {
"analytics": {
"customDimensions": {
"eVars": {
"eVar10": "average-order-value"
},
"events": {
"event1": 149.97
}
}
}
}
}XDM Mapping
{
"eventType": "commerce.purchases",
"commerce.order.purchaseID": "transaction_id",
"commerce.order.priceTotal": "ecommerce.value",
"commerce.order.currencyCode": "ecommerce.currency",
"productListItems[].SKU": "ecommerce.items[].item_id",
"productListItems[].name": "ecommerce.items[].item_name",
"productListItems[].priceTotal": "ecommerce.items[].price",
"productListItems[].quantity": "ecommerce.items[].quantity"
}SQL Queries
Google Analytics 4 (BigQuery)
WITH orders AS (SELECT event_date, ecommerce.transaction_id AS transaction_id, ANY_VALUE((SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'purchase_revenue')) AS order_revenue FROM `project.dataset.events_*` WHERE event_name = 'purchase' AND ecommerce.transaction_id IS NOT NULL GROUP BY event_date, transaction_id) SELECT SAFE_DIVIDE(SUM(order_revenue), COUNT(DISTINCT transaction_id)) AS average_order_value FROM orders;Adobe Experience Platform (AEP Query Service)
WITH orders AS (SELECT xdm.eventType, xdm.commerce.order.purchaseID AS transaction_id, ANY_VALUE(xdm.commerce.purchases.value) AS order_revenue FROM dataset WHERE xdm.eventType = 'commerce.purchases' AND xdm.commerce.order.purchaseID IS NOT NULL GROUP BY xdm.eventType, transaction_id) SELECT SUM(order_revenue) / COUNT(DISTINCT transaction_id) AS average_order_value FROM orders;Source Data
Digital Analytics, Business Intelligence, ERP, Order Management SystemDigital Analytics, Business Intelligence, ERP, Order Management System
Dependencies
Prerequisite: List the dependencies required for this KPI
Events:
Metrics:
Report Attributes
Dimensions: Date, Device Category, Channel, Source/Medium, Campaign, Product Category, Country, New vs Returning Customer Metrics: Revenue, Orders, Average Order Value, Items Purchased, Conversion Rate
Recommended Reporting Views
Segment Eligibility
True
Governance
Governance
GitHub
catalog/kpis/average-order-value.yml