Skip to main content
Growth

Meta Conversions API on Shopify: A Plain Setup Guide

Set up Meta's Conversions API on Shopify with the native app: what pixel and server events do, data-sharing levels, duplicate checks and when you need a tool.

November 4, 2026 16 min read Talha Butt.
Share

Meta Conversions API on Shopify: A Plain Setup Guide

Quick answer: On Shopify, set up Meta’s Conversions API through the Facebook & Instagram sales channel: remove any old Meta pixel code from your theme, connect one pixel, then choose the Enhanced or Maximum data-sharing level, the two levels Shopify says use the API alongside the pixel. Then open Events Manager and confirm that Purchase arrives from both the browser and the server, and that the Event deduplication tab shows the two copies being matched into one. Meta says setup through a commerce platform like Shopify costs nothing extra, so a paid third-party tool is only worth considering for events or control the channel does not give. This is as at 31 October 2026, and menu names change.

If you run Meta ads, the Purchase event is how Meta learns which clicks turned into orders. Two things can send it: a small piece of code in the shopper’s browser (the pixel) and a server (the Conversions API). This guide works from the platforms’ own documentation.

Two things up front. Prism3 sells Shopify SEO, GEO and CRO. We do not run ads or email, and this guide recommends no paid tool. And I am not promising that this setup improves your ad results. It makes the data Meta receives more complete and easier to check. What Meta’s systems do with it is up to Meta.

Everything below about Meta and Shopify comes from their own Help Centre and developer pages, which I read on 31 October 2026. They change, so I say “as at” where it matters, and I say so where a step is my own judgement.

What the pixel and the server event each do

Meta’s Help Centre describes the Meta pixel as a browser-based tool that tracks actions on your site, such as page views and purchases, and the Conversions API as a server-side method that sends web events from your server straight to Meta. Meta says the pixel depends on browser data, which can be blocked or lost because of browser settings or connectivity problems, while the API is more resilient to browser limits and ad blockers.

In plain terms, the pixel is a watcher in the shopper’s browser. If the browser blocks it or the page does not finish loading, the watcher can miss the sale. On Shopify, where Purchase fires on the thank-you page, my reading is that a shopper who never reaches that page is also missed. The server event is sent by a system that already knows the order exists.

QuestionMeta pixelConversions API
Where does it run?In the visitor’s browserOn a server (on Shopify’s native app, between Shopify’s and Meta’s servers)
What can stop it?Browser settings, ad blockers, connectivity, page-load errorsMostly not the browser; consent settings still apply
What does it add?IP address and user agent are added automaticallyEvents the browser cannot see; IP address must be configured manually for server events

Meta’s recommended pattern is to send the same events through both, which it calls a redundant event setup. If you do, you must tell Meta the two copies are the same event. That is deduplication, and it is the step to check.

What a server event does not do: it does not change who clicked your ad, and it does not make Meta’s numbers match Shopify’s. Meta’s help page on event counts says Ads Manager results can be lower than Events Manager results, because Ads Manager shows only events attributed to your ads while Events Manager shows most events received. If your real problem is that Meta reports more sales than Shopify, read why Meta shows more sales than Shopify.

What Shopify’s Facebook & Instagram app does for you

Facebook & Instagram by Meta is a Shopify sales channel, not an app in the usual sense. Meta’s Shopify guide lists what you need before you begin: a store that is not password protected, the Basic Shopify plan or higher, a Facebook Page for your business, and a Meta business portfolio that owns that Page, with admin permission on it.

One setting controls what is sent: the customer data-sharing level. As at 31 October 2026, Shopify’s Facebook data sharing page describes three levels.

LevelWhat it usesWhat it shares
StandardThe Meta pixel only; a browser ad blocker can stop itBrowsing behaviour in your store
EnhancedThe pixel plus the Conversions API, which Shopify says sends the purchase event server to serverBrowsing behaviour plus customer name, location, email address and phone number
MaximumThe pixel, the API and, in Shopify’s words, Facebook’s latest advertising technologyThe same kinds of personal information as Enhanced

Four notes on that table.

  • Only Enhanced and Maximum use the Conversions API. On Standard you have a pixel and no server event.
  • Shopify does not explain how Maximum differs from Enhanced. Its page lists the same personal data for both and does not define “latest advertising technology”. Read the description beside each option in your admin. Meta’s Shopify guide says to select Enhanced or Maximum.
  • Your options may differ. Shopify says the levels carry different privacy settings depending on when you installed the channel.
  • There is a second setting, for data access. Meta’s Shopify guide says to choose “Always on” or “Optimized” under data access settings, and recommends Always on. Shopify’s app pixels page says Always on gives the app pixel access to all of your customer and business data without limitations. Optimized, which Shopify lists as the default, lets Shopify pause some or all of the data a pixel receives if it is getting more than it needs, until relevant activity resumes. Meta recommends one option and Shopify makes the other the default, so treat this as a privacy decision as well as a tracking one and make it deliberately.

Shopify’s page says that once a pixel is connected it tracks seven events: PageView, ViewContent, Search, AddToCart, InitiateCheckout, AddPaymentInfo and Purchase. Purchase fires when a visitor completes a purchase and views the thank-you page. Events that carry a value use the order’s total price, including duties, taxes and discounts, so a Meta revenue figure can differ from your Shopify sales report without any fault. A newsletter sign-up or quiz result is not on the list, so sending one to Meta needs something custom.

Setup, step by step

Step 1: Find any other Meta pixel on the store

Shopify says that if you ever added a Meta pixel to your theme code, you should remove it once the pixel is set up through the channel. If you do not, the store has more than one pixel, which can give duplicate or incorrect data. Look in three places:

  1. Theme code. Shopify points to theme.liquid, where the pixel sits between the head tags. Check every theme you keep.
  2. Online Store Preferences. Shopify describes a Meta pixel section there with a Change button.
  3. Customer events. Shopify says pixels, app pixels and custom pixels are managed there. Note what is connected.

Then tell whoever else touches your Meta account. Shopify warns that if an agency or an app manages your Facebook ads, you should make sure adding a pixel will not cause duplicate or incorrect data. Also write down which pixel (some Meta screens now call it a dataset) your ad account optimises against, so you do not create a second one by accident. That last point is my advice.

If you are cleaning up older scripts too, the order matters; I have laid it out in our Shopify tracking migration guide.

Step 2: Pick a quiet week and record a baseline

Do not change tracking in the middle of a sale, because you cannot tell whether a number moved because of the offer or the change. Our Black Friday checklist suggests freezing theme and app changes about a week before. Black Friday 2026 is Friday 27 November, so if you are reading this in that final week, the safer move is to read now and make the change after the sale. Before you touch anything, write down 14 to 30 days of Shopify orders and Events Manager Purchase events. Do not expect them to match. You are recording what each says today.

Step 3: Install the channel and connect your accounts

In Shopify admin, go to Settings > Sales channels, open the Shopify App Store, find the Facebook channel and follow the prompts. Shopify says the person connecting needs full control of both the Page and the portfolio, and that the portfolio must own the Page. If the channel is already installed, go to Step 4.

Step 4: Turn on data sharing and choose the level

Go to Sales channels > Facebook & Instagram > Settings > Data sharing settings (Shopify’s pages use slightly different names for this screen). Activate customer data sharing, choose a level and connect the pixel.

How I would choose:

  • You do not run Meta ads or build Meta audiences: there is little reason to share customer details with Meta. Standard, or sharing off, is reasonable.
  • You run Meta ads: Enhanced or Maximum is where the server event comes from, and Meta’s Shopify guide recommends one of them.
  • Unsure about privacy: decide that first (see the consent section) and the level second. Shopify itself calls data sharing a choice.

Step 5: Update your privacy policy

Shopify says you decide how much customer data to share, should tell customers how you share it, and are responsible for reviewing Meta’s privacy and data-use best practices and including them in your policy. Enhanced and Maximum share name, location, email and phone, so say that in plain words.

Step 6: Wait, then check

Meta’s developer documentation says events should be verifiable in Events Manager within about 20 minutes of sending, and its test events page says data can take 30 minutes or more to appear in analytics. Shopify adds that a new pixel needs customer activity before data shows. Give it a few hours of normal traffic.

How Meta decides two events are one purchase

Meta’s developer documentation, updated 28 June 2026, gives two methods.

Event name plus event ID (recommended). The pixel’s event name must match the API’s (Purchase on both), and the pixel’s eventID must match the API’s event_id. Think of the event ID as an order number written on both receipts. If the two copies do not differ meaningfully, Meta generally prefers the one received first.

Event name plus fbp or external ID (fallback). Meta says this generally works only when the browser event arrives first and the server event second.

Meta also says events are only deduplicated if received within 48 hours of the first event with that ID, that two identical browser-only or server-only events are not deduplicated, and that if you do not send the same event from both sources you do not need deduplication.

So who creates the event ID on a Shopify store? Meta’s Business Help Centre says that with partner integrations, many platforms, Shopify among those it names, automatically handle the deduplication parameters. The Shopify pages I read do not describe how the channel builds its IDs. That is why you test instead of trusting a guide, mine included.

How to check for duplicate purchases in Events Manager

These paths come from Meta’s Help Centre and developer pages as at 31 October 2026. Meta’s help pages now refer to datasets as well as pixels, so your screens may differ.

1. Read the Overview and the Connection Method

Go to Events Manager > Data sources, select your pixel or dataset, then Overview. Meta says the Overview shows events received before they are deduplicated, discarded under consent controls and other policies, or processed. The Connection Method section shows which channel sent each event.

That matters: a Purchase count close to double your Shopify orders can be normal on a redundant setup, because the browser copy and the server copy are both counted before they are merged. The raw count cannot tell you whether duplicates are being removed.

For Purchase you want to see a browser source and a server source. Browser only means the API is not sending Purchase. Server only usually means the browser pixel is blocked or not firing. A source you do not recognise means something else is sending the event.

2. Open the Event deduplication tab

Click the event, then View details, then Event deduplication. Meta’s verification page says it shows:

  • Rate of events deduplicated, the share of each source’s events that were deduplicated. Higher is better, and a warning appears when the rate is too low.
  • Rate of deduplication key usage, how many events from each source carried each key (event ID, fbp, external ID), plus overlap: the share of events with a key received from both sources, measured against the source with fewer events. Low overlap means non-unique keys, or keys sent from only one source.

Meta publishes no pass mark for the rate, so I will not invent one. Watch for the warning, and for a rate that drops after a change you made.

3. Use Test events for browser events

Go to Data sources, pick your dataset and open Test events. Meta’s help page says that for website events, activity is only recorded while the Test events page is open, that test information stays for 24 hours or until cleared, and that clearing it does not remove the activity from Events Manager, Ads Reporting or Audience Creation. Meta’s developer pages likewise say events sent with a test code still flow into Events Manager. Test activity is not quarantined, so log the time of anything you test.

One limit I want to be honest about. For server events, Meta’s developer documentation describes adding a test code to the request payload, and the Shopify help pages I read describe no place to enter one. So I cannot promise your server events appear in Test events on the native channel. If they do not, rely on the Overview and the deduplication tab. Meta’s best-practice page also says test events built with details that do not match a Meta account may be discarded, so use your own real details, not a made-up email.

4. Place a test order carefully

Shopify’s test order page lists three routes: its test payment gateway, Shopify Payments’ test mode, or a real payment followed by an immediate cancel and refund (processor fees may apply). Shopify warns that customers cannot place live orders while payment providers are in test mode, so do not leave it on. Do not assume a test-mode order sends a Purchase to Meta; check. A real order you later cancel can still send a real Purchase to Meta, so write down the time. Test on a phone as well as a desktop.

5. Read the other tabs

Meta lists five tabs in a server event’s details: Event overview, Event coverage, Event matching, Event deduplication and Data freshness. (Meta’s pages are not consistent on names; one calls the matching tab Event quality.)

  • Event coverage compares events received from the API with unique browser events from the pixel. Meta’s Help Centre says to aim for a 75% ratio.
  • Event matching shows event match quality, scored out of 10. Meta’s verification page says it typically recommends 6.0 or higher.
  • Data freshness shows the delay between the event and Meta receiving it. Meta says to send events in real time or as close to it as possible.
  • Diagnostics is a separate tab. Meta says an issue shows under Active if detected in the last 24 hours, moves to Previously detected if you do not interact with it within three days, and is marked critical (red) or a warning (yellow).

Reading what you see

What you seeLikely causeFirst check
Purchase has a browser source onlyThe API is not sending PurchaseData-sharing level (Standard sends no server event)
Purchase has a server source onlyBrowser pixel blocked or not firingConsent settings; ad blockers in your test browser
Both sources, low deduplication or overlapThe copies do not share an event IDDeduplication tab; any other app or script sending Purchase
More sources than you expectSecond pixel, app, agency tool or old theme codeTheme code, Customer events, installed apps
Everything dropped on one dateA change broke or removed trackingYour change log

A worked example (illustrative numbers, not from a real store)

Say Shopify admin shows 100 orders for a week. The Overview shows Purchase 96 from the browser and 99 from the server, 195 before deduplication, and the deduplication tab shows most events merged with the keys overlapping. That is a healthy picture: about one copy from each source per order, merged into roughly one purchase each. Browser slightly below server is what you would expect if some browsers block the pixel.

Now say there is a third source sending 100 more, and overlap is low. Something else is sending Purchase and the copies are not being matched. Meta warns that without deduplication you may see artificially high conversion numbers. Go back to Step 1 and find the third sender.

What the match quality number is telling you

Event match quality measures how well the customer details sent with a server event can link it to a Meta account. Meta’s developer documentation says only matched events can be used for ad attribution and delivery optimisation; unmatched events still count for basic measurement.

Meta’s Help Centre ranks the details: email address and click ID high; phone, country, external ID, browser ID, date of birth and Facebook login ID medium; first name, surname, town or city and postcode low. Meta’s developer pages also say contact details such as email and phone must be hashed, and that the IP address must never be hashed. A native or partner integration should handle that; with your own build it is your job.

What can you change on the native channel? The Shopify pages I read show one lever, the data-sharing level. I know of no Shopify setting for choosing which details are sent. If your score is low, that is one reason to look at the next section.

I am not a lawyer, and this is not legal advice. Here is what the platforms and the Australian regulator say.

  • Shopify: data sharing is a choice. Its pixels overview says that in markets configured to require consent (usually the EEA and the UK), web pixels run only when visitors have given the required permissions, and that you are responsible for your own privacy compliance. I did not find Australia named, so check how your store is configured.
  • Meta: the Meta Business Tools Terms require you to have lawful rights to collect, use and share data before giving it to Meta, and to hash contact information as its documentation says.
  • The OAIC: its tracking pixels guidance, published 4 November 2024, says “The Privacy Act does not prohibit the use of tracking pixels.” It adds that organisations using third-party pixels should do due diligence, limit collection of personal information to the minimum necessary, collect sensitive information through a pixel only with an individual’s express consent, and disclose third-party pixels clearly in their privacy policy.

If you sell to the UK, EU or US states with privacy laws, the rules differ again. Have a professional check what applies, and test with consent accepted and declined.

When a third-party tool is actually needed

Meta’s comparison of setup routes gives the starting point. For commerce platforms such as Shopify, it says setting up the Conversions API takes a few clicks at no additional cost. Direct integrations need a developer and, Meta says, 2 to 4 weeks for a new one. For partner tools, cost and time depend on the partner. The native route is the one Meta lists at no additional cost, which is why I start there. These decision rules are mine:

RouteChoose it whenWatch for
Shopify’s Facebook & Instagram channelYou want the standard store events with the API alongside the pixel and nobody writes codeYou mostly cannot change which details or events are sent
A partner app that sends server eventsYou need events the channel does not send, more control over details, or several pixels or storefrontsA monthly fee; a second server source that can duplicate the channel’s
A direct build (custom pixel plus server code)You have a developer and a specific need, such as CRM eventsHashing, event IDs and testing are your job; Shopify’s pixel sandbox limits what a custom pixel can read
Server-side Google Tag ManagerYou already run Tag Manager and want one server container feeding several toolsGoogle says you set up the tagging server yourself on Google Cloud or another platform, and use your own domain for the full benefit; my reading is that this is hosting you maintain

Questions to ask any vendor before you pay

  1. Which Meta pixel or dataset will events go to, and is it the one my ads use?
  2. How is the event ID created, and is it the same value the browser pixel sends?
  3. Which customer details are sent, and how are they hashed?
  4. Do I switch off Enhanced or Maximum in the Shopify channel, or run both? If both, how are duplicates handled?
  5. What does it cost per month, and what happens to my events if I cancel?

If a vendor cannot answer the second question in plain words, I would hold off.

Reasons that are not good enough

  • “It will close the gap between Meta and Shopify.” Meta counts attributed and unattributed events differently across its own screens. See why attribution is broken on Shopify and GA4 versus Shopify Analytics for what each number counts.
  • “Your ROAS will go up.” Nobody can promise that. Meta says only matched events can be used for attribution and delivery optimisation; it does not say what happens to your return.

What this does and does not change about your costs

Better tracking will not lower your cost per customer by itself. It gives you, and Meta, a more complete record of who bought. Once your numbers can be trusted, the other lever to look at is what happens after the click.

Illustrative arithmetic, not a result or a benchmark: A$2,000 of ad spend brings 1,000 visits. At a 1.0% conversion rate that is 10 orders, A$200 each. At 1.5% it is 15 orders, about A$133 each, on the same spend. Tracking tells you whether you are measuring that share correctly; fixing the store changes it. Our guides on diagnosing a Meta ROAS drop and clicks with no sales set out the order I would check things in, and the DTC growth system shows where ads, organic search, conversion and email fit together. When the data is trustworthy, three numbers Shopify founders watch is a short list of what to track.

Key takeaways

  • The pixel runs in the browser and the Conversions API runs on a server. Meta recommends sending the same events through both, which is what makes deduplication necessary.
  • On Shopify, only the Enhanced and Maximum levels use the API. Standard is the pixel alone.
  • Remove old Meta pixel code from your theme first; Shopify warns a second pixel can duplicate or distort your data.
  • Meta matches browser and server events on event name plus event ID, within 48 hours. Meta says Shopify is among the platforms that handle this for you. Verify it anyway.
  • The Overview counts events before deduplication, so a Purchase count near double your orders can be normal. The Event deduplication tab gives the real answer.
  • Test events are not kept separate from live reporting, so log the time of anything you test.
  • Meta says setup through commerce platforms such as Shopify costs nothing extra. Add a third-party tool only for events or control the channel does not give.
  • Tracking quality does not set your cost per customer alone. How many visitors buy does too.

FAQs

Do I need the Conversions API on Shopify?

It is a choice. Meta recommends sending events through both the pixel and the API, and Shopify’s Enhanced and Maximum levels do that. If you run Meta ads, it is worth setting up and checking. If you do not, there is little reason to share customer details with Meta.

Is the Conversions API free on Shopify?

Meta’s comparison of setup options says that for commerce platforms such as Shopify, setup takes a few clicks and costs nothing extra. That covers the native channel. Your ad spend is separate, and a third-party tool has its own pricing.

Why does Events Manager show more Purchase events than my Shopify orders?

On a redundant setup the Overview counts events before deduplication, so the browser and server copies can both appear. Check the Event deduplication tab. Events Manager and Ads Manager also count different things, as Meta’s event-count help page explains. For the gap with Shopify, see why Meta shows more sales than Shopify.

What event match quality score should I aim for?

Meta’s verification page says it typically recommends 6.0 or higher, out of 10. Its help page says the score uses the last 48 hours of data. Treat 6.0 as Meta’s guide, not a pass mark, and read the recommendations in Events Manager.

I already have a Meta pixel in my theme. What should I do?

Shopify says to remove the pixel code from your theme once you set up your pixel through Facebook and Instagram by Meta, because otherwise the store has more than one pixel. Check Online Store Preferences and Customer events too, and tell anyone who manages your ads first.

I cannot answer that for your store, and this is not legal advice. The OAIC says the Privacy Act does not prohibit the use of tracking pixels, but says organisations should do due diligence, limit collection to the minimum necessary and clearly disclose third-party pixels in their privacy policy. See the consent section above, then ask a professional about your situation.

Keep reading

Is your tracking telling you the truth about your orders?

Switching the Conversions API on is the easy part; knowing every order is counted once, in Meta, GA4 and Shopify, is the hard part. Book a free 30-minute diagnostic: we look at where your store loses buyers after the click, using your own numbers, and tell you what to fix first. We do not run ads or email. No pitch. No email gate.

A tracking audit and repair (GA4, GTM and ecommerce events) comes before any optimisation in our Shopify CRO service.

Free 30-min diagnostic

Seen enough?
Book a free diagnostic.

We'll look at where your store loses buyers after the click and what to fix first. No pitch. No email gate. 30 minutes.

More from Prism3