Deduplication
Stop Ads Manager counting the same sale twice
When the thank-you page still loads, Meta can count the Pixel and the server event as two purchases. Give both sides the same checkout ID.
When the thank-you page still loads for some buyers, you get two hits for one order: Pixel in the browser, server-side tracking from the checkout. Meta will count both unless you give them the same name and the same id.
What Meta actually joins
Same event name (Purchase, Lead, …) plus the same checkout ID inside 48 hours → one conversion. Different ids → inflated ROAS, broken revenue optimization, and a fight with finance.
Caply’s job
tsawait caply.trackPurchase({
eventId: crypto.randomUUID(),
email,
value: amount,
currency: "USD",
});That checkout ID goes to the Pixel fire and to Caply. You do not maintain two generators.
If you already mint an order id, pass that — just use it on both sides. Scanner warnings about a missing checkout ID in HTML mean the browser half is naked.
Developers: the field Meta calls event_id is documented in /docs.
Caply
Match Forecast on every purchase. Tracking radar on competitor storefronts. Managed server-side tracking without a tagging server.
Start 14-day trial