InitiateCheckout now starts when a buyer reaches checkout page, not when they submit payment. AddPaymentInfo now also sends full order and customer details to Meta. Together, these changes give you an accurate picture of checkout drop-off and give Meta better signals to optimise your campaigns.
This applies to funnels, websites and stores that have the Meta Pixel set up with the InitiateCheckout event enabled.
What changed
- Smarter InitiateCheckout timing: The event now fires at the moment the buyer starts checking out
- When the page loads on store checkout pages.
- When the page loads on any page where you added InitiateCheckout at the page level.
- On the buyer's first click, tap or keystroke in an order form everywhere else. This covers one-step, two-step and popup order forms, plus the new order form.
- Page-level control: Adding InitiateCheckout at the page level makes it fire as soon as that page loads. Adding it at the funnel, website or webinar level makes it fire on the buyer's first interaction with the order form.
- Protection against duplicates and false triggers: InitiateCheckout fires at most once per page visit, even when a page has several order forms or more than one trigger is configured. Browser autofill, password managers and fields that are focused automatically on load don't trigger it.
- Abandoned-cart recovery support: When a buyer comes back through an abandoned-cart link, the event waits for their saved cart to load, so it includes the cart value and products.
- Express wallet coverage: Buyers who go straight to Apple Pay etc without touching the form are still counted. For them, InitiateCheckout starts when payment starts.
- Richer AddPaymentInfo data: AddPaymentInfo now includes order value, currency, product IDs, and hashed customer details (email, phone, name, external ID) when they're available.
Why it matters
- See real checkout drop-off: InitiateCheckout and AddPaymentInfo used to count the same buyers, so the step between "started checkout" and "entered payment" showed nothing. You can now see how many buyers reach checkout but leave before paying.
- Better ad optimisation: Meta can now optimise and build audiences around buyers who show checkout intent, including those who don't complete the purchase.
- Higher Event Match Quality: Full order and customer details on AddPaymentInfo help Meta match more events to real people, which improves attribution and targeting.
- Consistent, trustworthy data: Every event now reports the same currency for an order, and invalid or blank values are never sent to Meta.
What Stays the Same
- Setup: Your Meta Pixel settings work exactly as before. No reconfiguration is needed.
- Other events: PageView, ViewContent and Purchase fire at the same moments as before.
- Consent: Events still respect your cookie-consent settings. If a visitor hasn't accepted advertising cookies, nothing is sent.
- Conversions API: When the Conversions API is enabled, browser and server events are still sent together and deduplicated in Meta Events Manager.
- Free orders: If an order requires no payment details at all, AddPaymentInfo is not sent, same as before. New: orders fully covered by a gift card now send it (with a value of 0).
- Pixels without InitiateCheckout: If InitiateCheckout isn't enabled on your pixel, nothing changes.
What to Expect
- InitiateCheckout counts will go up. This is expected: the event now includes buyers who reach checkout and leave without paying. The gap between InitiateCheckout and AddPaymentInfo/Purchase now shows real checkout drop-off. Keep this in mind when you compare reports, automated rules or cost-per-InitiateCheckout before and after this release.
- Page-level settings may take up to 24 hours to take effect on already-published pages. To apply them immediately, edit and save the page.
- No change to consent or Conversions API behavior. Events still respect your cookie-consent settings. When the Conversions API is enabled, browser and server events are still sent together and deduplicated in Events Manager.
- No action required. The update applies automatically.
