Problem diagnosis · Meta Ads

Your Meta ROAS is
a number you
made up.

If you're running Meta Ads with only a browser pixel, you're missing 25–40% of purchase events before they ever reach Meta's algorithm. Your ROAS looks fine. Your actual revenue doesn't match. The fix is the Conversions API — but only if it's set up correctly.

Check your CAPI setup Free

I'll review your Meta Events Manager, pixel setup, and CAPI configuration. You'll get a written summary of what's broken and what your EMQ score should be — within 24 hours.

Get a free CAPI audit →

+22% match rate — typical improvement

40%
iOS purchases invisible to browser pixel
30%
Desktop users blocking pixel with ad blockers
+22%
EMQ improvement after correct CAPI setup
6.0+
Target EMQ score for optimal optimisation
Why your pixel-only setup is failing
01
iOS 14+ makes 75–85% of iPhone users invisible

When Apple introduced App Tracking Transparency in 2021, most users opted out. On iOS, the Meta Pixel can no longer reliably track purchases — click IDs get stripped from URLs, attribution windows shrink, and the pixel sees fewer conversions with less identifying information. For e-commerce stores with high mobile traffic, this alone can cut reported conversions by 30–40%.

The fix
Meta CAPI sends purchase events from your server — independently of what the browser does. iOS users who opted out of tracking can still have their purchases attributed via server-side hashed customer data (email, phone, name).
02
Ad blockers kill your pixel silently

uBlock Origin, Brave, and Firefox Enhanced Tracking Protection block Meta's pixel domain outright. In the Netherlands and Germany, ad blocker adoption exceeds 30% of desktop users. Every one of those visitors is invisible to your pixel — including when they buy.

The fix
Server-side CAPI via GTM server container with a custom subdomain. Your server sends the event directly to Meta — the browser never needs to be involved. Ad blockers have nothing to block.
03
CAPI is installed but events are duplicating

You installed CAPI — but now Meta is counting the same purchase twice: once from the browser pixel, once from the server. Your ROAS looks inflated. Your CPA looks artificially low. Meta's algorithm is optimising toward phantom conversions. This happens when deduplication event_id parameters aren't set correctly.

The fix
Every event needs a unique event_id passed identically by both the browser pixel and the CAPI server event. Meta matches them and deduplicates. Without this, you have a counting problem worse than no CAPI at all.
04
Low Event Match Quality (EMQ) — below 6.0

EMQ measures how effectively Meta can match your conversion events to actual Meta user accounts. A score below 6.0 means Meta is receiving events but can't connect them to users reliably — so Smart Bidding optimises on incomplete audience data. EMQ below 5 is essentially the same as no CAPI.

The fix
Enrich CAPI events with hashed customer data: email, phone number, first name, last name, zip code. Each additional identifier improves your EMQ score. A properly configured server-side setup targeting 8.0+ is achievable.
05
Shopify's native CAPI is browser-triggered — not truly server-side

Most merchants think enabling CAPI in the Shopify Facebook & Instagram channel gives them server-side tracking. It doesn't. Shopify's default integration still requires the browser's Web Pixel to fire in order to trigger the server event. If the browser is blocked, the server event never fires either. This is why stores with "Maximum" data sharing still see EMQ scores stuck at 4.0–6.0.

The fix
True server-side CAPI requires a GTM server container (via Stape.io) with a GA4 client that receives web events and forwards them to Meta — independent of browser behavior. This is the setup that recovers the 25–40% of conversions Shopify's native integration misses.
Pixel only vs. CAPI via sGTM
Scenario iOS 14+ users tracked Ad blocker users tracked Cookie lifetime EMQ score Deduplication
Browser pixel only ~20–25% 0% 7 days (Safari) 3–5 N/A
Shopify native CAPI ~50–60% ~30% 7 days (Safari) 4–6 Inconsistent
CAPI via sGTM + Stape 90–95% 90%+ 400 days 7–9+ Reliable

Your CAPI setup might be
making things worse.

A misconfigured CAPI duplicates events and corrupts your audience data. I'll check yours and tell you exactly what's happening — no cost, no commitment.

Get a free CAPI audit
Instagram Facebook X LinkedIn
Free Tracking Audit