Why the Conversions API matters
The Meta pixel runs in the shopper's browser. Ad blockers, privacy settings and iOS restrictions stop some of those events from reaching Meta. The Conversions API (CAPI) sends the same events from the server, so more purchases are counted and Meta has better data to optimise your ads.
Step 1: Install the Facebook & Instagram app
- In Shopify admin, go to the app store and install Facebook & Instagram by Meta.
- Log in with the Facebook account that has admin access to your Business portfolio.
- Select the correct Business portfolio, Facebook Page, ad account and dataset (pixel). Picking an old or wrong pixel is one of the most common mistakes.
Step 2: Turn on Maximum data sharing
In the app's settings, open Data sharing and choose Maximum. This sends events through both the pixel and the Conversions API. Standard or Enhanced only use part of that setup.
Step 3: Remove duplicate pixel code
- Check your theme files (
theme.liquid) for oldfbq('init')code. - Check other apps (review apps, page builders, old tracking apps) that may also fire the pixel.
- Check Shopify's customer events / custom pixels for an old Meta pixel.
Two pixels firing on the same page usually means purchases are counted twice and ROAS looks better than it really is.
Step 4: Test in Events Manager
- Open Meta Events Manager and select your dataset.
- Use Test events and browse your store: view a product, add to cart, start checkout.
- Place a test order (a 100% discount code works) and check that one Purchase event arrives with the right value and currency.
- Look for the "Browser" and "Server" labels on the events and make sure they are deduplicated, not counted twice.
Step 5: Verify your domain and check Event Match Quality
Verify your store domain in Business settings → Brand safety → Domains. Then check the Event Match Quality score for Purchase in Events Manager. Higher match quality means Meta can link more purchases to the people who saw your ads.
Common problems
- Purchase value is 0: usually an old pixel or a third-party checkout app sending events without value.
- Wrong currency: store currency and ad account currency mismatch, or multi-currency settings.
- No server events: data sharing is not set to Maximum, or the app is connected to a different dataset.
Need it done for you? See Shopify pixel setup.
About the author
Rashid Khaliq is an expert media buyer and Meta ads specialist with 3+ years of experience and 100+ clients, running Meta, Google, TikTok and Snapchat ads for e-commerce brands and local service businesses. More about Rashid.