How to Set Up the Conversions API on Shopify
Does Shopify support Meta’s Conversions API?
Shopify’s Facebook & Instagram app sends purchases through Meta’s Conversions API when its data sharing is set to Enhanced or Maximum, so most stores need no code. Add a tracking app when you run several pixels, want to see each event and Meta’s reply, or need platforms your channel apps don’t cover. Either way, give each pixel one sender.
The Conversions API is Meta’s server-side route for website events: a server sends them to Meta directly instead of relying on the shopper’s browser (Meta). It doesn’t replace the pixel. Meta’s advice is to “use the Conversions API in addition to the Meta Pixel, and share the same events using both tools” (Meta: best practices), and it keeps one copy of each event when the two carry the same event name and event ID. Meta also wants events quickly, “ideally within an hour”, and accepts an event time up to 7 days before the send (Meta: using the API). Meta’s pages were checked on 24 September 2026.
Which setup should you use?
For one Meta pixel on a typical Shopify store, start with the Facebook & Instagram app. A tracking app suits several pixels or platforms and a per-event log; Meta’s Gateway and your own server need a cloud account or a developer.
| Setup | Effort | Purchase sent server-side | Other events server-side | Several pixels | Each event and Meta’s reply | Two-sender risk | Cost |
|---|---|---|---|---|---|---|---|
| Facebook & Instagram app | A few clicks | Yes, at Enhanced or Maximum | Not stated by Shopify | One at a time | In Events Manager | Another tool on its pixel | Free |
| A tracking app | Paste an ID and a token per pixel | Depends on the app | Depends on the app | Depends on the app | Depends on the app | The channel app on the same pixel | The app’s plans |
| Meta’s Conversions API Gateway | Under 30 minutes, says Meta | Yes | Yes, web events | Multi-account version | In Events Manager | The channel app, if both run | Cloud hosting fees |
| Your own server or server-side tag manager | A developer, for weeks | Yes | Yes | Yes | Your own logs | Any other sender on the pixel | Build and upkeep |
Meta says setting up the Conversions API through a commerce platform such as Shopify takes “just a few clicks” at no extra cost, and estimates 2 to 4 weeks for a new direct integration (Meta: compare setup options). The same page now also lists a free, web-only Meta-enabled Conversions API, which sends your Meta pixel’s events through a server connection Meta creates. The Gateway runs in your own Amazon Web Services or Google Cloud account, and Meta aims it at sites that don’t use a commerce partner such as Shopify: if your partner supports the Conversions API, Meta recommends using it instead (Meta: Conversions API Gateway). Checked 24 September 2026.
How do you turn it on in the Facebook and Instagram app?
Connect the app to Meta, set data sharing to Enhanced or Maximum, and stop Shopify from pausing the pixel. Meta asks for a store that isn’t password protected, the Basic Shopify plan or higher, a Facebook Page owned by your business portfolio, and admin permissions on that portfolio (Meta: connect Shopify).
- From your Shopify admin, go to Sales channels → Facebook & Instagram → Settings → Data sharing settings.
- In the Customer data sharing section, turn on customer data sharing and choose Enhanced or Maximum. Standard uses the Meta pixel alone; Enhanced adds the Conversions API, and Maximum adds Meta’s latest advertising technology on top (Shopify: Facebook data sharing).
- Go to Settings → Customer events, click the Facebook & Instagram pixel, choose Always on and click Save. Meta recommends Always on “to help ensure the most reliable performance” (Meta: connect Shopify).
Step 3 matters because app pixels have defaulted to Optimized since 13 January 2026, and with it Shopify “can pause some or all data shared by that pixel until relevant activity resumes” (Shopify: app pixels; changelog). Checked 24 September 2026.
Two limits to know. Shopify’s page names only the purchase event as travelling through the Conversions API, so don’t assume every event goes server to server. And Enhanced and Maximum share your customers’ name, location, email address and phone number with Meta.
How do TikTok, Google, Pinterest, Snapchat and ChatGPT Ads compare?
Each has its own server API and its own Shopify app. For Meta, Shopify says the purchase goes server to server; for the others, none of the pages we checked says which events the Shopify app sends from a server.
| Platform | Its server API | Shopify-native route | Sent server-side by that route |
|---|---|---|---|
| Meta | Conversions API | Facebook & Instagram app, at Enhanced or Maximum | The purchase event |
| TikTok | Events API | TikTok app, at Enhanced or Maximum data sharing; Standard is the pixel alone (TikTok) | Not stated |
| Google Analytics 4 | Measurement Protocol | Google & YouTube app, through the Google tag (Shopify) | Not stated |
| Google Ads | Data Manager API | Google & YouTube app, through Google tags (Google) | Not stated |
| Conversions API | Pinterest app, which installs “the Pinterest tag and Conversions API” (Pinterest) | Not stated | |
| Snapchat | Conversions API | Snapchat Ads app, which Snap’s guide sets up as “Shopify CAPI” (Snap) | Not stated |
| ChatGPT Ads | Conversions API | OpenAI’s ChatGPT Ads app, for US stores today (OpenAI) | Not stated |
“Not stated” means the page doesn’t say, not that nothing is sent. Google treats its server routes as additions to the tag: the Measurement Protocol is meant “to augment automatic collection through gtag, Tag Manager, and Google Analytics for Firebase, not to replace it” (Google), and the Data Manager API sends conversions as “an additional data source for your tag conversions” (Google). Shopify also gives certain apps server pixels, which “transfer customer events through a server to the app owner” and remain subject to your store’s privacy and consent settings (Shopify: app pixels). Checked 24 September 2026.
If you advertise on several of these, every channel app is another pixel to set up, check and keep to one sender. ChatGPT Ads, the newest, has its own guide: track ChatGPT Ads conversions.
How do you set it up with a tracking app?
Install the app, paste each pixel’s ID and a Conversions API access token, and make sure no other tool sends to the same pixel. The steps below use cPixel, which we build, as the example.
cPixel sends to Meta, TikTok, Google Analytics 4, Google Ads, Pinterest, Snapchat and OpenAI’s ChatGPT Ads, from shoppers’ browsers and, for all but Google Ads, from its own servers. For Meta, three things work differently from the channel app:
- The purchase comes from the order. cPixel builds each purchase from Shopify’s order record on its servers, not from the Thank you page, so it doesn’t depend on that page loading in the shopper’s browser.
- One Purchase per order. Meta’s browser Purchase is switched off while cPixel’s server sending to that pixel is active, so Meta receives each purchase once, from the server. Page views, add-to-carts and checkouts go from both sides under one shared event ID.
- You can watch it. Live shows each event as cPixel sends it, whether from the browser or the server, with Meta’s reply to every server send.
It also takes several Meta pixels, each with its own token. To connect one:
- In cPixel, open Destinations and click Connect Meta.
- Paste the Pixel / dataset ID and a Conversions API access token, then click Continue. Without a token, that account sends from the browser only.
- On Choose options, at Is the official Meta app also installed?, keep No — cPixel handles Meta (recommended) when nothing else sends to this pixel, then click Save and continue.
If the Facebook & Instagram app already sends to that pixel, pick one of two clean setups: answer Yes — keep it, and cPixel stops sending Meta server-side, which in practice stops cPixel’s browser sends to that pixel as well, or connect cPixel to a different dataset. The trade-offs are in use cPixel with the Facebook and Instagram app, and the full walk-through in connect Meta to cPixel. Every plan sends server-side, the Free plan included, and limits are on cPixel’s pricing. More about cPixel, which sends Shopify purchases to seven ad platforms.
How do you get a Conversions API access token?
Generate it in Meta Events Manager: choose your dataset, open the Settings tab and click Generate access token in the Conversions API section. Meta shows that link only to people with developer privileges for the business (Meta: get started). You need one for a tracking app or your own server, not for the Facebook & Instagram app. Keep it private; how to find the Pixel ID and generate a token shows Meta’s screens.
How does Meta avoid counting a purchase twice?
It keeps one copy when a browser event and a server event share the same event name and event ID, reach the same pixel, and arrive within 48 hours of each other, and it “generally” prefers the one received first (Meta: deduplication, checked 24 September 2026). Two tools that each create their own IDs can’t be matched, so Meta counts both, and that is the usual reason it reports more purchases than Shopify. The sources and fixes are in why Meta counts purchases twice.
How do you check it’s working?
Look in Meta Events Manager: open the Purchase event’s details, run a test with a real order, and watch the match quality. Give it time first: Meta says server events should be verifiable within 20 minutes of sending (Meta: using the API).
- See the split. In Events Manager, select your dataset, find the Purchase event and click View details. Event overview shows whether the event arrives from both the browser and the server, and the Event deduplication and Data freshness tabs show how copies are matched and how quickly server events arrive (Meta: server event details).
- Test with a real order. Open Test events, enter your store’s address, click Open website and place an order. The tool lists that window’s browser events, such as the Facebook & Instagram pixel’s Purchase; server events show only with a test event code, which Meta says to remove from real sends (Meta: using the API). So a server-only Purchase, such as cPixel’s, won’t appear: check it in Live and the dataset’s Overview. Meta keeps test activity: it “will still appear” in Events Manager, Ads Reporting and audiences (Meta: test events), so use an order you’d count anyway. Browser tools never show server events; if they show no pixel at all, see why Meta Pixel Helper finds no pixel.
- Check Event Match Quality. Meta scores website events sent through the Conversions API from 0 to 10 on the customer information they carry, using the last 48 hours of data (Meta: event match quality). What moves the score: improve Event Match Quality.
With cPixel, Live shows the same send from your side, with its event ID and Meta’s reply: watch each send in Live.
What can’t the Conversions API fix?
It changes how events reach Meta, not which shoppers can be tracked or how Meta credits a sale.
- Consent. In the UK and EEA, Shopify’s pixels “operate based on the consent obtained” (Shopify: privacy settings), and Shopify says server pixels “are still subject to your store’s customer privacy and consent settings” (Shopify: app pixels). A server send is no licence to ignore a refusal.
- Attribution. Meta credits a purchase to an ad only within the ad set’s attribution setting (Meta: attribution), so Ads Manager can show fewer purchases than Events Manager with nothing broken (Meta: event counts). When the two disagree, see Meta pixel not tracking purchases?
- Stripped links. Safari’s Private Browsing turns on advanced tracking and fingerprinting protection by default, and with it “known tracking parameters are removed from all URLs” (Apple: Safari User Guide). A click parameter that never reaches your store can’t be sent from a server later.
- Bots. Sending from a server doesn’t tell a bot from a shopper. Whether the extra route is worth it for your store: server-side tracking on Shopify.
Did the 26 August 2026 checkout change affect it?
Not if Meta hears about purchases from the Facebook & Instagram app or another app pixel. Shopify’s Thank you and Order status pages stopped running Additional scripts and script tags on Plus stores on 28 August 2025. Other stores had until 26 August 2026 to upgrade those pages, and Shopify upgraded any store that missed the deadline automatically, so a Purchase tag pasted into Additional scripts went quiet (Shopify: upgrade; shopify.dev, checked 24 September 2026). App pixels and custom pixels load on checkout and the Thank you page (Shopify: pixels), and the channel app’s Conversions API sends the purchase between Shopify’s and Meta’s servers. If your purchases fell around that date, start with Additional scripts stopped running.
Frequently asked questions
Is the Conversions API free?
Meta doesn’t charge for it: through a commerce platform such as Shopify, setting it up “comes at no additional cost” (Meta: compare setup options). What costs money is the tool that sends. The Gateway runs on cloud hosting you pay for, a direct integration costs development and upkeep, and tracking apps have their own plans.
Do I still need the Meta pixel?
Yes. Meta recommends the Conversions API “in addition to the Meta Pixel”, with the same events sent through both and matched by event ID (Meta: best practices). The pixel sees what happens in the browser; the server copy covers the events a browser loses.
Which Shopify plans can use it?
Through the Facebook & Instagram app, Meta lists the Basic Shopify plan or higher, on a store that isn’t password protected (Meta: connect Shopify). Tracking apps and your own server set their own requirements.