Did your Meta Purchase tracking die on August 26?
Shopify auto-upgraded every non-Plus store to Checkout Extensibility. Pixel and GTM code pasted into checkout Additional Scripts stopped firing that day — while the storefront Pixel keeps working, so dashboards look normal as Purchase quietly flatlines. Scan your store, then verify Purchase counts in Events Manager.
Real browser. Pro and Team from a workspace. Static scan stays free, no login.
The scan reads your public storefront — no login, no Meta account. Checkout itself lives behind the session, so treat the result as a risk profile and confirm in Meta Events Manager.
What broke, exactly
Additional Scripts stopped executing
Anything pasted into the checkout Additional Scripts box — Meta Pixel Purchase snippets, GTM containers, affiliate and survey tags — no longer runs on checkout, thank-you, or order status pages.
Custom Pixels are sandboxed
The replacement — Web Pixels — runs your code in a restricted worker. It can fire the browser Pixel, but it cannot make direct Conversions API calls, so server-side Purchase still needs outside help.
The failure is invisible by default
PageView and ViewContent fire from the storefront as always. Campaigns keep spending against a Purchase signal that thinned out overnight — Meta optimizes on whatever conversions it still sees.
The fix: send Purchase from a server, count it once
The durable answer to a sandboxed checkout is not more browser code — it's delivering the money event from a server, where no sandbox, blocker, or iOS setting can drop it.
1. Keep the storefront Pixel
Browser signals like
_fbpstill help Meta match buyers. Add the Caply snippet next to it for browser events.2. Send Purchase server-side with order data
Caply delivers Purchase to Meta's Conversions API with the order's email and phone hashed before Meta sees them — the fields that raise Event Match Quality the most.
3. Deduplicate by event_id
If a browser hit for the same order does arrive, a shared event_id means Meta counts one sale, not two. Double-counted Purchases train the algorithm on inflated data — worse than missing ones.
4. Watch sent vs counted
Caply's Ghost conversions view lines up Purchases we sent against what Ads Manager reports, by day — so you know delivery is healthy instead of hoping.
Questions we keep getting
- What exactly changed on August 26, 2026?
- Shopify auto-upgraded every non-Plus store to Checkout Extensibility. Code pasted into checkout Additional Scripts — Meta Pixels, GTM containers, affiliate tags — no longer executes on checkout, thank-you, or order status pages. Plus stores had earlier deadlines.
- How do I know if my Purchase tracking died?
- Open Meta Events Manager and compare daily Purchase counts before and after August 26. If Purchases dropped while orders didn't, your checkout scripts stopped firing. PageView and ViewContent usually look normal because the storefront half of the Pixel still works.
- Can I just move my Pixel into a Shopify Custom Pixel?
- Partially. Custom Pixels run in a sandboxed Web Pixels environment: they can fire the browser Pixel, but they cannot call Meta's Conversions API directly, and iOS/ad-blocker losses remain. Server-side Purchase needs a sender outside the sandbox.
- Does Shopify's native Facebook & Instagram app solve this?
- It sends CAPI for stores that install and configure it, and for many stores it's enough. Its weak points are diagnosis and control: no per-event match scoring, no sent-vs-counted comparison, and double-counting risk if anything else fires the same Pixel without a shared event_id.
- How does Caply fix Shopify Purchase tracking?
- Caply sends Purchase from managed servers using order data — email and phone hashed before Meta, deduplicated against any browser hit by event_id, with automatic retries. You see every event's delivery status and a match score in the dashboard.
Fix it this week
Get Purchase back in front of Meta's algorithm
Connect your Pixel, add one snippet, and watch the first server-delivered Purchase arrive with a match score. Pro $29/mo, 14-day trial (card required).
Related: How Caply sends CAPI · event_id deduplication · Ghost conversions · Full scanner