Skip to main content

Checkout Completed (checkout_completed)

Purpose: Track when a user successfully completes their order, capturing final transaction details and full line-item breakdown. When to Fire: Immediately after the confirmation or “Thank You” page renders — as soon as the order is finalized in your system. Payload Schema:
FieldTypeDescription
total_valuenumberTotal order value (totalValue).
total_quantitynumberTotal number of items purchased (totalQuantity).
cart_idstringIdentifier of the cart session prior to purchase.
order_idstringUnique identifier of the completed order.
currency_codestringCurrency code for the transaction (e.g. "USD").
total_ex_taxnumberTotal order amount excluding tax.
productsarray of objectsList of cart items, each with detailed fields:
  – skustringProduct SKU.
  – variant_skustringSelected variant SKU.
  – product_categoryarray of objectsCategory hierarchy, each { id, name, provider_id }.
  – modestringOrigin of the item addition ("widget", "search", "category", "collection", "direct").
  – search_termstringUser search input if applicable.
  – search_locationstring"quick" or "page" if from search.
  – categorystringCategory ID or name if from category.
  – collectionstringCollection ID or name if from collection.
  – total_valuenumberExtended sale price (quantity * sale_price).
  – quantitynumberUnits of this SKU in the cart.
  – widget_rulestringRule ID that applied.
  – widget_rule_typestringType of rule.
  – widget_idstringWidget instance ID if relevant.
  – widget_context_typestringContext entity type.
  – widget_context_datastringAdditional context payload.
  – facetsarrayActive filters on the cart page.
  – product_optionarray of objectsSelected product options per item, each { name, value }.
 – request_idstringUnique identifier
 – page_depthstringCurrent page number (1, 2, 3, etc.).
Example:
// After order confirmation:
const order = {
  totalValue:       250.00,
  total_quantity:    2,
  cart_id:          'CART-789',
  order_id:         'ORDER-456',
  currency_code:    'USD',
  total_ex_tax:          230.00,
  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.trackCheckoutCompleted({
    total_value: order.totalValue,
    total_quantity: order.total_quantity,
    order_id: order.order_id,
    cart_id: order.cart_id,
    currency_code: order.currency_code,
    total_ex_tax: order.total_ex_tax,
    products: order.items || [],
});