Skip to content

Ad Platforms

Ad platform conversion tracking is the highest-stakes tag management work you will do. A GA4 event that fires incorrectly might skew a report. A broken purchase conversion tag means your ad platform is optimizing toward signals that do not reflect reality — which means wasted spend at best, and systematically poor campaign decisions at worst.

This section covers every major ad platform: the client-side pixel setup, the server-side API alternative where it exists, and the deduplication patterns required when using both simultaneously.

Every major platform now offers two paths to conversion tracking:

Client-side pixels run in the browser. They are simple to implement, fire immediately when an event occurs, and are well-documented. The downsides: browser blocking removes the event entirely, ITP caps attribution windows for Safari users, and your ad platforms see fewer conversions as privacy restrictions tighten.

Server-side APIs (CAPI, Events API, UET, etc.) send conversion data from your server to the ad platform. They bypass browser blocking entirely, are unaffected by ITP, and tend to have higher match rates. The downsides: require server infrastructure (sGTM), take more time to implement correctly, and need deduplication to prevent counting events twice when both client and server send the same conversion.

The recommendation for most implementations: Run both, deduplicate correctly. Use the client-side pixel for real-time data and browser-side signals (like fbp, fbclid). Use the server-side API for data completeness and to fill in what browser-side tracking misses. Use a shared event_id to deduplicate — the platform will count the conversion only once.

Regardless of which platform you are implementing, the same principles apply:

Every purchase conversion tag needs an event_id. If you are running any server-side companion to a client-side pixel, you must generate a unique event ID per event and include it in both the client-side and server-side payloads. Without this, you will double-count conversions. This is not optional.

Consent mode matters. All ad platform pixels should be gated on the appropriate consent category. Meta Pixel needs marketing consent. LinkedIn needs marketing consent. Implement your CMP before any of these pixels fire, not after.

Test in the platform’s event diagnostic tool first. Every platform has a test events tool (Meta Events Manager, TikTok Pixel Helper, etc.). Always verify events are flowing correctly in the diagnostic tool before connecting to campaigns.

Dynamic revenue values must be numbers, not strings. Every platform has a value or revenue parameter for purchase events. Pass it as a JavaScript number (29.99), not a string ("29.99"). Some platforms silently fail to register the value if it is passed as a string.