One Purchase when both sends fire
Ads Manager shows two Purchases for one commission, or a purchase count higher than the sales the network approved. The browser fired Purchase on the presell or the checkout, and the tracker or the hosted checkout fired Purchase again when that sale was recorded.
Match the event name and the event id on the pixel Purchase and the server Purchase from your tracker or funnel. Meta counts that pair once. Run a test purchase and look for one Purchase in Test Events before you trust the Ads Manager count.
“We determine if events are identical based on their ID and name.”
See which starter plan sends the sale to Meta
Quick answer
- Tracker CAPI. Best for a server Purchase after the tracker records the sale.
- Hosted checkout. Best for a server Purchase when the checkout you host takes payment.
- Pixel only. Best for one browser Purchase, with the server send turned off.
What Meta matches: event name and event id
The pixel field is eventID. The server field is event_id. For the pair to collapse, those two strings have to be equal, and the server event_name has to equal the name the pixel sent, on the same pixel. The pixel and the Conversions API are covered in a separate guide, which walks through what the pixel reports and what the server event reports.
“for deduplication, the eventID from a browser or app event must match the event_id in the corresponding server event.”
A match inside 48 hours counts once. Meta keeps the first event that arrived.
“If we find a match between events sent within 48 hours of each other, we only consider the first one.”
When the pixel copy and the server copy land within about five minutes of each other, Meta favors the one from the pixel.
“If a server and browser/app event arrive at approximately the same time (that is, within 5 minutes of each other), we favor the browser/app event.”
Facebook Conversions API events: Purchase or a custom event
Purchase is the standard event affiliates use when they want Meta to optimize toward a sale. A second charge on the same visit, an upsell, is a different choice.
On the Meta Ads page, the Conversions API connection can report upsells as a Purchase, as a custom event, or not at all. Leaving the upsell off Purchase keeps that standard event for the first sale.
“On the Conversions API connection, report upsells as a Purchase, as a custom event or not at all”
Meta matches a custom event on its id and its name too. Give the upsell its own event name and Meta treats that upsell as a separate event from Purchase. If the upsell goes out as Purchase and uses the first sale's id, Meta keeps one Purchase.
Where each server Purchase starts
Three routes can put a sale in front of Meta. They split on which system fires the server event, and on whether a browser Purchase is still running beside it.
| Route | What fires | The id | Fits |
|---|---|---|---|
| Tracker CAPI | RedTrack or ClickMagick after the sale is in the tracker. Voluum uses a conversion API postback. | On Voluum, turn off Pixel Redirect while that postback is on. | The sale is a network result the tracker already stored. |
| Hosted checkout | ElasticFunnels posts a server Purchase when checkout payment succeeds. | A browser Purchase on that page still has to share the name and the id. | You charge the buyer on a checkout you host. |
| Pixel only | The browser Purchase, with the server send left off. | One event. There is no second id to line up. | You want Meta to count only the Purchase the pixel fires. |
Tracker: the sale is already on the click
RedTrack's Facebook tracking page describes a pre-built Conversion API integration that sends online and offline conversion data back to Meta. The server event follows the conversion the tracker holds. The page says that integration sends both online and offline conversion data. If a pixel Purchase already went out for the commission, the event id on the tracker send has to match it, or Ads Manager can count both. The RedTrack review covers the plan around that integration. The integration is on every affiliate plan, including Solo. Plans and the trial are on the RedTrack pricing page.
ClickMagick calls Audience Optimization a Conversions API integration. It sends first-party conversions to Meta as they are recorded. The same article says you can see the result of every conversion sent by clicking the Log button. Starter is the plan that includes this integration. Trial details are on the ClickMagick pricing page. The ClickMagick review is the longer write-up.
Voluum's Facebook guide is the place that names the duplicate path in plain words.
“Make sure that you turn off the Pixel Redirect URL option to avoid sending your conversions twice.”
That redirect is a second send of the conversion while the API postback is already on. The Voluum review covers the tracker. Profit is the entry plan, on the Voluum pricing page.
A server container is another way to build the event. Read Conversions API through Tag Manager or a tracker for that setup. The gateway guide covers the pipe that copies a pixel event, which is separate from a postback that waits until the tracker has stored the sale.
Hosted checkout: the payment is the server Purchase
ElasticFunnels is a funnel platform for teams that run paid traffic. It builds the pages, split-tests variants under one URL, and hosts the checkout, so the click and the paid order sit on one record. The Meta send on that record is a server Purchase from the checkout you host.
“If a page also fires a browser Purchase event, Meta receives both.”
Both of those Purchases still have to share the name and the id described above. The event leaves when the checkout payment succeeds. On that same connection you can add a test events code so the events show in Events Manager.
Every feature is on every plan, including that server Purchase. During the trial you can set up pages, funnels, and a custom domain.
Funnel platform
ElasticFunnels
- Price (11 Oct 2026)
- $97/mo
- Trial
- 14 days, no card
The hosted checkout sends Purchase after payment.
ElasticFunnels is newer than the platforms buyers compare it with, and there is very little independent review coverage of the Meta event settings. Until you run real volume through it, you are largely taking the vendor's word for how that Purchase is built. The product has been on the market since 2023, which is why those outside write-ups are still thin. You still get the pages, the same-URL split test, and the checkout.
The peer comparison for the funnel job is ElasticFunnels vs ClickFunnels. The write-up on this site is the ElasticFunnels review.
Facebook Conversions API test events
Test Events in Events Manager uses a test id sent as test_event_code. Add that code to the server event and complete one test order. Test Events shows what arrived. Meta says the field is for testing. Remove the code before you send real visitors.
“The test_event_code field should be used only for testing”
ElasticFunnels accepts that code as an optional value on the Conversions API connection. When the name and the id match, Meta keeps one event. When they do not, the two sends stay separate.
On ClickMagick, the Log button in Audience Optimization shows the result of each conversion the upload sent. That log is the server side of the check. It is a different screen from Test Events.
Pixel plus the server send
Running both is how a lander pixel and a tracker, or a checkout pixel and a server Purchase, describe one commission. The match is what keeps that from becoming two sales in Ads Manager.
What works
- Meta can keep a single event when the pixel Purchase and the server Purchase share a name and an id.
- You can leave the pixel on the page and still send the sale from the tracker or the checkout.
What to watch
- A Purchase that arrives without the matching id stays a second event.
- An upload can succeed and still be filtered in Ads Manager reporting, so the ad account total and the upload log can disagree.
What buyers report when the pair fails
People who still saw two Purchase events found that only one of the two carried an event ID, so Meta did not treat them as the same event. The check they point to is Test Events, where the id and the name on each copy can be read together.
A missing id is separate from what Ads Manager does with an upload that already went through.
“Some events are deduplicated or filtered.”
The ad account can show fewer conversions than the Log button recorded.
When the ids match and the count is still high
A matched id addresses the double send. If Test Events shows one Purchase and Ads Manager still lists more purchases than the network approved, set those two numbers side by side in the purchase gap calculator. A later approval can go out on its own. Read how to send the network sale to Meta after the click.
My take
I would match the event name and the event id, then open Test Events and confirm a single Purchase before I changed a campaign. For an upsell I do not want inside that Purchase, I would use the custom event option on a checkout I host. On Voluum I would follow the Pixel Redirect instruction in that Facebook guide while the API postback is on.
Changelog
- On 22 October 2026 this guide first covered the event name, the event id, Test Events, a custom event for the upsell, and the three ways a Purchase gets sent.
Questions
Do the pixel and the server event both need an event id?
How do I test without those events landing in the live campaign?
Should an upsell be Purchase or a custom event?
Ads Manager purchases are higher than the sales the network approved. What next?
What we read
Meta's deduplication guide, the server event parameters, and the notes on using the API spell out how a pixel event and a server event match, including the test code.
ElasticFunnels' Meta Ads page covers the checkout Purchase, the upsell choice, and the test code field. Voluum's Facebook setup names the pixel redirect. RedTrack's Facebook tracking page describes the pre-built integration, and ClickMagick's Audience Optimization article covers the upload log and events Meta filters in reporting.
Related reading
- How the pixel and Conversions API each send a Meta event
- Conversions API through Tag Manager or a tracker
- Gateway versus the tracker postback
- WordPress plugin events and the network sale
- Send the network sale to Meta after approval
- Keep the fbclid through the redirect
- Ads Manager purchases versus network-approved sales
- Which entry plan sends sales to Meta
- RedTrack review
- ClickMagick review
- Voluum review
- ElasticFunnels review
See which starter plan sends the sale to Meta
Written by
Nadia Lindqvist
Affiliate tracking
Nadia covers affiliate tracking software for people who buy Meta and Google traffic. She reads vendor pricing pages, documentation and long-term user reports, and she writes about which tracker fits a given buyer.
Last checked 2026-10-22
Comments
No comments yet. Questions and your own experience are welcome.
Thank you. Your comment will appear once it has been reviewed.