Server
Stream privacy consent state from your CMP backend to Seeka so server-side destinations (Conversions APIs, Conversion Events, etc.) respect the user's choice independently of the browser.
Before you start
Server-side destinations are gated by the brand's configured data control mode together with the consent stored on the user's profile. With a disabled brand default, gating is off and destinations always receive events. Note the browser session override is browser-only - it does not change server-side gating, which always uses the brand's configured mode.
How server-side consent works
Consent for server-side destinations is stored on the user's profile under consent.privacy.tcfConsentString. Seeka decodes this string on every server-side egress and decides whether each destination is permitted to receive the event.
You can update this in two ways:
- Browser-driven: when you call
seeka.privacy.setPrivacyState(...)in the browser, the SDK merges the consent state into the user's profile. This means a single browser-side consent action propagates to all server-side destinations on the next ingest. - Server-to-server: push consent directly via the Seeka HTTP API. Useful when your CMP delivers consent to your backend rather than the browser, or when you want to synchronise consent for users you have identified server-side.
Pushing consent server-to-server
See the push-identity HTTP API docs for the request shape. Set consent.privacy.tcfConsentString on the identity payload.
This is the canonical way to deliver consent for users whose interaction happens entirely outside the browser (server-rendered email opens, backend-only conversion events, etc.).
Consent precedence
When both the browser SDK and server-to-server API push consent for the same user:
- The most recent update wins (last-write-wins on the profile).
- Browser state changes propagate to the server within seconds of
setPrivacyStatebeing called. - If your CMP is the source of truth on the server, prefer server-to-server pushes and avoid mixing inputs.
Troubleshooting
See Privacy SDK troubleshooting for a checklist covering both browser and server gating issues.