Don't have one? Create one ↗
Server-side tagging

Lesson 7 of 8

Multiple Destinations & The Conversions API

Once events arrive in the server container, you can forward them to many platforms from one source of truth, GA4, Google Ads, and the various Conversions APIs.

The Conversions API (CAPI)

Meta's Conversions API (CAPICAPIConversions API: a server-to-server channel for sending conversion data directly to ad platforms (Meta, TikTok, etc.) without relying on the browser.) (and equivalents at TikTok, Pinterest, etc.) is a server-to-server channel for sending conversions directly to the platform. Run from your server container, it is resilient to the blocking and cookie limits that hit the browser pixel.

The deduplicationdeduplicationPreventing the same conversion from being counted more than once, typically by sharing a unique event_id between the browser pixel and a server event. problem

Most teams keep the browser pixel and send CAPI, for coverage. But then the same purchase could be counted twice. The fix is a shared event ID: the pixel and the server tag both send the same event_idevent_idA unique identifier sent with a conversion so ad platforms can collapse duplicate signals (browser plus server) into one counted event. for one conversion, and the platform collapses them into a single event.

Browser pixelevent_id: abcServer CAPIevent_id: abcPlatformdedupes → 1
// Generate one id per conversion, share it with both paths
const eventId = crypto.randomUUID();
// browser pixel:  fbq('track','Purchase', {...}, { eventID: eventId })
// server CAPI tag: event_id = eventId  (read from the same dataLayer)

Key takeaway

Send conversions server-side via CAPI for resilience, and share one event_id between the browser pixel and the server tag so the platform deduplicates to a single conversion.