Skip to main content
Customer EventsEngagement pattern

Migrating Shopify checkout tracking to Customer Events

Shopify's checkout extensibility removed the ability to inject script tags into checkout, which silently killed every purchase tag that lived in checkout.liquid or in additional scripts. The replacement is the Customer Events API, where pixels run in a sandbox with no access to the parent page — so anything that read the DOM or relied on a global container needs rebuilding rather than porting. Anything money-related is better moved to the orders webhook while you're in there.

Free30 minutesNo obligation

Customer Events · what breaks

The situation, as it usually presents — Customer Events

  1. 01

    Purchase tracking that stopped on a specific date

    The checkout extensibility cutover.

  2. 02

    Additional scripts no longer running

    With no error anywhere.

  3. 03

    A container that works everywhere except checkout

    The signature symptom.

Customer Events · the fix

What changes — Customer Events

  • Checkout events firing again

    Through the supported path.

  • Money events on the orders webhook

    Where the sandbox can't reach them anyway.

  • A setup that survives Shopify's next change

    Because it no longer depends on injected scripts.

Customer Events · architecture

Why this pattern keeps recurring — Customer Events

This migration catches stores out because nothing announces it. The tags don't error; they simply stop being executed.

  1. 1

    The sandbox has no page access

    A pixel can't read the DOM or reach a global container. Code that assumed either has to be rewritten.

  2. 2

    Nothing errors when a script stops being injected

    The checkout works perfectly. Only the numbers change.

  3. 3

    Additional scripts died at the same moment

    Everything that lived there went at once, which is why the drop is so clean.

  4. 4

    The webhook is more reliable than any pixel

    It fires from the order record, so wallet payments and abandoned confirmations are still counted.

Customer Events · diagnose

How the root cause gets found — Customer Events

In this order. Each step rules out a class of cause, so the last one usually has a single explanation standing.

  1. 01

    Find the date purchases stopped

    It matches the extensibility cutover.

  2. 02

    Check whether additional scripts still contain tags

    They often do, doing nothing.

  3. 03

    Confirm which pixels are registered in Customer Events

    Often none.

  4. 04

    Test a real order through checkout

    Watch what fires.

  5. 05

    Compare Shopify web orders to platform purchases

    For the same window.

Customer Events · prove

How the work is proven — Customer Events

Against the client's own records, not a dashboard turning green.

Source of truth

Shopify order records, web orders only

  • Customer Events pixels confirmed firing on a live checkout.
  • Purchase arriving from the orders webhook with the order ID.
  • Platform purchase count within a few percent of Shopify web orders.
  • Legacy script tags removed and confirmed gone.
  • Reconciled over a fully closed window, matched on ID rather than on totals.
  • Payload evidence captured from real transactions and handed over.
  • The same reconciliation repeated 30 days later.

Customer Events · free audit

What we check in the free audit

  • Find the date purchases stopped
  • Check whether additional scripts still contain tags
  • Confirm which pixels are registered in Customer Events
  • Test a real order through checkout
  • Compare Shopify web orders to platform purchases

Checked against

Shopify order records, web orders only

Get my free conversion tracking audit

Free30 minutesNo obligation

Customer Events · when not to buy

Why there are no client numbers on this page — Customer Events

Most agency case studies lead with a percentage. This one doesn't, and the reason is worth stating.

  • We don't publish client results we can't substantiate. An audit of this site in August 2026 found named testimonials and before-and-after figures that had never been measured — all of it was removed, and nothing has replaced it that isn't checkable.
  • The results that do exist belong to clients under agreement. Publishing anonymised numbers without their sign-off would be the same problem in a thinner disguise.
  • What we will commit to in writing is 95%+ conversion accuracy and 8+ Meta Event Match Quality, reconciled against your own order records. That is checkable by you, which a case study percentage never is.
  • For proof from actual clients, the video testimonials on the site are real people describing their own rebuild. That is the strongest evidence we have, and it isn't a number we wrote.

Customer Events · what we deliver

What the work involves — Customer Events

  • Customer Events pixels built

    Not ported — the sandbox has different rules.

  • Purchase moved to orders/create

    Order ID as the deduplication key.

  • Checkout funnel events wired

    checkout_started, payment_info_submitted, checkout_completed.

  • Legacy script tags removed

    They're dead weight and a source of confusion.

Written guarantee

95%+ tracking accuracy

Measured against Shopify order records, web orders only. Miss it and we keep working at no cost.

Get my free conversion tracking audit

Pricing

Pick the package that fits your ad spend

Browser-side starter

$400One-time fee · lifetime ownership

Repairs the fault in your existing browser-side setup and verifies it on a live transaction. Honest about its ceiling: it fixes this instance, not the class.

  • Root cause fixed, not worked around
  • Verified on a live transaction
  • Reconciled against your own records
  • Written handover
Fix what I have

1st-party server-side

Recommended

$800One-time fee · most popular

Removes the class of failure rather than this instance. Money events sent from your order records through a first-party container on your own subdomain, so the browser can no longer lose them.

  • First-party server container on your own subdomain
  • Money events from your order records, not the browser
  • Deduplicated on a shared event ID at every destination
  • First-party cookies beyond Safari's 7-day cap
  • 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Rebuild it server-side

Full 1st-party stack

$1,800One-time fee · lifetime ownership

Every paid channel server-side plus the offline loop, for advertisers whose spend makes an attribution leak more expensive than the build.

  • Everything in 1st-party server-side
  • Pinterest, Snapchat, Reddit and LinkedIn CAPI
  • CRM and offline conversion loop
  • Refunds reversed at every destination
  • Monitoring so the next break surfaces in days
Get the full stack

FAQ

Customer Events questions, answered

No. Checkout extensibility replaced it, and script injection into checkout no longer runs. Customer Events is the supported path.

Free · 30 min

Get Shopify checkout tracking working again

Free30 minutesNo obligation