The InitiateCheckout event on Shopify
Updated
When it fires
When a shopper reaches the first step of Shopify’s checkout.
InitiateCheckout is the exact point where Shopify hands the shopper from your theme to its own hosted checkout, and the exact point a pixel pasted into theme.liquid goes silent. If your funnel shows healthy AddToCart and nothing after it, this boundary is the reason.
What each ad platform calls InitiateCheckout
The same shopper action goes by a different name on every network, and sending the wrong one means the event is silently discarded rather than rejected with an error.
Parameters InitiateCheckout should carry
value / currency- Cart total at checkout entry.
num_items- Item count in the cart.
contents- Full line-item breakdown.
Why InitiateCheckout goes missing on Shopify
- Theme code does not run on checkout.shopify.com. Only the Web Pixels API and Shopify’s own integrations reach it.
- Checkout extensibility replaced checkout.liquid entirely, so legacy script installs no longer apply.
- Accelerated checkouts — Shop Pay, Apple Pay, PayPal Express — skip the standard first step and need the pixel to listen on the right lifecycle event.
The theme-to-checkout boundary, precisely
Shopify’s checkout is not your storefront. It runs on Shopify’s infrastructure, under Shopify’s control, and it deliberately does not execute arbitrary code from your theme. That isolation is a security and reliability feature, and it is also the single technical fact behind most Shopify pixel failures.
Checkout extensibility removed checkout.liquid entirely, closing the last route by which stores used to inject scripts into checkout. What remains is the Web Pixels API, a sandboxed event subscription that Shopify runs on your behalf inside checkout, and Shopify’s own first-party integrations. There is no third option, and no amount of theme editing produces one.
Accelerated wallets skip the step you are watching
Shop Pay, Apple Pay, Google Pay and PayPal Express take the shopper from the cart to a payment sheet without passing through the standard first checkout step. A pixel listening for that specific page never hears about them, so InitiateCheckout goes missing for exactly the shoppers most likely to convert.
Because wallet adoption varies enormously by store and audience, this failure is wildly inconsistent between merchants — invisible on one store, responsible for most of the missing events on another. Testing both a card checkout and a wallet checkout is the only way to know which case you are in.
How to verify InitiateCheckout is firing
Start a checkout with a normal card flow and again with an accelerated wallet button. Both should produce InitiateCheckout.
InitiateCheckout questions
- Why does Pinterest call this checkout?
- Pinterest uses checkout for the completed order, not for checkout entry. Mapping InitiateCheckout to Pinterest’s checkout inflates your reported Pinterest conversions.
- Do accelerated wallets fire InitiateCheckout?
- They should, but only if the pixel listens through the Web Pixels API. Wallet flows bypass the page a theme-bound pixel would depend on.
Go deeper
Shopify custom pixels and when to use an app instead →Shopify custom pixels let you paste tracking code into the Web Pixels sandbox. Here is what they can and cannot do, and when an app is the better call.