## Omnichannel Server-Side Conversions API (CAPI) Architecture

Client-side browser tracking is broken. Browser privacy shields (Safari ITP, Brave Shields, Firefox Enhanced Tracking Protection) and browser extensions (uBlock Origin) block 40% to 50% of client-side tracking scripts.

Across our macro dataset of 18.5M attribution events evaluated this quarter, ad platforms whose smart bidding models rely exclusively on client-side pixels optimized in total darkness.

Without verified server-side conversion signals, bidding algorithms downgrade campaign performance and bid on low-intent bot traffic.

---

> [!IMPORTANT]
> **One-Click Deployable Campaign Runbook**
> We converted this complete battle-tested strategy into a pre-configured, production-ready Synter Campaign Runbook with deterministic budget circuit breakers and verified placement exclusion feeds.
> 
> **[Open One-Click Deploy Runbook](/campaigns/share/runbook-server-side-capi)** (Free import into your Synter workspace).

---

## 1. The Deterministic Deduplication Rule

When running both browser pixels and server-side CAPI, ad networks must deduplicate events so conversions are not counted twice.

* Generate a unique `event_id` on the server at the moment of page render or API session creation.
* Pass this exact `event_id` to the client-side pixel: `fbq('track', 'Purchase', {...}, { eventID: 'order_12345' });`.
* Emit the identical `event_id` from your backend server to the Conversions API endpoint.
* Ad networks match the two events within 48 hours and discard the duplicate while retaining 100% of attribution data.

Run free pixel and CAPI audits via the terminal: https://synter.dev.