π΄ Phase 1 β CoreΒ Β·Β Funnel start signal for optimization and abandonment audiences.
begin_checkout
When to pushβ
When the user lands on the first step of checkout. Once per checkout session.
Exampleβ
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'begin_checkout',
ecommerce: {
currency: 'EUR',
value: 109.00,
coupon: 'SPRING10', // if already applied
items: [
{ item_id: 'BIO-CRM-001', item_name: 'Day Cream', price: 42.00, quantity: 2 },
{ item_id: 'BIO-SER-002', item_name: 'Serum', price: 25.00, quantity: 1 }
]
},
user_data: /* if user logged in */
});
Parametersβ
| Parameter | Type | Required |
|---|---|---|
currency | string | required |
value | number | required |
items | array | required |
coupon | string | optional β applied promo code |
user_data (top-level) | object | recommended β for CAPI |
Platformsβ
| Platform | Native event |
|---|---|
| GA4 | begin_checkout |
| Meta | InitiateCheckout (with content_ids, contents, num_items, value, currency) |
| Google Ads | Intermediate conversion (optional) |
Pitfallsβ
- β Pushing at every checkout step β that's what
add_shipping_info/add_payment_infocover. - β Re-pushing if the user goes back from checkout and re-enters.