begin_checkout Event

The begin_checkout event is triggered when a user initiates the checkout process. This marks a key point in the conversion funnel and is valuable for measuring purchase intent.

The begin_checkout model

This model describes the context and contents of the cart when the checkout is initiated.

Properties

  • Name
    event
    Type
    string
    Description

    Must be set to begin_checkout.

  • Name
    user_id
    Type
    string
    Description

    Unique identifier for the user starting the checkout.

  • Name
    session_id
    Type
    string
    Description

    Unique identifier for the session.

  • Name
    ecommerce.currency
    Type
    string
    Description

    ISO 4217 currency code, e.g., USD.

  • Name
    ecommerce.value
    Type
    float
    Description

    Total cart value at checkout start.

  • Name
    ecommerce.tax
    Type
    float
    Description

    Total tax for the cart.

  • Name
    ecommerce.shipping
    Type
    float
    Description

    Estimated shipping cost.

  • Name
    ecommerce.items
    Type
    array
    Description

    Array of items included in the checkout.

  • Name
    ecommerce.items[].item_id
    Type
    string
    Description

    Unique product or SKU ID.

  • Name
    ecommerce.items[].item_name
    Type
    string
    Description

    Product name.

  • Name
    ecommerce.items[].item_brand
    Type
    string
    Description

    Brand name.

  • Name
    ecommerce.items[].item_category
    Type
    string
    Description

    Main product category.

  • Name
    ecommerce.items[].item_variant
    Type
    string
    Description

    Specific variant (e.g., color or size).

  • Name
    ecommerce.items[].price
    Type
    float
    Description

    Item price.

  • Name
    ecommerce.items[].discount
    Type
    float
    Description

    Discount applied.

  • Name
    ecommerce.items[].tax
    Type
    float
    Description

    Tax applied to the item.

  • Name
    ecommerce.items[].quantity
    Type
    int
    Description

    Quantity selected.


Push event to the dataLayer

dataLayer.push example

dataLayer.push({
  event: 'begin_checkout',
  user_id: 'user-123',
  session_id: 'session-456',
  ecommerce: {
    currency: 'USD',
    value: 99.99,
    tax: 8.00,
    shipping: 5.00,
    items: [
      {
        item_id: 'SKU-456',
        item_name: 'Cozy Hoodie',
        item_brand: 'SoftWear',
        item_category: 'Apparel',
        item_variant: 'Navy Blue',
        price: 59.99,
        discount: 10.00,
        tax: 4.00,
        quantity: 1
      },
      {
        item_id: 'SKU-789',
        item_name: 'Wool Socks Pack',
        item_brand: 'ComfyFeet',
        item_category: 'Apparel',
        item_variant: 'Gray',
        price: 39.99,
        discount: 5.00,
        tax: 4.00,
        quantity: 2
      }
    ]
  }
});

Best Practices

  • Push this event on the first step of the checkout process.
  • Ensure product, value, and quantity accuracy.
  • This event often feeds into remarketing and conversion-based bidding systems.

Use Cases

The begin_checkout event is used for:

  • Funnel analysis and drop-off tracking
  • Abandoned checkout remarketing
  • Purchase intent scoring
  • Triggering checkout-specific experiments

Was this page helpful?