Advertising
Do I need the Conversions API if I already have the Meta pixel?
Short answer: yes, but not as an addition. The browser pixel loses a large share of purchases to Safari, ad blockers and in-app browsers; the API recovers them - only if the two are deduplicated, and only if nothing else is already sending.
The short answer
Yes, in almost every case - but it replaces part of what your pixel does rather than sitting alongside it, and setting it up wrongly costs you more than not having it.
The browser pixel runs in the shopper's browser, which is exactly where tracking gets blocked. Safari's tracking prevention, iOS, ad blockers and Facebook's own in-app browser all interfere with it, so a meaningful share of real purchases never reach Meta. The Conversions API sends the same purchase from a server, where none of those apply.
The catch is that if both send the same purchase and Meta cannot tell they are the same event, it counts two. That is not a rare edge case; it is the default outcome unless the two events carry a matching event id.
How deduplication actually works
Meta deduplicates a browser event against a server event when both carry the same event name and the same event id. Not a similar id, and not the same order value or timestamp - the same id.
This is why 'just turn on CAPI as well' is bad advice. Two tools sending the same purchase with their own id formats produce two counted purchases, inflated reported conversions, and a Smart Bidding model optimising against a number that is roughly double reality. The reporting damage is visible; the bidding damage is not.
Good to know
- Google works the same way in spirit but keys on the order id, and adds a second failure mode: several conversion actions can each count the same sale, and Smart Bidding optimises against whichever is marked primary.
What to do about it
The order of operations matters more than any individual step, because getting it wrong is what double-counts.
- Find out what is already sending. A tracking app, Shopify's own Facebook & Instagram sales channel, a Google Tag Manager container, or a theme snippet from a previous agency - most stores have at least one, many have two.
- Assume it will not deduplicate with anything you add, unless you have specifically confirmed the id formats match.
- Stop the existing sender before you start the new one. Not in parallel for a week to compare - that week is the one that double-counts.
- Send a test event and confirm it appears in Meta's Events Manager before letting real traffic through.
- Watch the reported conversion count for a few days. A rise is expected. A doubling means something is still sending.
How to tell whether it worked
The honest test is not whether Meta's reported conversions went up - they will go up either way, including when you have accidentally double-counted. The test is whether the platform's count moved closer to the number of orders you actually got.
That comparison needs both numbers in one place: what the platform reports, and what your store genuinely sold. Meta cannot do it, because Meta does not know your order count. This is the specific gap Vibel was built to close - it holds the Shopify order ledger and the tracking data together, so coverage is a division rather than an estimate.
Sending conversions back without double-counting
NextWhy don't my Meta conversions match my Shopify orders?
More in Advertising
Run your store on Vibel.
Connect your channels, set up your costs, and see true profit live per SKU and per channel.
Get started free