Meta Pixel and Conversions API on Shopify Before Ads
Most new Indian D2C brands plan to run Meta ads within weeks of launch, and most of them start spending before tracking works properly. The result is ad money optimised on missing or doubled purchase data. This guide explains how the Meta pixel and the Conversions API work on Shopify, which data sharing level to choose, how to check your events before the first rupee goes into ads, and the mistakes that quietly break tracking.
Setup steps and event lists are from the Shopify Help Centre pages on Facebook data sharing, the Meta pixel and customer privacy settings, and from Meta's developer documentation on the Conversions API and event deduplication, all checked on 9 October 2026. Both companies change these screens often, so follow the labels in your own admin if they differ.
What do the Meta pixel and the Conversions API actually do?
They are two ways of sending the same kind of information to Meta: what visitors do on your store and which visits turn into orders. Meta uses that data to report results in Ads Manager and to decide who to show your ads to.
The Meta pixel runs in the shopper's browser. Shopify's help page is clear about its weakness: "A browser-based ad blocker can prevent the Meta pixel from sharing data."
The Conversions API sends events from server to server. In Shopify's words, "The Conversions API sends the purchase event between Shopify and Facebook servers. Data sent from server to server can't be blocked by browser-based ad blockers."
Meta does not treat these as either or. Its deduplication documentation says: "For optimal ad performance, we recommend that advertisers implement the Conversions API alongside their Meta Pixel." For a new brand on Shopify, that means you want both running, and you want Meta to understand that a browser purchase and a server purchase for the same order are one sale, not two.
How do you connect the pixel on Shopify without touching code?
Use the Facebook and Instagram by Meta app in your Shopify admin. You do not need to paste anything into your theme. The steps on Shopify's Meta pixel help page are:
- From your Shopify admin, go to Sales channels and open Facebook and Instagram.
- Click Settings, then Share data settings.
- In the Customer data-sharing section, turn on Enable data-sharing.
- Choose a data sharing level: Standard, Enhanced or Maximum.
- Select an existing pixel, or click Create new.
- Click Confirm.
Before you start, make sure the right person owns the Meta assets. Shopify notes that you need to connect a Facebook ad account to create ads, and its setup guide says some features may need extra assets such as an ad account. If a freelancer or agency creates the Business portfolio, ad account or pixel under their own login, you can end up unable to see or move your own data later. Create them under the brand's own Meta business account and give others access as partners.
Which data sharing level should a new brand choose?
For most stores planning to run ads, Enhanced or Maximum, because those are the levels that add the Conversions API. Standard is pixel only.
| Level | What Shopify says it uses | Customer information shared |
|---|---|---|
| Standard | Meta pixel only, collecting browsing behaviour in your online store | Browsing behaviour |
| Enhanced | Conversions API plus the Meta pixel | Name, location, email address and phone number, plus browsing behaviour |
| Maximum | Conversions API plus the Meta pixel, "updated with Facebook's latest advertising technology" | Name, location, email address and phone number, plus browsing behaviour |
The trade off is privacy. Enhanced and Maximum share customer personal information so Meta can match buyers to people on its network. Shopify's data sharing guide puts the responsibility on you: "Data sharing is a choice," and you should "Make sure that your privacy policy is up to date to provide this information to your customers." Shopify also says it is your obligation to review Meta's privacy and data use best practices and reflect them in your store's privacy policy.
So the practical order is: decide the level, update the privacy policy to say what you share and with whom, then switch it on. Shopify's own privacy policy generator is a starting point, not legal advice.
Which events does Shopify send to Meta automatically?
Once the pixel is connected through the app, Shopify lists these events as tracked automatically:
| Event | When it fires, per Shopify |
|---|---|
| PageView | A visitor views a page |
| ViewContent | A visitor views a product |
| Search | A visitor makes a search |
| AddToCart | A visitor adds a product to the cart |
| InitiateCheckout | A visitor clicks the checkout button |
| AddPaymentInfo | A visitor enters payment information in the checkout |
| Purchase | A visitor completes a purchase and views the thank you page in the checkout |
Two details matter for Indian stores. First, Shopify says events that track order value use the order's total price, "including duties, taxes, and discounts." If you compare Meta's reported revenue with your accounts excluding GST, expect them not to match. Second, the Purchase definition is tied to Shopify's checkout and thank you page. Read on before assuming every order reaches Meta.

Photo: Zuko.io Images via Flickr, CC BY 2.0
What happens to COD orders and third-party checkouts?
This is where Indian stores most often get confused, so it helps to separate what the documentation says from what you need to test.
COD through Shopify's checkout. Shopify defines Purchase as the moment a visitor completes a purchase and views the thank you page. A cash on delivery order placed through Shopify's own checkout ends on that thank you page like any other order, so it is reported as a purchase when it is placed. Meta then optimises towards it, even though some COD orders are later refused at the door. That is a reason to watch your COD return to origin rate alongside Meta's numbers rather than trusting the purchase count alone. Our guide to cutting COD RTO losses covers the operational side.
Third-party checkout apps. Some checkout apps replace Shopify's native checkout flow. Shopify's Meta documentation describes events from its own checkout and thank you page; it does not describe what happens when an app replaces that flow. If you use one, read that app's own documentation on how it sends Purchase events to Meta, and confirm whether Shopify's Meta app and the checkout app are both sending purchases. That is the setup most likely to double count or miss orders, so test it with real orders before launch.
How does Meta avoid counting the same purchase twice?
By matching an event ID. Meta's deduplication documentation says the pixel's eventID must match the Conversions API's event_id, and the pixel's event name must match the server event_name. It adds that "Events are only deduplicated if they are received within 48 hours of when we receive the first event with a given event_id," and that when the two versions do not differ meaningfully, Meta "generally prefer[s] the event that is received first."
When you use Shopify's Meta app at Enhanced or Maximum, the app is sending both sides, so you are relying on the integration to pass matching IDs. Where deduplication tends to break is when a second source sends its own Purchase events with different IDs: old pixel code in the theme, a tag manager container, a checkout app, or an agency's tracking app. Meta has no way to know those are the same orders.
What mistakes break tracking on a new store?
These are the ones the documentation itself warns about, plus what follows directly from it:
- Old pixel code left in the theme. Shopify says that if you edited your theme code to add a Meta pixel, you need to remove it before adding a pixel through the app. Otherwise "your store will have more than one pixel on it, which can result in duplicate or incorrect data in your reports." The code usually sits in theme.liquid between the head tags. Shopify's help page also describes removing a Meta pixel from Online Store, Preferences; clear that field too if it holds an old ID.
- An agency or app adding its own pixel. Shopify's note: if you work with an advertising agency or use an app to manage ads or traffic, "make sure that adding a Meta pixel to your online store won't cause duplicate or incorrect data in your reports."
- Two pixels from two accounts. A store connected to one pixel through the app and another through a freelancer's tag manager will split your data.
- Choosing Enhanced or Maximum without updating the privacy policy. Shopify makes this your responsibility.
- Judging the pixel on day one. Shopify notes you need to wait for customer activity before any data shows in Ads Manager.
How do you check events before spending on ads?
Test with real behaviour, then compare against your orders.
- Browser check. Meta's Chrome extension, Meta Ads Data Advisor (it replaced the Meta Pixel Helper), shows which pixel events fire on each page. Meta's documentation lists duplicate pixel code among the common errors it flags. Browse a product, add to cart and start checkout, and confirm one pixel and one of each event.
- Events Manager. Open your pixel in Meta Events Manager and look at the events received and their source, browser or server. Meta's developer documentation describes a Test Events tool under Events Manager, Data Sources, your pixel, Test Events, for checking incoming events. It also warns that test events are not excluded from processing and "flow into Events Manager and are used for targeting and ads measurement purposes," so keep test orders few and cancel them in Shopify.
- Place real test orders. One prepaid order and one COD order, if you offer COD, and one through any checkout app you use. Each should appear once as a Purchase, with the right value.
- Compare a week later. Match Meta's purchase count against Shopify's order count for the same dates. Some gap is normal because of attribution rules; a count well above your real orders points to duplicates.
Meta's reporting is one view. For the full picture of which channels earn their spend, set up your own measurement too; our post on the analytics setup that matters covers it, and our comparison of Shopify Audiences against Meta and Google ads helps when you start planning targeting.
Do you need a cookie banner for Indian customers?
Shopify does not switch one on for India by default. Its customer privacy settings page says Shopify will "automatically configure your cookie banner for visitors in the UK and EEA regions, if you have active markets in these regions," and that the banner is not active by default elsewhere. Where a banner is active, "Pixels operate based on the consent obtained in these regions," and non-essential data is collected only after consent.
If you sell only within India, that means the banner is unlikely to be blocking your pixel. If you open markets in the UK or Europe, expect less data from those visitors. Shopify's own note applies to both: its privacy content is general information and not legal advice, and you are responsible for complying with the laws where you and your customers are. Ask your lawyer how India's data protection rules apply to the customer information you share at Enhanced or Maximum.
Want your Meta tracking checked before you launch ads?
Free Meta tracking check. Get in touch or email hello@exactwhy.com with the subject "Meta Tracking Check" and your store URL. Tell us which checkout you use, whether you offer COD and who set up your Meta business account. We reply within 4 hours with a list of duplicate or missing events we find and what to fix before you spend.
If you go ahead. We connect Facebook and Instagram by Meta at the right data sharing level, remove old pixel code and conflicting tags, check deduplication with real prepaid and COD test orders, align your checkout app's purchase events, and update your privacy policy wording for your lawyer to review.