When a customer buys from your Shopify store on an iPhone, Safari's Intelligent Tracking Prevention (ITP) and Apple's App Tracking Transparency (ATT) framework actively interfere with the JavaScript your Meta Pixel uses to fire a purchase event. By the time checkout completes, some conversion events have either not fired at all, or fired without the customer identifier needed to attribute the sale back to the correct ad campaign. How many is set by your own iOS share and consent rate, and your dashboards can show it.
The problem compounds beyond iOS. Ad blockers stop the pixel for the desktop visitors who run them. Users who close the browser tab before the thank-you page fully loads never fire the pixel. Cross-device journeys (someone who sees an ad on mobile and buys on desktop) break attribution chains entirely. Cookie expiry means returning customers who buy weeks after clicking an ad are invisible to your campaigns.
Why Shopify's built-in CAPI has a hidden limitation
Shopify offers its own Conversions API connection: in Shopify admin, open Sales channels → Facebook & Instagram → Settings → Data sharing settings. Shopify's help centre says the Enhanced and Maximum levels both use Meta's Conversions API as well as the pixel. For a store that only advertises on Meta, switching that on is the simplest free route, and it may be all you need.
Shopify does not document exactly what triggers each of its server events. CAPI Shield takes a different route: it is triggered by Shopify's order webhook, which fires from Shopify's backend when an order is paid and does not depend on anything happening in the browser. Choose it if you want that independence, want to control exactly which customer fields are sent, or want the same trigger to feed TikTok. Do not run both for Meta unless you have confirmed their event IDs match: two server routes sending the same purchase under different IDs are counted twice.
CAPI Shield fixes this at the root. Rather than relying on the browser to trigger the server event, CAPI Shield uses a Shopify webhook: a server-to-server signal that fires the moment an order is paid, entirely independent of what the customer's browser does. The same webhook simultaneously feeds TikTok's Events API if you advertise there, and your live P&L dashboard: one trigger, three platforms.