Skip to content
Shopify

Shopify Meta Conversions API: Step-by-Step Setup Guide (2026)

By Omar Faruk · ·9 min read ·Last updated
Shopify Meta Conversions API setup guide featured graphic with Pixel and CAPI

The Meta Conversions API is the fix for Facebook and Instagram ads that "lose" sales. Browser pixels miss purchases because of ad blockers, Safari limits and declined cookies. On Shopify, you can add server-side Meta tracking in about 30 minutes, without code. This guide is the setup and test process I use on client stores.

By Omar Faruk, Shopify tracking developer · Last updated: October 31, 2026

Quick answer: To set up the Shopify Meta Conversions API, install the Facebook & Instagram by Meta app, connect your pixel, and turn on customer data sharing at the Maximum level. Shopify then sends events from its servers alongside the Meta Pixel. Verify a single, deduplicated Purchase in Meta Events Manager.

What is the Meta Conversions API?

The Meta Conversions API (often called CAPI) sends store events straight from a server to Meta. The Meta Pixel sends events from the shopper's browser. CAPI sends a server copy that browsers cannot block.

Meta uses these events to report results, optimize delivery toward buyers and build audiences. Better event data usually means Meta can find more buyers for the same budget. That is why I treat CAPI as a standard part of every Shopify store running Meta ads.

Meta Pixel vs Conversions API

Feature Meta Pixel Conversions API
Runs in Shopper's browser Shopify's servers
Blocked by ad blockers Often No
Affected by Safari and iOS limits Yes Much less
Sends fbp/fbc browser cookies Yes Only if passed along
Customer data for matching Limited Hashed email, phone, name, location
Shopify setup Any data sharing level Enhanced or Maximum level

The answer is not "pixel or CAPI." You want both, so Meta gets browser signals and reliable server data for each purchase.

Which data sharing level should you choose?

Shopify's Facebook & Instagram app has three customer data sharing levels.

Meta data sharing levels in Shopify: Standard pixel only, Enhanced and Maximum with Conversions API
Enhanced and Maximum both add the Conversions API.
  • Standard: Meta Pixel only. Browser ad blockers can stop it.
  • Enhanced: Meta Pixel plus the Conversions API, with customer details shared for matching.
  • Maximum: Pixel and Conversions API, updated with Meta's latest advertising technology.

I choose Maximum for almost every store. Then I make sure the store's privacy policy explains the data sharing, as Shopify and Meta both require.

Which events does Shopify send to Meta?

Once a pixel is connected, Shopify tracks these standard events automatically. You do not need theme code for any of them.

Meta event When it fires on Shopify What it powers
PageView Any page view Website audiences
ViewContent Product page view Dynamic product ads, retargeting
Search Storefront search Intent audiences
AddToCart Product added to cart Cart abandonment ads
InitiateCheckout Checkout button clicked Checkout abandonment ads
AddPaymentInfo Payment details entered Late-funnel analysis
Purchase Thank you page viewed Sales optimization, ROAS

Shopify sends the order's total price as the Purchase value. That total includes taxes, duties and discounts. Keep this in mind when you set ROAS targets, since tax inflates the number slightly compared with net revenue.

How to set up the Shopify Meta Conversions API (step by step)

You need Shopify admin access and admin access to your Meta business portfolio, ad account and pixel.

Step 1: Install Facebook & Instagram by Meta

  1. In Shopify admin, open the Shopify App Store and add Facebook & Instagram by Meta.
  2. Log in with Facebook and connect your business portfolio, ad account and Facebook Page.
  3. Accept Meta's terms when asked.

Step 2: Connect your Meta Pixel

  1. Go to Sales channels → Facebook & Instagram → Settings → Data sharing settings.
  2. Connect the pixel (dataset) your ads already use. Keeping the same pixel keeps your audiences and learning history.

Step 3: Turn on data sharing at Maximum

  1. In the Customer data sharing section, turn data sharing on.
  2. Under Choose level, select Maximum and save.

Step 4: Remove duplicate Meta tracking

  1. Search theme.liquid for fbq( and connect.facebook.net.
  2. Check Settings → Customer events for custom pixels sending Meta events.
  3. Pause Meta tracking in other pixel apps unless you deliberately chose that app instead.

Step 5: Set up consent

Turn on Shopify's customer privacy banner or a consent app built on Shopify's Customer Privacy API. Several US states give shoppers the right to opt out of targeted advertising. Shopify passes consent choices to its marketing integrations.

Step 6: Check your ad account settings

In Ads Manager, make sure your sales campaigns optimize for Purchase on the connected pixel. Check the attribution setting too. Meta's default is 7-day click and 1-day view.

How does Meta deduplicate Pixel and CAPI events?

Deduplication is how Meta avoids counting one purchase twice when both pixel and server report it. Meta matches events that share the same event_name and event_id within a short time window. It keeps one and combines the useful data.

Meta Pixel and Conversions API deduplication flow on Shopify using the same event_id
One purchase, two signals, one counted conversion.

Shopify's app handles this for you. Problems start when you add a second integration. If a GTM tag or another app sends its own Purchase with a different ID, Meta sees two separate purchases.

How to improve Event Match Quality

Event Match Quality (EMQ) is Meta's score from 0 to 10 for how well your events match Meta accounts. You can see it per event in Events Manager. Higher match quality helps attribution and optimization.

Customer parameter Impact on matching How Shopify gets it
Email (hashed) Very high Checkout contact field
Phone (hashed) High Checkout or shipping phone
First and last name Medium Shipping or billing address
City, state, ZIP, country Medium Shipping address
fbp and fbc cookies High for ad clicks Meta Pixel in the browser
IP address and user agent Medium Browser and server request

Practical ways to raise EMQ on Shopify:

  • Use Enhanced or Maximum data sharing, never Standard.
  • Ask for phone numbers at checkout if it fits your store.
  • Keep the pixel running so click IDs reach Meta.
  • Do not strip fbclid from landing page URLs with redirects or link shorteners.

How to verify tracking is working

Checklist to verify Meta Conversions API on Shopify in Events Manager: Test Events, deduplication, EMQ
My six checks after every Meta tracking change.
  1. Test Events: in Meta Events Manager, open your dataset and go to Test events. Open your store from there and place a test order with a 100% discount code.
  2. One Purchase only: confirm a single Purchase with the right value and currency.
  3. Both connection methods: in the event overview, Purchase should show browser and server activity.
  4. Deduplication: after 24–48 hours, compare Meta's Purchase events with Shopify orders. They should be close, not doubled.
  5. Event Match Quality: check the Purchase score and the parameters Meta suggests adding.
  6. Diagnostics: fix open warnings such as missing parameters or duplicate events.

The Meta Pixel Helper Chrome extension is also useful. It shows browser events on each page, but it cannot show server events.

Troubleshooting Meta tracking on Shopify

Problem Likely cause Fix
Purchases doubled Theme code or second app also sends Purchase Keep the Facebook & Instagram app as the only source
No server events Data sharing set to Standard Switch to Enhanced or Maximum
Wrong pixel receives data Old pixel connected in the app Reconnect the pixel your campaigns use
Purchase value looks high Shopify sends the order total including tax and shipping Expected; account for it in ROAS targets
Low Event Match Quality Few customer details shared Use Maximum, collect phone, keep the pixel
Purchases far below Shopify Attribution window, consent, ad-blocked browsers Compare same windows; confirm CAPI is active

How to keep your catalog and pixel in sync

If you run Advantage+ catalog ads, Meta must match product IDs in your events to products in your catalog. When the IDs do not match, Meta cannot show the right product to the right shopper.

  • Sync your catalog through the same Facebook & Instagram app that sends your events. Then the IDs line up automatically.
  • In Commerce Manager, check the catalog's Events or Diagnostics area for the event match rate.
  • If you also upload a feed from another tool, make sure it uses the same product and variant ID format.
  • Connect the pixel to the catalog in Commerce Manager so retargeting audiences can use it.

A low match rate is a common reason catalog ads underperform even when purchase tracking looks fine. It is worth checking once a month.

When to use an app or server-side GTM instead

The built-in app covers most stores. I move clients to another setup only for clear reasons:

  • Multiple pixels for several ad accounts or agencies.
  • Custom events such as quiz completions or subscription renewals.
  • Profit-based values instead of revenue.
  • One pipeline feeding Meta, TikTok, Google Ads and GA4 together.

For that last case, read my guide to Shopify server-side tracking. It compares server-side GTM and tracking apps in detail.

Related guides in this series

Official references: Shopify Help Center: Facebook data sharing, Meta for Developers: Conversions API and Meta for Developers: Deduplicating pixel and server events.

Conclusion

A solid Shopify Meta Conversions API setup is mostly about discipline. Use the Facebook & Instagram app at Maximum data sharing, keep one source for Purchase, and test every change in Events Manager. Clean data lets Meta's algorithm spend your budget on real buyers.

Need a second pair of eyes on your Meta tracking? Take a look at my Shopify tracking service or contact me for a tracking audit.

About the author: Omar Faruk is a web developer who builds and fixes Shopify, WordPress and Laravel sites. He specializes in GA4, Meta, TikTok and Google Ads conversion tracking and Merchant Center fixes.

Written by

Full-Stack Developer — WordPress, Laravel & Shopify

I'm a full-stack web developer who has shipped news portals, company sites, multi-user web apps and Shopify stores for clients around the world. I care about clean code, fast pages and websites that actually bring in sales.

Need help with this on your site?

I can set it up for you — quick turnaround, fixed price.

Hire me

// faq

Frequently asked questions

What is the Meta Conversions API?

The Meta Conversions API (CAPI) is a server-to-server connection that sends website events to Meta. Instead of relying only on the browser pixel, your store's server reports actions such as purchases. Because the data does not pass through the browser, ad blockers and browser privacy limits cannot stop it.

Does Shopify have a built-in Meta Conversions API?

Yes. Shopify's Facebook & Instagram by Meta app includes the Conversions API. Turn on customer data sharing and choose the Enhanced or Maximum level. Shopify then sends purchase events from its servers to Meta alongside the Meta Pixel, with no code or server of your own.

Should I use the Meta Pixel and Conversions API together?

Yes. Meta recommends running both. The pixel captures browser signals like the fbp and fbc cookies, and the Conversions API sends a reliable server copy. Meta merges the two when they share the same event name and event ID, so each purchase is counted once.

How do I fix duplicate purchases in Meta Events Manager?

Duplicates usually come from two integrations sending Purchase, such as the Facebook & Instagram app plus theme code or another pixel app. Remove the extra source. If you send custom events, make sure the browser and server versions share the same event_id and event_name.

What is a good Event Match Quality score?

Event Match Quality is Meta's 0–10 score for how well event data matches Meta accounts. For Purchase, aim for Good or Great, roughly 6 and above. Higher scores come from sending more hashed customer details, such as email, phone, name and location, with consent.

Which data sharing level should I choose in Shopify?

Choose Maximum for most stores. Standard uses only the browser pixel. Enhanced adds the Conversions API with customer matching. Maximum includes the Conversions API and Meta's latest advertising technology. Update your privacy policy to explain how customer data is shared.

Why is Meta reporting fewer purchases than Shopify?

Meta only reports purchases it can attribute to an ad within your attribution setting, while Shopify counts every order. Declined consent, missing customer data and Standard-level data sharing also lower Meta's count. Compare the same dates and attribution window before treating it as a tracking fault.

Do I need a developer or server-side GTM for Meta CAPI on Shopify?

Not for most stores. The Facebook & Instagram app handles Conversions API without code. Server-side GTM or a paid tracking app makes sense when you need custom events, several pixels, extra data enrichment, or one server pipeline for many ad platforms.

Related articles