Loading tutorials…
Loading tutorials…
Your Meta pixel was firing yesterday. Today, Events Manager shows zero purchases. Welcome to one of the most common Shopify-stack failures — and one of the most expensive if it goes unnoticed. Here's the diagnostic sequence.
Who this is forShopify owners who notice ad-platform conversions dropping suddenly, GA4 events disappearing, or Klaviyo Placed Order events not arriving. If you run $1K+/mo in ads, every day of broken tracking is 30-50% of your true ROAS hidden from bid strategies.
What you'll need
Step 1
Open Meta Events Manager, GA4, TikTok, Klaviyo. Note exactly which events stopped firing and when.
Meta Events Manager → Diagnostics: any error like 'PII detected' or 'Mismatched event'? Note the date the events dropped.
GA4 → Reports → Realtime: any purchase events firing right now (run a test purchase if needed)?
TikTok Events Manager → Test events: does Purchase fire when you test?
Klaviyo → Profiles → search your test email → did 'Placed Order' fire on the recent order?
If all platforms broke at once, the issue is upstream — usually a Shopify app update or theme change. If only one broke, the issue is in that platform's specific integration.
Step 2
Shopify Admin → Settings → Customer events. Verify each App pixel and Custom pixel is enabled and shows the expected permission level.
Open Shopify Admin → Settings → Customer events. You'll see two sections: App pixels and Custom pixels.
For each pixel: status should be 'Connected' and the toggle should be ON. A grayed-out toggle means the pixel was disabled — re-enable.
Check the permission level: 'Required' means the pixel only fires when the user accepts cookies. If you don't have a consent banner, switch to 'Not required.'
App pixels (Meta, Google, TikTok): if any shows 'Reconnect required' or an authentication error, click into the app and re-link. Tokens expire — Meta's typically lasts 60 days for short-lived tokens.
Step 3
A new app can override your pixel. A removed app may have taken your pixel config with it. Shopify Admin → Apps → review recent activity.
Open Shopify Admin → Apps → sort by Last opened.
Any apps installed in the last 30 days? Especially apps in categories: marketing, analytics, checkout, conversion-optimization, popup, reviews.
Any apps uninstalled? Shopify deletes the app's pixel along with the app. If you uninstalled an old Meta app, your Meta pixel may have gone with it.
If you find a suspicious new app, disable it temporarily and re-test the pixel. If the pixel comes back, the app was the culprit — either configure it properly or remove it.
If a key app was uninstalled, reinstall the official Shopify channel app and reconfigure. Don't try to recreate the pixel by hand — the official app handles it more reliably.
Step 4
Shopify Admin → Online Store → Themes → Version history. Any theme update or duplicate-and-edit in the last 30 days?
Open Online Store → Themes → click '...' on your live theme → Version history.
If you (or a developer) edited theme.liquid, theme.json, or layout/checkout.liquid recently — that may have removed pixel code that lived in the theme.
Compare the current theme.liquid to the version from before tracking broke. Look for: missing <script> tags, removed Liquid blocks, or changes to the <head> section.
Restore the previous version temporarily and test if tracking returns. If yes, the theme edit was the culprit — re-apply the edit carefully, preserving pixel code.
Note: with checkout extensibility, most pixels should NOT live in theme.liquid anymore — they should be in Customer Events. If you find pixel code in theme.liquid, move it.
Step 5
Open the browser DevTools on your live store. Look in the Network tab for 'collect' / 'gtag' / 'tr' / 'tiktok-analytics' requests on each pageview and conversion event.
Open your live store in Chrome incognito. Open DevTools → Network tab. Filter for 'collect' (GA4), 'tr?' (Meta), 'analytics' (TikTok), 'gtag' (Google).
Navigate the store: home → product → add to cart → checkout. Each navigation should fire the relevant pixel events.
If you see the requests firing → tracking is working in the browser. The problem is on the platform side (event mapping, deduplication, attribution).
If you don't see the requests → tracking is broken in the browser. The Customer Events pixel isn't running. Re-check the Customer Events config or look for consent-banner blocks.
On the Thank You page after a test purchase, the Purchase event request should fire. If it doesn't, your conversion tracking is broken — fix this immediately.
Step 6
Some pixel events should also fire server-side (CAPI for Meta, Conversion API for TikTok, Measurement Protocol for GA4). Check the server-side path independently.
Meta Events Manager → Test events → run a test purchase → check that the Purchase event appears with BOTH 'Browser' and 'Server' columns.
If only Browser fires: CAPI is misconfigured. In Shopify → Meta channel app → Settings → Data sharing → set to Maximum. Re-generate the system-user token if expired.
If only Server fires: browser pixel is blocked (likely by an ad blocker or consent banner). Server is fine — but you're losing some browser-only signals.
Same check for TikTok (Events API) and Google (gtag + measurement protocol).
Step 7
Once tracking is restored, document what failed and add monitoring so it doesn't silently fail again.
Document the root cause and fix in your team wiki: 'On YYYY-MM-DD, Meta CAPI failed because [reason]. Fix: [action].'
Set up a weekly cadence: every Monday, run a quick test purchase in incognito and verify all major pixels fire. 10 minutes/week prevents 30 days of silent failure.
Consider a paid uptime-style tool for pixels (e.g., Mida, Tagrocket) that alerts when events stop firing. For stores spending $5K+/mo on ads, this pays back.
Add a recurring calendar reminder to re-generate Meta system-user tokens every 60 days, before they expire silently.
Common mistakes
Ignoring expired Meta system-user tokens
What goes wrong: Meta system-user tokens for CAPI expire every 60 days by default. When they expire, CAPI silently stops. Browser pixels keep firing — so you only notice if you check Events Manager. 30-60 days of half-attribution before someone catches it.
How to avoid: Generate a long-lived token (no expiration) or set a calendar reminder to refresh every 60 days. Also enable Meta CAPI status alerts in Events Manager.
Pixel code still in theme.liquid after checkout extensibility migration
What goes wrong: Old pixel code in theme.liquid + new pixel in Customer Events = double-counted events. ROAS in Ads Manager looks 2x better than reality. Bid strategies optimize toward inflated targets.
How to avoid: Remove all pixel <script> tags from theme.liquid, snippets, and layout files. Pixels should ONLY live in Customer Events.
Consent banner blocking pixels silently
What goes wrong: Adding a consent banner with default-opt-out compliance immediately cuts pixel fires by 60-80% in EU and 20-30% in US (where users dismiss banners). Bid strategies see less data and over-optimize on remaining traffic.
How to avoid: Configure consent mode v2 in Google and Meta. Server-side events (CAPI) bypass consent banners legally in many regions when properly tagged. Talk to a privacy specialist if uncertain.
Trusting the channel app to "just work" after migration
What goes wrong: Channel apps occasionally lose configuration during Shopify platform updates (especially during the checkout.liquid → extensibility deprecation in 2025). You assume tracking is fine until 30 days of bad attribution is already in your bid strategies.
How to avoid: Weekly Monday test purchase in incognito. 10 minutes. Validates every pixel fires.
Custom pixel reading from DOM instead of event payload
What goes wrong: Custom pixels run in a sandboxed iframe and cannot read parent DOM. Old code patterns silently return undefined. Your custom pixel 'fires' but with no data.
How to avoid: Re-read the Customer Events documentation. Use the event.data payload Shopify provides. Never document.querySelector inside a custom pixel.
Two Meta pixels installed at once
What goes wrong: You installed the official Meta sales channel app AND left an older custom Meta pixel in Customer Events. Now every event is sent twice. Browser pixel + browser pixel = duplicate browser events. Even with CAPI deduplication, this confuses Meta's attribution.
How to avoid: Audit Customer Events. Confirm exactly ONE Meta pixel source. Disable the older custom pixel if the official channel app is now in place.
Recap
Done — what's next
How to set up Shopify checkout extensibility
Read the next tutorial
Hand it off
Diagnosing once is recoverable. Doing it monthly is a job. A Shopify specialist can audit your full pixel stack, fix the current break, and set up monitoring at $14-16/hr — typically $200-400 for the fix + ongoing $150-300/mo for pixel-health monitoring.
See specialist rates
Browser pixel: immediate (next event fires correctly). CAPI: 24-48 hours for Meta to re-validate. Bid strategies: 7-14 days to re-stabilize. Full revenue attribution back to normal: 14-30 days depending on how long tracking was broken.
Compare Meta Events Manager Purchase count to actual Shopify orders for the last 7 days. If pixel Purchases > Shopify orders by 30%+, you're double-firing. If pixel Purchases < Shopify orders by 30%+, you're under-firing or losing events. Within ±10% is normal noise.
About 20-30% of US traffic blocks browser pixels (uBlock, Brave, Safari ITP). That's normal and unavoidable without server-side events. CAPI / Conversion API recovers most of these. If you don't have server-side enabled, you're under-reporting by 20-30% structurally.
Shopify Analytics records every order natively. Meta only sees orders where its pixel fired AND the user was tracked correctly. Gap is normal — typically 10-30%. Gaps above 50% indicate a broken pixel, not just ad-blocker traffic.
For stores spending $5K+/mo on ads, yes. Tools like Mida or Tagrocket cost $30-80/mo and alert you within hours of pixel failure. ROI is obvious if the alternative is 14-30 days of broken tracking before someone notices.
Shopify
Shopify killed checkout.liquid in August 2025. If you haven't migrated, your old pixels and order-confirmation customizations are silently broken. Here's the full checkout extensibility migration — pixels, CAPI, and post-purchase logic.
Shopify
Shop Pay one-click checkout lifts conversion rate 5-15% for returning shoppers. But misconfigured tracking means you'll attribute those wins to the wrong channel for months. Here's the correct setup.
Shopify
If your store gets traffic but your checkout completion rate is below 50%, you're losing real money to fixable friction. This walkthrough is the diagnostic sequence a Shopify CRO specialist runs in their first week on the account.
Meta Ads
Your pixel was working last month. Now Events Manager shows zero. Or it shows events but not the ones you need. This is the diagnostic sequence specialists run.
Shopify
DIY Shopify marketing is a great idea — until it isn't. This is the honest framework: when the cost of self-managing exceeds the cost of hiring, and how to tell which side you're on.