How to connect Meta Pixel and Conversions API to your ecommerce website
Why the pixel alone under-reports your sales, what the Conversions API fixes, and how to check it works before you spend money on ads.
The pixel alone misses a large share of your sales, because ad blockers, iOS tracking limits and browsers that discard third-party scripts all stop it firing. The Conversions API sends the same events from your server, where none of that applies. You need both, deduplicated by a shared event ID — otherwise Meta counts every sale twice.
TL;DR
- • The browser pixel is blocked more often than most sellers realise.
- • The Conversions API reports from your server, which cannot be blocked.
- • Run both, and deduplicate with a shared event ID or your numbers double.
- • Send the Purchase event only when payment is confirmed, never at checkout start.
- • Verify with Meta's Test Events tool before you spend on ads.
Why the pixel alone is not enough
The Meta pixel is a browser script, and browsers have spent five years getting better at not running scripts like it. Ad blockers stop it. iOS tracking limits restrict it. Safari and Firefox discard the storage it depends on.
The result is not that you get slightly fewer conversions reported. It is that Meta's algorithm is optimising on a partial, biased sample of your buyers — and then buying you more traffic that looks like that sample. The cost is not the missing report; it is the worse targeting that follows from it.
What the Conversions API adds
The Conversions API sends the same events from your server, directly to Meta. No browser is involved, so nothing can block it.
The server also knows things the browser does not: that the payment actually cleared, the real order total after discounts, and whether the order was later cancelled. A browser-side Purchase event fires on a thank-you page and has no idea whether the money ever arrived.
The deduplication step everyone gets wrong
If you run both without deduplication, Meta counts each sale twice, your reported ROAS doubles, and you scale spend on a number that is not real. This is the single most damaging mistake in this whole setup.
The fix is to send the same event ID from both sources for the same event. Meta matches them and counts one. Use something stable and unique per order — the order ID is exactly right. Do not use a timestamp or a random value generated separately in each place, because then they will not match.
Send Purchase on payment confirmation, not at checkout start. If you fire it when the buyer begins paying, every abandoned checkout is reported as a sale. Meta then learns to find you more people who start checkouts and do not finish — which is a genuinely expensive way to be wrong.
Getting the credentials
- In Meta Events Manager, find or create your Pixel and copy the Pixel ID.
- Generate a Conversions API access token for that pixel, under the pixel's settings.
- Put both into your store's Meta integration settings.
- Take a test event code from Events Manager and use it to verify before going live.
Verify before you spend
Meta's Test Events tool in Events Manager shows events arriving in real time. Place a test order on your own store and check three things:
- • The Purchase event arrives at all.
- • It arrives once, not twice — this is the deduplication check.
- • The value and currency match the order exactly.
Also check the Event Match Quality score Meta reports. It rises when you send more customer parameters — hashed email, phone, city — and a higher score means better attribution and better targeting. It is one of the few free wins in ads.
On SitesPlaced this is on the ₹499/month Ecommerce plan: you bring your own pixel and token, the Purchase event is built from the persisted order after payment clears, deduplication uses the order ID automatically, and an unpaid order is parked rather than reported.
If you do not have the website yet
Everything above assumes you already have a store to put Meta Pixel and CAPI on.
A SitesPlaced store is free to build and publish, with 0% commission on every sale, on every plan, and 21 integrations included rather than sold as add-ons. You can import a catalogue straight from Instagram instead of typing products in one at a time.
Meta Pixel + Conversions API is on the ₹499/month Ecommerce plan. Step-by-step: Meta Pixel and Conversions API.
Frequently asked questions
Do I need the Conversions API if I already have the pixel?
Yes. The browser pixel is blocked by ad blockers, iOS tracking limits and privacy-focused browsers, so Meta optimises on a partial, biased sample of your buyers. The server-side API cannot be blocked.
Will running both double-count my sales?
Only if you skip deduplication. Send the same event ID from both sources for the same event — the order ID works well — and Meta matches them and counts one. Without it your reported ROAS doubles and you scale on a fake number.
When should the Purchase event fire?
On payment confirmation, never at checkout start. Firing at checkout start reports every abandoned cart as a sale, and Meta then finds you more people who start checkouts and never finish.
How do I check it is working?
Use Meta's Test Events tool in Events Manager with a test event code. Place a real test order and confirm the Purchase arrives once, with the right value and currency. Then check your Event Match Quality score.
What credentials do I need?
A Pixel ID and a Conversions API access token, both from Meta Events Manager, plus a test event code for verification.
Track your ad sales properly
Build the store free, then add Meta Pixel + Conversions API on the ₹499/month Ecommerce plan. 0% commission on sales, always.
















