Core concepts
Consent model
Distinguish the permission to run an ad lifecycle from the purposes allowed within that lifecycle.
Where the decision comes from
The source field identifies publisher_custom, server_sync, or wavebird_dialog. It records how the consent decision was supplied, not which purposes were granted. Store only the state needed for the integration.
What the decision permits
Lifecycle permission controls rendering and beacons. Purpose flags control semantic targeting, session persistence, cross-session persistence, and prompt sharing. Turning off semantic targeting does not remove the requirement for current lifecycle permission.
Consent paths and permitted fallback →Decision and purpose fields →
Where the state is carried
The Script Tag can collect and persist a decision when configured. A publisher can synchronize session state through /v1/consent or carry the documented consent fields on a placement request.
Need help with your integration?
Share the affected endpoint, request ID, and the behavior you expected. Leave out keys and user content.