Meta ads & tracking · 4 min read

Meta CAPI for Shopify in 2027: setup guide and why your ROAS is wrong without it

Your Meta Pixel misses a third of your purchases. This guide shows how to set up server-side tracking on Shopify and read the ROAS you actually earned.

By the Pixel Caption growth team

A laptop on a desk showing a marketing analytics dashboard with user numbers, a traffic chart and conversion figures

Your ROAS is wrong, and the Pixel is why

The Meta Pixel is a JavaScript snippet that runs in the buyer browser. When it cannot run, the purchase never reaches Meta. Ad blockers stop the script from loading. Apple iOS 14.5 asks users whether apps may track them, and most say no. Safari caps the cookies the Pixel relies on at 7 days. Browser tracking misses 20 to 40 percent of real purchases on most stores. Your reported ROAS is understated, your cost per acquisition looks higher than it is, and Meta optimises toward the buyers it can see instead of the buyers you actually have.

What CAPI is

The Conversions API sends conversion events from your server directly to Meta, instead of from the buyer browser. The browser can be blocked. Your server cannot. CAPI does not replace the Pixel. The two run in parallel, and Meta deduplicates them so one purchase is counted once. The setup Meta recommends is called a redundant event setup: Pixel plus CAPI for every important event, with the same event ID on both sides.

How much you are losing

Take a simple example. If you had 100 real purchases but only 70 were tracked, your cost per acquisition looks 43 percent higher than it actually is. If Meta reports only 70 percent of your real revenue, your ROAS looks like 2.3 instead of 3.3. Meta reports an average 17.8 percent lower cost per result for advertisers using CAPI alongside the Pixel, in its April 2026 announcement. The gap is not a reporting quirk. It is the algorithm learning from a biased sample, and it gets worse as your iOS share grows.

The Shopify setup, step by step

On Shopify, the fastest route takes an afternoon. You do not need a developer.

  • Open Settings, then Customer events, and connect the Facebook and Instagram app.
  • Set data sharing to Maximum, so server side events are sent alongside browser events.
  • In Meta Events Manager, confirm each event shows both Browser and Server as sources.
  • Check Event Match Quality on your Purchase event. Below 5.0 means you are sending too few customer parameters.
  • Send hashed email, phone and external ID with each event, hashed with SHA-256 before transmission. This lifts match quality from the 4 to 5 range into the 7 to 8 range.

The one mistake that doubles your conversions

If the browser and the server both send a purchase without a shared event ID, Meta counts it twice. Your conversion numbers double, and that is worse than losing signals. Send the same event ID on both sides for every purchase. Meta deduplicates a browser and a server event when the event name and event ID match and both arrive within 48 hours. Check your Purchase event in Events Manager after setup. If the count jumps overnight, deduplication is broken.

What to check every month

CAPI is not a one time setup. Check three numbers monthly. Event Match Quality on Purchase should sit above 7.0. Event coverage, the ratio of CAPI events to Pixel events, should head toward 75 percent, which is the target Meta recommends. And compare your Shopify order count with the purchases Meta reports. If the gap is wider than 10 percent, something in the setup has broken.

What breaksWhat CAPI does
Ad blockers stop the Pixel scriptThe server sends the event direct to Meta
iOS opt outs hide the buyerHashed email and phone match the buyer
Safari cookies expire in 7 daysServer events carry the full order data
If Meta can't see your conversions, it can't optimize for them. You end up paying to reach the wrong people while your best customers go unattributed.
Count once, or do not count at all

One guide found a store where summing the same purchase under several event names read 12.63 instead of 2.53. Deduplicate by event ID, then trust the number.

Get new posts by email

Practical D2C and Shopify notes from our team, one or two a month.

Free. Unsubscribe anytime.

We use your email only for what you asked for. Privacy notice

Written by the Pixel Caption growth teamNotes from our performance marketing specialists.
[ more notes ]

Keep reading

All posts

Not sure your tracking is telling the truth?

We audit your Meta setup and show you how many purchases the Pixel is missing.

Get a free tracking audit

Pixel Captionnow