META PURCHASES

Meta InitiateCheckout is not firing on your Shopify store

Events Manager shows page views, AddToCart and Purchase, but InitiateCheckout is empty, or far lower than your checkouts. AddPaymentInfo may be missing too. Meta then sees people jump from the cart to a purchase. Campaigns that optimise for checkouts get little to learn from.

Why it happens

Old checkout code no longer runs. Shopify's checkout upgrade replaces the old Thank you and Order status pages. Shopify says any existing customizations on those pages are replaced, and that additional scripts can no longer be edited by hand. A Meta pixel snippet that a developer once placed in the checkout or in additional scripts does not run on the new pages. Shopify's advice is to use app pixels and web pixels instead.

Theme code does not reach the checkout. A pixel placed in your theme files fires on the storefront. Shopify loads pixels on the checkout through its pixel system: its overview says pixels automatically load on the Storefront, Checkout, Thank you page and Order status page. A snippet in the theme is not one of those pixels.

A custom pixel does not listen to checkout events. Shopify's custom pixels send events when they subscribe to Shopify's customer events. Shopify's Meta example sends InitiateCheckout when checkout_started fires. For AddPaymentInfo, the matching Shopify event is payment_info_submitted. A custom pixel that subscribes only to page_viewed and checkout_completed sends no checkout events.

The store's own Meta connection is off. The Facebook & Instagram app's pixel tracks InitiateCheckout and AddPaymentInfo, as Shopify's data sharing help lists. If you turned the app's data sharing off, or disconnected its pixel to stop its purchases, those events stopped with it.

Consent stops the pixel. In markets where consent is required, Shopify says web pixels run only when visitors have given the permissions the pixel asks for. A shopper who declined on your banner sends no checkout events. Shopify adds that a new custom pixel needs both Marketing and Analytics permissions by default.

Ad blockers and browser limits. InitiateCheckout from the pixel is a browser event. Shopify's data sharing help says data sent from server to server cannot be blocked by browser-based ad blockers. That holds only for events that are actually sent from a server.

Express payments skip a step. Some shoppers pay with an express button on the product page. Shopify says an unbranded accelerated checkout button skips the cart. Such orders can show fewer steps before the purchase. For orders paid this way, see Shop Pay, Apple Pay and PayPal purchases missing in Meta or GA4.

Check it yourself

  1. 1In Events Manager > Data sources > your pixel > Overview, compare InitiateCheckout and Purchase for the last 7 full days. Note which source each comes from, browser or server.
  2. 2In Shopify admin > Settings > Customer events, list the app pixels and custom pixels. Note which ones belong to Meta.
  3. 3In Shopify admin > Sales channels > Facebook & Instagram > Settings, check that data sharing is on and that the right pixel is connected.
  4. 4Open each Meta custom pixel. Look for code that subscribes to checkout_started and sends InitiateCheckout, and to payment_info_submitted for AddPaymentInfo.
  5. 5Next to the pixel, click More options > Test. Shopify's Pixel Helper opens on your store. If it says "Pixel is awaiting consent", accept tracking on your banner or click Give consent to continue test.
  6. 6Add a product to the cart and click Checkout. In the Pixel Helper, look for checkout_started under Events received, with a green dot.
  7. 7In Events Manager > Test events, open your store from there and repeat step 6. Look for InitiateCheckout with value and currency.
  8. 8If InitiateCheckout appears twice for one checkout, look for a second sender, such as a custom pixel next to the app.

For the purchase, the event that matters most, see Meta's Conversions API options for Shopify.

Run the free diagnosis

FAQ

Is a missing InitiateCheckout a problem if purchases arrive?

Purchases still count. Meta loses the step before them. Campaigns and audiences built on checkouts then work with less data.

Which properties should InitiateCheckout carry?

Meta's pixel reference lists content_ids, contents, currency, num_items and value as optional properties. Send value and currency when you can.

I upgraded my checkout and the events stopped. Why?

Code on the old checkout pages does not carry over. Shopify says you need to replace those customizations on the new pages, with app pixels or web pixels.

Why is InitiateCheckout higher than my checkouts?

Compare unique checkouts, not only event counts.

My Purchase is missing as well. Where do I start?

With the purchase. See Meta Pixel purchase event not firing on Shopify and Meta shows fewer purchases than Shopify.

Related

Problem

Shop Pay, Apple Pay and PayPal purchases missing in Meta or GA4

Orders paid with Shop Pay, Apple Pay, Google Pay or PayPal express buttons are missing in Meta or Google Analytics 4. Why browser tags miss them and how to check.

Guide

Meta Pixel purchase event not firing on Shopify, and "fbq is not defined"

How to test whether your Meta Pixel sends Purchase on a Shopify store, what the result tells you, and what the "fbq is not defined" error means for your tracking.

Problem

Meta shows fewer purchases than Shopify

Meta's Purchase count is lower than your Shopify paid orders. Three common causes and a step by step check you can do in Events Manager today.

Problem

Meta counts purchases twice

Meta shows more purchases than you had Shopify orders. Why browser and server events double up, and how to find every sender in your store.

All tracking problems · All guides