Full Answer
The platform landscape has shifted decisively toward server-side signal acceptance. Each platform provides its own API with specific requirements, but the pattern is consistent: send events from your server with hashed first-party identifiers, and the platform attributes the conversion more accurately than browser-dependent tracking.
GA4's Measurement Protocol accepts events with a client_id or user_id and fires them as if they occurred in a browser session. Meta's CAPI accepts events with SHA256-hashed email, phone, first name, last name, city, country, and external_id — and scores each event's match quality (EMQ) based on how many identifiers you send. Google Ads Enhanced Conversions accept hashed email and phone alongside the gclid for deterministic conversion matching.
TikTok's Events API follows a similar model to Meta CAPI — server-side events with hashed identifiers and deduplication via event_id. Pinterest's Conversions API, Snapchat's CAPI, and LinkedIn's Conversions API all accept server-side events with varying identifier requirements. Klaviyo accepts events via its server-side Track API for email and SMS automation triggers.
BigQuery is a warehouse, not an ad platform, but it is the most strategically important destination. Events streamed to BigQuery via the Streaming Insert API become your permanent first-party data asset — queryable, joinable, and retainable on your terms. Every other platform can change its API, its attribution model, or its data access policies. BigQuery stores what you send, permanently, under your control.