Get free audit →

Home / Blog / Customer Events Pixel Not Firing Purchase

Shopify · Tracking Troubleshooting

Shopify Customer Events Pixel Not Firing Purchase: What to Check

If your Shopify Customer Events pixel tracks page views, product views, or checkout started events but never sends the final purchase, the problem is usually around the `checkout_completed` event, the checkout page lifecycle, consent, or how the pixel is being tested. This is not the same as adding a normal script to theme.liquid.

Short answer: Shopify’s `checkout_completed` event fires once per checkout, usually on the Thank You page, but Shopify says it can fire on the first post-purchase upsell page and will not fire if the required page never loads. Start by testing the pixel with Shopify Pixel Helper, confirming the pixel is connected, checking consent and customer privacy, and validating whether Shop Pay, PayPal, post-purchase apps, or checkout redirects prevent the final page from loading.

Keyword target

Key takeaways

What Shopify says about checkout_completed

Shopify’s Web Pixels API documentation says `checkout_completed` logs when a visitor completes a purchase and is triggered once for each checkout, typically on the Thank You page. It also says that for upsells and post-purchase flows, the event is triggered on the first upsell offer page instead and not again on the Thank You page. If the page where the event is supposed to be triggered fails to load, the event is not triggered at all.

That single sentence explains many “purchase pixel not firing” cases: the order exists in Shopify, but the pixel never received the browser-side moment needed to send the purchase.

Common causes

The usual causes are not one bug. They are a stack of assumptions: the pixel is not connected, the event is tested in an unsupported way, consent blocks the pixel, a third-party checkout path changes the page lifecycle, an upsell captures the first post-purchase page, or the code expects Liquid objects that do not exist inside Customer Events.

Symptom Likely cause Check
Other events fire, purchase does not Thank You/upsell page did not load Run a real test order and watch Shopify Pixel Helper
Works in normal checkout but not Shop Pay/PayPal redirect/payment lifecycle issue test accelerated wallets separately
Code works in theme but not Customer Events sandbox/API limitation rewrite code for Web Pixels API
GTM preview cannot see purchase debugger cannot reach sandboxed pixel reliably use Pixel Helper and destination logs
Purchase fires twice old additional script plus pixel remove legacy source

Elevar, Analyzify, Littledata, Stape angle

Elevar and similar tracking tools avoid some Customer Events pitfalls by owning the data layer, server-side destination, or app pixel path. But they still need correct checkout event access, consent handling, and duplicate-source removal. Stape-style GTM server-side setups also need the browser event to pass the right order data to the server container.

Diagnostic workflow

  1. Open Shopify > Settings > Customer events and confirm the pixel is connected.
  2. Use Shopify Pixel Helper to test one custom pixel at a time.
  3. Run a real low-value order, not only a preview-page test.
  4. Test normal card checkout, Shop Pay, PayPal, and post-purchase upsell paths separately.
  5. Log all received events and confirm whether `checkout_completed` appears.
  6. Check whether consent/customer privacy blocks analytics or marketing events.
  7. Verify the code uses the Web Pixels API event payload, not Liquid variables.
  8. Check whether legacy checkout scripts, GTM, or apps also send purchase.
  9. Compare Shopify order ID against GA4, Meta, Google Ads, TikTok, or Elevar logs.
  10. Fix one source of truth, then retest.

What not to do

TrackingAudit validation checklist

Need the tracking checked before scaling?

TrackingAudit can compare Shopify orders against the active event stack and show which system is missing, duplicating, or misattributing purchases.

Get your free audit →

Frequently asked questions

Why does checkout_completed not fire?

Because the relevant post-checkout page may not load, consent may block it, the pixel may be disconnected, or the code may be written for the wrong environment.

Does checkout_completed fire on the Thank You page?

Usually, but Shopify says it can fire on the first post-purchase upsell page instead and not again on the Thank You page.

Can I debug this with Tag Assistant?

Not reliably by itself. Use Shopify Pixel Helper and destination-side logs.

Should I use Elevar instead of a custom pixel?

Use Elevar or another maintained tracking app when you need server-side delivery and ongoing maintenance, but still validate event ownership and duplicates.

Sources