← Back to KPIs
Checkout completion rate
Also known as: Purchase Completion Rate, Checkout Success Rate
Measures the percentage of initiated checkout sessions that result in a completed purchase. This KPI helps assess the effectiveness of the checkout process.
Business Use Case
Executives use this KPI to identify and address bottlenecks in the checkout process, aiming to improve conversion rates.
Business Criticality
High
Journey / Navigation Area
Checkout
Owning Function
Data Architecture Team
Scope
Session
Formula
(Completed Checkouts / Initiated Checkouts) × 100Calculation Notes
Exclude sessions with technical errors or timeouts exceeding 30 minutes.
Technical Details
Measure Typepercentage
Aggregation WindowTime based - Daily
Events
| Platform | Event |
|---|---|
| Google Analytics 4 | purchase |
| Adobe | purchase |
Data Mappings
W3 Data Layer
{
"event": "purchase",
"ecommerce": {
"purchase": {
"products": [
{
"id": "12345",
"name": "Triblend Android T-Shirt",
"brand": "Google",
"price": "15.25",
"coupon": "",
"variant": "Gray",
"category": "Apparel",
"quantity": 1
}
],
"actionField": {
"id": "T12345",
"tax": "4.90",
"coupon": "SUMMER_SALE",
"revenue": "35.43",
"shipping": "5.99",
"affiliation": "Online Store"
}
}
}
}GA4 Data Layer
{
"event": "purchase",
"ecommerce": {
"tax": 4.9,
"items": [
{
"price": 15.25,
"item_id": "12345",
"quantity": 1,
"item_name": "Triblend Android T-Shirt",
"item_brand": "Google",
"item_variant": "Gray",
"item_category": "Apparel"
}
],
"value": 35.43,
"coupon": "SUMMER_SALE",
"currency": "USD",
"shipping": 5.99,
"affiliation": "Online Store",
"transaction_id": "T12345"
}
}Adobe Client Data Layer
{
"event": "purchase",
"ecommerce": {
"purchase": {
"tax": "4.90",
"coupon": "SUMMER_SALE",
"revenue": "35.43",
"products": [
{
"brand": "Google",
"price": "15.25",
"variant": "Gray",
"category": "Apparel",
"quantity": 1,
"productID": "12345",
"productName": "Triblend Android T-Shirt"
}
],
"shipping": "5.99",
"affiliation": "Online Store",
"transactionID": "T12345"
}
}
}XDM Mapping
{
"_experience": {
"analytics": {
"event1": {
"purchase": {
"tax": 4.9,
"items": [
{
"id": "12345",
"name": "Triblend Android T-Shirt",
"brand": "Google",
"price": 15.25,
"variant": "Gray",
"category": "Apparel",
"quantity": 1
}
],
"value": 35.43,
"coupon": "SUMMER_SALE",
"currency": "USD",
"shipping": 5.99,
"affiliation": "Online Store",
"transactionID": "T12345"
}
}
}
}
}SQL Queries
Google Analytics 4 (BigQuery)
-- ==========================================
-- 1. GOOGLE BIGQUERY SQL
-- ==========================================
SELECT COUNT(DISTINCT CASE WHEN event_name = 'purchase' THEN user_pseudo_id END) AS completed_checkouts,
COUNT(DISTINCT CASE WHEN event_name = 'begin_checkout' THEN user_pseudo_id END) AS initiated_checkouts,
SAFE_DIVIDE(COUNT(DISTINCT CASE WHEN event_name = 'purchase' THEN user_pseudo_id END), COUNT(DISTINCT CASE WHEN event_name = 'begin_checkout' THEN user_pseudo_id END)) AS checkout_completion_rate
FROM `your-project.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20230101' AND '20231231'
AND event_name IN ('purchase', 'begin_checkout')Adobe Experience Platform (AEP Query Service)
-- ==========================================
-- 2. ADOBE AEP QUERY SERVICE SQL
-- ==========================================
SELECT COUNT(DISTINCT CASE WHEN event = 'purchase' THEN user_id END) AS completed_checkouts,
COUNT(DISTINCT CASE WHEN event = 'begin_checkout' THEN user_id END) AS initiated_checkouts,
SAFE_DIVIDE(COUNT(DISTINCT CASE WHEN event = 'purchase' THEN user_id END), COUNT(DISTINCT CASE WHEN event = 'begin_checkout' THEN user_id END)) AS checkout_completion_rate
FROM aep_dataset.events
WHERE event IN ('purchase', 'begin_checkout')
AND event_date BETWEEN '2023-01-01' AND '2023-12-31'Source Data
Digital Analytics
Dependencies
[ "initiated-checkouts", "completed-checkouts" ]
Report Attributes
Device Type Geography User Type
Recommended Reporting Views
Views
E-commerce Performance Dashboard
Segment Eligibility
true
Governance
Data Sensitivityinternal
Governance
Created bydevyendarm
Created on5/6/2026
Last modified bydevyendarm
StatusPUBLISHED
GitHub
View related Pull Request
catalog/kpis/checkout-completion-rate.yml