Setting Up Meta Conversions API on Shopify Without a Developer
A merchant-friendly walkthrough of connecting Meta's Conversions API to Shopify using the official integration, no code required.
Written by Mantas Jurgutis — Founder, Adsify — builds the Google & Meta automation merchants use daily
Editorially reviewed by Adsify Editorial on February 4, 2026 — Reviewed against Shopify, Google Ads and Meta official documentation.
Why the browser pixel alone isn't enough
Meta's browser pixel relies on the fbclid cookie and JavaScript execution in the customer's browser. Ad blockers, Safari's Intelligent Tracking Prevention, and iOS privacy changes all reduce how many purchase events the browser pixel actually reports back to Meta. The Conversions API sends the same event, like Purchase, directly from Shopify's servers to Meta's servers using order data, so it doesn't depend on the customer's browser cooperating at all. Meta explicitly recommends running both together for better match rates, not replacing one with the other.
The official integration path
For most merchants, Meta and Shopify maintain an official Facebook & Instagram channel app in the Shopify App Store. Installing it and connecting a Meta Business Account under its setup flow enables both the Meta Pixel (via Web Pixel API) and Conversions API events automatically, without writing code. This is the path Meta's own documentation points Shopify merchants toward, and it avoids maintaining API tokens manually.
What the setup flow asks for
During setup you'll select or create a Meta Pixel, connect a Business Manager account, and grant the app permission to send events on your behalf. The app then registers a Web Pixel in Shopify's Settings > Customer events and configures server-side event forwarding using your store's order and checkout data. You do not need a Meta developer account or an access token in this flow; the app handles token generation and refresh.
Event matching quality
Conversions API events are matched to ad clicks using hashed customer identifiers: email, phone, and Meta's click identifier fbc, which is derived from the fbclid URL parameter and stored in a first-party cookie. Meta Events Manager shows an Event Match Quality score for each event source; scores improve when more identifiers, like a matched fbc plus hashed email, are present on both the browser and server event for the same order.
Understanding deduplication
When both the browser pixel and Conversions API send a Purchase event for the same order, Meta deduplicates them using an event_id that must match exactly on both events, plus the event name and a time window. The official Shopify integration sets this event_id to something derived from the order ID automatically. If you build a custom server-side integration instead, mismatched event_ids are the most common cause of doubled purchase counts in Ads Manager.
Checking that events are landing
In Meta Events Manager, open the pixel's Overview tab and look at the breakdown by source: Browser, Server, or both. A healthy setup shows most Purchase events tagged with both sources merged into one deduplicated event. If you see two separate counts that don't overlap, deduplication isn't working and you're likely double-reporting revenue to Meta, which will distort ROAS reported inside Ads Manager.
Test Events tool
Before trusting live data, use Meta Events Manager's Test Events feature, which shows individual events arriving from your test browser or your server integration in near real time, including the raw parameters received. Place a real test order and confirm the Purchase event shows the correct currency, value, and content_ids matching the product actually purchased. This step catches currency mismatches, which otherwise quietly distort ROAS.
Common setup mistakes
The most frequent mistakes are: connecting the wrong Meta Pixel ID to the wrong Business Manager, leaving an old manually-pasted pixel script active alongside the new app (causing duplicate uninstrumented events), and not granting the app's default permissions when the Meta Business Suite prompts for advertising_read/write access. Each of these produces either missing data or doubled data rather than an obvious error message, so verification in Events Manager is essential after setup.
What data Shopify sends to the Conversions API
For a checkout_completed order, the server-side event typically includes order value, currency, line items, and hashed customer contact fields (email and phone are hashed with SHA-256 before leaving Shopify, per Meta's Conversions API requirements). Raw, unhashed personal data is not transmitted; Meta's API only accepts hashed identifiers for matching.
Handling refunds and cancellations
The Conversions API integration should also listen for Shopify's order-refund and order-cancelled webhooks and send corresponding events or adjustments to Meta so that lifetime reported revenue doesn't stay inflated by refunded orders. Not every third-party integration does this by default, so it's worth confirming with whichever app you use whether refunds flow back to Meta.
Attribution windows still matter
Even with perfect server-side delivery, Meta's Purchase events are still evaluated against the ad account's attribution setting, commonly 7-day click / 1-day view by default since Meta's post-iOS14 changes. A well-matched Conversions API event increases the odds a real purchase is attributed within that window, but it doesn't extend the window itself; that's a separate setting inside each ad set.
Why Adsify layers on top
Adsify's setup connects to the same Meta Business Account and sends Conversions API events using order and customer data pulled directly from Shopify webhooks, with event_id logic aligned to deduplicate against the browser-side Web Pixel it also installs. Because Adsify's optimizer re-checks campaign performance every 6 hours, having consistently deduplicated Purchase events feeding Ads Manager is what keeps its automated bid and budget changes anchored to real revenue rather than doubled or missing events.
Rolling your own vs using an app
It is technically possible to POST events to Meta's Conversions API endpoint directly from a custom backend using a long-lived system user access token, which Meta's developer documentation covers in detail. For most Shopify merchants without in-house engineering, the maintenance burden of token rotation, webhook handling, and schema changes makes an app-based integration the more reliable option.
A pre-launch checklist
Before turning on ad spend against Conversions API-backed conversions: confirm the same Pixel ID appears in both the app's settings and Meta Events Manager, place a test purchase and verify it in Test Events, check Event Match Quality is populated (not blank), and confirm a manual refund on the test order correctly reduces reported revenue within 24 hours.
