Checkout Initiated (checkout_initiated)
Purpose:
Track when a user begins the checkout process by viewing the checkout page or proceeding to the payment step.
When to Fire:
Immediately upon rendering the checkout page or opening the checkout modal.
Payload Schema:
| Field | Type | Description |
|---|---|---|
total_value | number | Total cart value (totalValue, typically cart_amount). |
total_quantity | number | Total number of items in the cart. |
cart_id | string | Unique identifier for the cart session. |
products | array of objects | List of cart items, each with detailed fields: |
– sku | string | Product SKU. |
– variant_sku | string | Selected variant SKU. |
– product_category | array of objects | Category hierarchy, each { id, name, provider_id }. |
– mode | string | Origin of the item addition ("widget", "search", "category", "collection", "direct"). |
– search_term | string | User search input if applicable. |
– search_location | string | "quick" or "page" if from search. |
– category | string | Category ID or name if from category. |
– collection | string | Collection ID or name if from collection. |
– total_value | number | Extended sale price (quantity * sale_price). |
– quantity | number | Units of this SKU in the cart. |
– widget_rule | string | Rule ID that applied. |
– widget_rule_type | string | Type of rule. |
– widget_id | string | Widget instance ID if relevant. |
– widget_context_type | string | Context entity type. |
– widget_context_data | string | Additional context payload. |
– facets | array | Active filters on the cart page. |
– product_option | array of objects | Selected product options per item, each { name, value }. |
– request_id | string | Unique identifier |
– page_depth | string | Current page number (1, 2, 3, etc.). |
// After loading checkout data:
const cart = {
id: 'CART-789',
cart_amount: 180.00,
total_quantity: 1,
items: [
{
sku: 'PROD-001',
variant_sku: 'PROD-001-BLUE',
product_category: [{ id: 'apparel', name: 'Apparel', provider_id: 'prov1' }],
total_value: 129.99,
quantity: 1,
mode: 'direct',
mode_details: {
search_term: 'jack',
search_location: 'page',
search_source: 'search_suggestion',
used_suggestion: 'jacket',
category: null,
collection: null,
widget_rule: null,
widget_rule_type: null,
widget_id: null,
widget_context_type: 'direct',
widget_context_data: '',
request_id: requestId,
page_depth: currentPage,
facets: [],
},
product_option: [{ name: 'Size', value: 'M' }]
}
]
};
ExpAnalyticsService.trackCheckoutInitiated({
total_value: cart.cart_amount,
total_quantity: cart.total_quantity,
cart_id: cart.id,
products: cart.items || [],
});