Documentation Fundamentals

The begin_checkout event in Google Analytics 4 (GA4)

The begin_checkout event in Google Analytics 4 (GA4) is used to track when a user initiates the checkout process on your website or app.

For most marketers, the begin_checkout event is a crucial indicator of a user’s purchase intent. While they haven’t completed a purchase yet, they’ve already added products to their cart and are ready to start the buying process.

Screenshot of a 'Proceed to Checkout' button on innonature.eu
Clicking the 'Proceed to Checkout' button is a promising signal that a user is likely to make a purchase.

The begin_checkout event is one of the e-commerce events in GA4, meaning it can be enriched with additional parameters like items and value to capture detailed product information. This allows you to track in GA4 which products the user started the checkout process with and the total value of the cart.

Depending on your store’s setup, it’s often completely normal for users to add or remove products even after entering the checkout, meaning you might still track events like add_to_cart or remove_from_cart that you might intuitively expect to occur earlier in the customer journey.

Of course, this event only makes sense if you actually have a checkout process, i.e., if users can enter data and purchase products in some kind of finalization process.

Implementation

The best place to trigger the checkout event is actually the first page of the checkout, i.e., the page that follows after clicking the “Proceed to Checkout” button.
This way, you avoid losing the event because it wasn’t sent in time due to the browser jumping “too quickly” to the next page.

Minor drawback: It’s harder to track which page the user came from to enter the checkout. If this is important information for you, you could additionally trigger a jump_to_checkout event or something similar on the page from which the user entered the checkout.

Screenshot of a checkout page on innonature.eu
The checkout page – or the first page if there are multiple – is the ideal place to trigger the begin_checkout event.

Example dataLayer event

javascript
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
    event: "begin_checkout",
    ecommerce: {
        currency: "EUR",
        value: 123.45,
        items: [{
                item_id: "SKU12345",
                item_name: "Superfood Pulver",
                item_category: "Superfoods",
                item_variant: "500g",
                item_brand: "MySupplements",
                price: 29.90,
                quantity: 2
            },
            {
                item_id: "SKU67890",
                item_name: " Superfood Kapseln",
                item_category: "Superfoods",
                item_variant: "90 Stück",
                item_brand: "MySupplements",
                price: 34.90,
                quantity: 1
            }
        ]
    }
});
Show all code