HomeBlog › Meta Pixel
PAID MEDIA · META

Meta Pixel and Conversions API: A Setup Guide

The Pixel alone stopped being enough some time ago. Running both without deduplicating them is worse than running neither — you get confident numbers that are wrong.

By the Digital Hangover team · Updated August 2026 · 7 min read
Quick answer: The Meta Pixel reports website actions from the browser. The Conversions API reports the same actions from your server, so they survive ad blockers and browser tracking restrictions. The current standard is to run both and deduplicate them with a shared event ID — otherwise Meta counts the same purchase twice and every number downstream is inflated.

Almost every Meta account we look at has a Pixel installed.

Rather fewer have one that reports correctly.

And the accounts that added the Conversions API without deduplicating events are in the worst position of all — they now have two sources confidently reporting the same purchase, and a reported return on ad spend that is roughly double reality.

What each one does

Meta PixelConversions API
Runs whereIn the visitor's browserOn your server
Blocked byAd blockers, browser tracking restrictions, cookie refusalsNothing on the browser side
CapturesOn-site behaviour as it happensConfirmed actions, including offline and delayed ones
Setup effortLow — a tagHigher — server work or a platform integration
Still needed?YesYes

They are not alternatives. The Pixel sees things the server does not, and the server sees things the browser cannot report. Meta expects both.

Deduplication — the step that breaks silently

Once both are sending, Meta receives two reports of the same purchase. It needs a way to recognise them as one.

That is deduplication, and it works on two matching values: the event name and the event ID. Send the same pair from browser and server and Meta pairs them. Send a different ID from each and it counts two purchases.

  1. Generate one event ID per action — not per page load. The same purchase must carry the same ID in both places.
  2. Send identical event names. "Purchase" from the Pixel and "purchase" from the API will not pair.
  3. Pass the ID to both. This is the part custom implementations get wrong; the ID is generated in one place and never reaches the other.
  4. Verify in Events Manager. Deduplicated events are labelled as such. If nothing is being deduplicated, nothing is being paired.
  5. Complete a real transaction yourself. One purchase, one event. If you see two, it is not working, whatever the setup guide said.
  6. Re-check after every site change. Theme updates, checkout changes and plugin updates all break this quietly.
How to spot the failure without looking: your Meta-reported revenue is meaningfully higher than what your own back office recorded for the same period. Double counting is the most common explanation, and it inflates every downstream decision — bidding, budget allocation, and which campaign gets scaled.

Which events to set up

The temptation is to implement every standard event. Resist it.

Every event you send is something the delivery system could be told to optimise toward. A cluttered event set makes it easier to optimise for the wrong thing.

Start with the one that represents money. Purchase for e-commerce. A qualified lead for services — not a form submission, which is a different and much weaker thing, as covered in Meta lead ads.

Then the steps before it, so you can see where people drop out. View content, add to cart, initiate checkout for e-commerce. For services, the step that separates a serious enquiry from a casual one.

Send accurate values. If you are targeting return on ad spend, the value on the purchase event has to be the real order value. A flat placeholder makes every ROAS figure meaningless, and a good ROAS becomes impossible to judge.

What the Pixel powers beyond reporting

It is easy to think of tracking as a measurement job. It is also the input for two things that decide performance.

Optimisation. The delivery system finds more people like the ones who triggered your conversion event. Feed it the wrong event and it will get very good at finding the wrong people, confidently and at scale.

Audiences. Every remarketing audience and every lookalike is built from Pixel and API data. Broken tracking means thin audiences, which means expensive delivery — usually diagnosed as a targeting problem when it is a measurement one.

The checks worth running quarterly

  • Test Events in Events Manager, with a real transaction. Not a test mode click.
  • Event Match Quality — Meta grades how well it can match your events to people. Passing more customer parameters from the server side improves it.
  • Deduplication status — confirm events are being paired, not just received.
  • Diagnostics tab — it flags missing parameters and dropped events, and nobody reads it.
  • Reconcile against your own numbers — Meta-reported conversions against your back office for the same window. A persistent gap is a problem, in either direction.

None of this is glamorous, and all of it comes before campaign work. Launching before tracking is verified is the most expensive sequencing error available in paid media — the same point made in Facebook Ads structure and in conversion tracking.

Key takeaways: Run the Pixel and the Conversions API together — neither is sufficient alone. Deduplicate with a matching event ID and name, then verify with a real transaction rather than trusting the setup. Send few events and accurate values. And remember tracking is not only reporting: it is what optimisation and every audience is built from.

Frequently asked questions

What is the Meta Pixel?

A piece of code on your website that reports visitor actions back to Meta — page views, add to cart, purchases. Those events are what campaigns optimise against and what remarketing audiences are built from. Without it, Meta has no idea what happened after someone clicked your ad.

Do I need the Conversions API as well as the Pixel?

Yes, if you want reliable data. The Pixel runs in the browser, where ad blockers and tracking restrictions can stop it firing. The Conversions API sends the same events from your server, which is not affected by any of that. Running both, properly deduplicated, is the current standard setup.

Why are my Meta events being counted twice?

Because the Pixel and the Conversions API are both reporting the same action and nothing is telling Meta they are the same. The fix is deduplication — send a matching event ID and event name from both sources so Meta can recognise the pair and count it once.

Which Meta events should I set up?

The one that represents a real business outcome, first — purchase for e-commerce, or a qualified lead for services. Then the steps leading to it, so you can see where people drop off. Do not set up every standard event just because the list exists; each one you add is something the algorithm might optimise toward.

How do I check my Meta Pixel is working?

Use Events Manager's Test Events tool and complete a real transaction or form fill yourself. Confirm the event arrives, arrives once rather than twice, and carries the right value. Checking that the Pixel is merely installed is not the same as checking that it reports correctly.

META NUMBERS NOT MATCHING YOUR BACK OFFICE?

We fix the tracking before we touch the campaigns

Pixel and Conversions API deduplicated properly, events verified with real transactions, and reporting you can reconcile.

Explore performance marketing →