Checkout Conversion Rate
Also known as: Checkout Completion Rate, Purchase Conversion
Measures the percentage of initiated checkouts that result in a completed order, indicating the effectiveness of the checkout process in converting potential buyers.
Business Use Case
An e-commerce VP and analytics team monitor this KPI to identify and address issues in the checkout process, such as form friction or payment failures, to improve conversion rates.
Business Criticality
High
Journey / Navigation Area
Checkout
Owning Function
Data Architecture Team
Scope
User
Formula
(Completed Checkouts / Initiated Checkouts) × 100Calculation Notes
1️⃣ Exclude retries, test, canceled, fraudulent, duplicate, and fully refunded orders. 2️⃣ Use a consistent session key for tracking. 3️⃣ Apply a 30-minute inactivity timeout for sessions. 4️⃣ Attribute completion to the same checkout instance. 5️⃣ Allow attribution within 24 hours of initiation.
Technical Details
Events
| Platform | Event |
|---|---|
| Google Analytics 4 | checkout_conversion_rate |
| Adobe | checkout_conversion_rate |
Data Mappings
W3 Data Layer
{
"event": "checkout_conversion_rate",
"digitalData": {
"event": [
{
"eventInfo": {
"eventName": "checkout_conversion_rate",
"kpiName": "Checkout Conversion Rate"
}
}
],
"cart": {
"price": {
"currency": "USD",
"basePrice": 99.99
},
"cartID": "CART-12345"
},
"transaction": {
"transactionID": "T-12345",
"total": {
"basePrice": 99.99,
"currency": "USD"
},
"item": [
{
"productInfo": {
"productID": "SKU-123",
"productName": "Sample Product"
},
"quantity": 1,
"price": {
"basePrice": 99.99,
"currency": "USD"
}
}
]
},
"user": {
"profile": [
{
"profileInfo": {
"profileID": "USER-12345"
}
}
]
},
"page": {
"pageInfo": {
"pageName": "checkout:confirmation"
}
}
}
}GA4 Data Layer
window.dataLayer.push({"event":"checkout_conversion_rate","ecommerce":{"transaction_id":"T-12345","currency":"USD","value":99.99,"items":[{"item_id":"SKU-123","item_name":"Sample Product","price":99.99,"quantity":1}]}});Adobe Client Data Layer
window.adobeDataLayer.push({"event":"checkout_conversion_rate","xdm":{"eventType":"commerce.purchases","commerce":{"order":{"purchaseID":"T-12345","priceTotal":99.99,"currencyCode":"USD"},"purchases":{"value":1}},"productListItems":[{"SKU":"SKU-123","name":"Sample Product","quantity":1,"priceTotal":99.99}],"web":{"webPageDetails":{"name":"checkout:confirmation"}},"identityMap":{"customerId":[{"id":"USER-12345","authenticatedState":"authenticated","primary":true}]}}});XDM Mapping
{
"eventType": "commerce.purchases",
"commerce": {
"purchases": {
"value": 1
},
"order": {
"purchaseID": "T-12345",
"priceTotal": 99.99,
"currencyCode": "USD"
}
},
"productListItems": [
{
"SKU": "SKU-123",
"name": "Sample Product",
"quantity": 1,
"priceTotal": 99.99
}
],
"web": {
"webPageDetails": {
"name": "checkout:confirmation"
}
},
"identityMap": {
"customerId": [
{
"id": "USER-12345",
"authenticatedState": "authenticated",
"primary": true
}
]
}
}SQL Queries
Google Analytics 4 (BigQuery)
-- ==========================================
-- 1. GOOGLE BIGQUERY SQL (GA4 Export)
-- ==========================================
SELECT COUNTIF(event_name = 'purchase') / COUNTIF(event_name = 'begin_checkout') AS checkout_conversion_rate
FROM `your-project.analytics_123456789.events_*`,
UNNEST(event_params) AS params
WHERE _TABLE_SUFFIX BETWEEN 'start_date' AND 'end_date';Adobe Experience Platform (AEP Query Service)
-- ==========================================
-- 2. ADOBE AEP QUERY SERVICE SQL (XDM Dataset)
-- ==========================================
SELECT SUM(CASE WHEN eventType = 'commerce.purchases' THEN 1 ELSE 0 END) / SUM(CASE WHEN eventType = 'commerce.checkout.start' THEN 1 ELSE 0 END) AS checkout_conversion_rate
FROM your_aep_dataset
WHERE timestamp BETWEEN 'start_date' AND 'end_date';Source Data
Digital Analytics
Dependencies
[ "begin_checkout", "purchase" ]
Report Attributes
Device Payment Method Market
Recommended Reporting Views
Segment Eligibility
true
Governance
Governance
GitHub
catalog/kpis/checkout-conversion-rate.yml