Begin Checkout
Counts the number of times users initiate the checkout process after adding one or more items to cart. This metric is a critical lower-funnel conversion indicator because it measures progression from shopping intent to purchase intent and helps identify friction between cart and checkout.
Business Use Case
Used by e-commerce, product, and CRO teams to monitor checkout funnel entry volume, evaluate cart-to-checkout progression, identify UX friction, measure impact of checkout experiments, and diagnose abandonment between cart and purchase.
Business Criticality
High
Journey / Navigation Area
Digital Analytics
Scope
Event
Formula
Begin Checkout = COUNT of checkout initiation events where event_name = 'begin_checkout'Calculation Notes
1️⃣ Count each begin_checkout event occurrence. 2️⃣ Do not deduplicate unless explicitly required. 3️⃣ Exclude bot/internal traffic where applicable. 4️⃣ Ensure event fires only once per checkout initiation. 5️⃣ Count multiple begin_checkout events in one session unless business rules specify otherwise. 6️⃣ Align attribution to event date/time for funnel reporting.
Technical Details
Events
| Platform | Event |
|---|---|
| Google Analytics 4 | begin_checkout |
| Adobe | event25 |
Data Mappings
W3 Data Layer
{
"event": "begin_checkout",
"ecommerce": {
"currency": "USD",
"value": 129.97,
"coupon": "SPRING10",
"items": [
{
"item_id": "SKU-12345",
"item_name": "Running Shoes",
"item_brand": "Acme",
"item_category": "Footwear",
"item_variant": "Black-10",
"price": 79.99,
"quantity": 1
},
{
"item_id": "SKU-67890",
"item_name": "Performance Socks",
"item_brand": "Acme",
"item_category": "Accessories",
"item_variant": "Large",
"price": 24.99,
"quantity": 2
}
]
},
"checkout": {
"step": 1,
"step_name": "checkout_start",
"cart_id": "CART-98765"
}
}GA4 Data Layer
{
"event": "begin_checkout",
"ecommerce": {
"currency": "USD",
"value": 129.97,
"coupon": "SPRING10",
"items": [
{
"item_id": "SKU-12345",
"item_name": "Running Shoes",
"item_brand": "Acme",
"item_category": "Footwear",
"item_variant": "Black-10",
"price": 79.99,
"quantity": 1
},
{
"item_id": "SKU-67890",
"item_name": "Performance Socks",
"item_brand": "Acme",
"item_category": "Accessories",
"item_variant": "Large",
"price": 24.99,
"quantity": 2
}
]
},
"checkout_step": 1,
"checkout_step_name": "checkout_start",
"cart_id": "CART-98765"
}Adobe Client Data Layer
{
"event": "begin_checkout",
"commerce": {
"cart": {
"cartID": "CART-98765",
"priceTotal": 129.97,
"currencyCode": "USD"
},
"productListItems": [
{
"SKU": "SKU-12345",
"name": "Running Shoes",
"quantity": 1,
"priceTotal": 79.99
},
{
"SKU": "SKU-67890",
"name": "Performance Socks",
"quantity": 2,
"priceTotal": 49.98
}
],
"checkouts": {
"value": 1
}
},
"promotion": {
"couponCode": "SPRING10"
},
"checkout": {
"step": 1,
"stepName": "checkout_start"
}
}XDM Mapping
{
"eventType": "commerce.checkouts",
"commerce.checkouts.value": 1,
"commerce.order.priceTotal": 129.97,
"commerce.order.currencyCode": "USD",
"productListItems[].SKU": "SKU-12345",
"productListItems[].name": "Running Shoes",
"productListItems[].quantity": 1,
"productListItems[].priceTotal": 79.99,
"_experience.analytics.customDimensions.eVars.eVar10": "CART-98765",
"_experience.analytics.customDimensions.eVars.eVar11": "checkout_start",
"_experience.analytics.event1to100.event25": 1
}SQL Queries
Google Analytics 4 (BigQuery)
WITH begin_checkout_events AS ( SELECT event_date, event_timestamp, user_pseudo_id, user_id, ga_session_id, event_name, (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'currency') AS currency, (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'value_usd') AS event_value_usd, (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ecommerce_value') AS checkout_value FROM `project.dataset.raw_digital_events` WHERE event_name = 'begin_checkout' ) SELECT DATE(TIMESTAMP_SECONDS(event_timestamp)) AS metric_date, COUNT(*) AS begin_checkout FROM begin_checkout_events GROUP BY 1 ORDER BY 1;Adobe Experience Platform (AEP Query Service)
WITH begin_checkout_events AS ( SELECT DATE(eventTimestamp) AS metric_date, identityMap.ECID[0].id AS mcid, eventType, commerce.purchases.currencyCode AS currency, commerce.purchases.value AS checkout_value FROM xdm.raw_digital_events WHERE eventType = 'commerce.purchases' ) SELECT metric_date, COUNT(*) AS begin_checkout FROM begin_checkout_events GROUP BY metric_date ORDER BY metric_date;Source Data
Digital Analytics, Tag Management, Data Layer
Dependencies
Prerequisite: List the dependencies required for this Metric
Metrics:
Dimensions:
Report Attributes
Date, Device Category, Channel, Source/Medium, Campaign, Landing Page, Country, Region, New vs Returning, Logged-in Status, Cart Value Bucket, Item Category, Item Brand, Coupon Code, Checkout Step
Recommended Reporting Views
Segment Eligibility
True
Governance
Derived KPIs
Governance
GitHub
catalog/metrics/begin-checkout.yml