Core concepts
Consent model
Quick answer
Consent may come from a publisher flow, CMP, or the Script Tag dialog, and optional session or user state can be synced to /v1/consent.
Placement requests may instead carry request-level consent directly, so a separate sync is not required for that case.
Consent can be collected by the publisher, a CMP, or the Script Tag dialog, then stored through /v1/consent.
Consent sources
Use the source field to distinguish publisher_custom, server_sync, and wavebird_dialog consent records. Store only the consent state needed for advertising and measurement.
API sync
Custom consent flows can call /v1/consent to store optional session/user-level CMP or publisher consent state. Request-level placement consent remains separate inside /v1/placements and does not require a prior sync when the placement request already carries consent flags.
Script Tag
The Script Tag can show a consent dialog when configured, persist the decision, and send consent state to the API.
Need rollout review?
Start with the Server API. Use contact only when you need rollout review, enterprise coordination, or non-standard integration help.