Didomi - Developers documentation
  • Introduction
  • SDKs
    • Introduction
    • Web SDK
      • Getting started
      • Tags and vendors management
        • Tags management
          • Events & Variables
            • Deprecated
            • Custom events
          • Tag managers
            • Adobe Launch/DTM
            • Eulerian
            • Google Tag Manager
              • Configure the Didomi / GTM integration
              • Didomi's GTM template
            • Tealium
            • Other tag managers
        • Custom Didomi <script> tags
        • Third-party integrations
          • Google Ad Manager / AdSense
            • GDPR via Non-Personalized Ads
              • Share consent and load/refresh ads
              • Share consent without loading or refreshing ads
            • US states laws
          • Google Consent Mode V2
          • Kameleoon
          • Piano Analytics (AT Internet)
          • Prebid
            • GDPR via IAB TCF
            • US states laws
          • Salesforce DMP (Krux)
        • IAB frameworks
        • Programmatic API
      • Configuration
        • Bots (SEO & Performance tools)
        • Configuration by URL
        • Cookies and storage
        • Custom domains for events
        • Notice
          • Behavior
          • Interactions
          • Look and feel
        • Preferences
        • Theme
      • AB tests
      • Custom domain
        • Domain delegation
        • Reverse proxy
      • Share consents between domains
      • Share consents across devices
      • Pass user choices in query string
      • Serve Didomi assets from your domain
      • Reference
        • API
          • Deprecated
        • Events
      • Performance
    • Mobile and TV SDKs
      • Android and Android TV
        • Setup
        • Logging
        • Reference
          • API
            • Deprecated
          • Events
        • Versions
      • iOS and tvOS
        • Setup
        • Logging
        • App Tracking Transparency (iOS 14.5+)
        • Reference
          • API
            • Deprecated
          • Events
        • Versions
      • Unity
        • Setup
        • Reference
        • Versions
        • Troubleshooting
      • React Native
        • Setup
        • Reference
          • Deprecated
        • Versions
      • Flutter
        • Setup
        • Reference
        • Versions
      • Consent notice
        • Getting started
        • Customize the notice
        • Customize the preferences popup
        • Customize the theme & UI
        • Load notice by ID
      • Third-party SDKs
      • Share consents across devices
      • Share consent with WebViews
      • Google Consent Mode v2
      • FAQ
    • AMP SDK
      • Blocking Behaviors
        • Load immediately on page load
        • Load only after consent (positive or negative)
        • Load only after positive consent
      • Consent status for vendors
    • Didomi Consent String
      • Didomi Consent String Structure
      • Purposes & Vendors Numerical IDs
      • Consent String Examples
      • Decoding tools
    • Help & Support
  • API
    • Introduction
      • Authentication
      • Errors
      • Pagination
      • Filters
      • Caching
      • Rate limiting
      • Quotas
      • Translations
    • Data Manager
      • Regulations
      • Configuration Tree
      • Purposes
        • Purposes & Vendors Numerical IDs
      • Preferences Library
      • User Rights
    • Widgets
      • Consent notices
        • Notices
        • Configurations
        • Multi-Regulation Configurations
          • Migration of Existing Notices and API Updates
        • Deployments
        • Tutorials
          • Create and publish a consent notice
          • Create and publish a multi-regulation consent notice
      • Privacy widgets
        • Create a widget
        • Retrieve widgets
        • Edit a widget
          • Content & Design
            • Themes & Shapes
            • Components
              • auth
              • dsar_form
              • footer
              • header
              • preference
              • preference_value
              • save
              • section
              • sections
            • Options
          • Purposes & preferences
          • Settings
        • Deploy a Widget
          • Use your own subdomain
          • Use your own domain
          • Implement an embeddable widget on your website
        • Authentication
          • Manage authentication providers
          • Authenticate your end-user
        • Archive a widget
        • Headless widgets
          • Public Methods
          • Custom elements
          • Custom events
          • Event listeners
        • Tutorial
          • Launch a Preference Center from a mobile app
    • Compliance Reports
      • Properties
      • Reports
      • CSV format reference
      • Websites
    • Consents and Preferences
      • Events
        • Generate IAB TCF consent string
      • Links
      • Proofs
      • Tokens
      • Secrets
      • Users
      • Tutorial
        • Collect and operate data
    • Privacy Requests
      • Requests
      • Notes
      • Links
      • Emails
  • Integrations
    • Introduction
      • Quotas
    • Generic integrations
      • Batch export
        • Destinations
          • AWS S3 Bucket (owned by Didomi)
          • GCP Storage Bucket
        • Exported data
          • Notices consents
        • Logs
      • Webhooks
      • Batch import
      • Analytics export
        • Destinations
          • AWS S3 Bucket (owned by Didomi)
          • GCP Storage Bucket
    • Third-party apps
      • CMP integrations
        • Didomi-mParticle integration for your CMP
        • Deploy Didomi’s SDK for your Adobe Commerce website
      • Preference Management Platform integrations
        • Actito
        • Adobe Campaign Classic
        • Adobe Experience Cloud
        • Adobe Marketo Engage
        • Adobe Source Connector
        • Braze
        • Dotdigital
        • Hubspot
        • Mailchimp
        • Microsoft Dynamics 365
        • Salesforce Marketing Cloud
        • Salesforce Sales & Service Cloud
        • Selligent
        • Brevo (ex Sendinblue)
    • Tutorials
      • Configure a HTTP webhook
      • Configure a batch export
      • Configure an analytics export
    • Emailing
      • Configurations
        • Actito Email
        • Actito SMS
        • Adobe Campaign Classic
        • Adobe Campaign Standard
      • Emails
        • Templates
        • Manage your templates
Powered by GitBook
On this page
  • Events
  • Variables
  • Vendors
  • Purposes
  • AB tests
  • GDPR & IAB
  1. SDKs
  2. Web SDK
  3. Tags and vendors management
  4. Tags management

Events & Variables

Events are pushed by the Didomi Web SDK to your tag management system. Events provide variables that contain the user status on vendors and purposes.

You can then setup your rules based on events and variables to decide whether a tag can be loaded or not directly from your tag manager.

Events

  • didomi-ready: This event is pushed exactly once when the page is loaded and can be used for any tag that you want to fire exactly once on the page. The status of the user at the time of this event might be unknown.

  • didomi-consent-changed: This event is pushed every time the user status changes as the result of a user interacting with the Didomi consent notices or preferences.

  • didomi-consent: This event is pushed once when the page is loaded and then every time the user status changes as the result of a user interacting with the Didomi consent notices or preferences. Because this event does not distinguish between a page load and a subsequent status change, it can be fired multiple times on the page and is not suited for tags that must be fired at most once. You will usually want to use a combination of the didomi-ready and didomi-consent-changed events instead for these cases.

Variables

Vendors

These variables provide the user status for the vendors configured in your notice.

The user status reported for vendors automatically includes the status for their required purposes. You usually do not have to create a trigger that uses both vendors AND purposes variables: a trigger on vendors is enough.

Example: the vendor ID google is only included in the list of enabled vendors, if the user has enabled google and every purpose required by that vendor.

Variable
Description

didomiVendorsEnabled

  • Contains IDs of vendors that are 1) enabled for all their legal bases AND 2) all the defined purposes for the vendor are enabled for all their legal bases.

  • didomiVendorsEnabled also contains any vendor defined with essential purposes only.

  • When no regulation applies to the user, didomiVendorsEnabled contains all vendors defined in your notice configuration.

didomiVendorsDisabled

  • Contains IDs of vendors that are either directly disabled by the user OR at least one of their defined purposes is disabled for any legal basis.

  • When no regulation applies to the user, didomiVendorsDisabled is empty.

didomiVendorsUnknown

  • Contains IDs of vendors that are neither enabled nor disabled (i.e: user has not made a choice and there is no default status for the legal basis).

  • When no regulation applies to the current user, didomiVendorsUnknown is empty.

Vendor IDs

  • All variables have the same format: a comma-separated list of vendor IDs terminated by a final comma.

  • To find your vendor ID, navigate to the Didomi Console -> Consent notices -> Open your notice -> Regulation -> Edit vendors and Purposes: Use the API ID.

  • Vendor IDs are unique and are the same across all regulations and notices.


Purposes

These variables contain the user status for the purposes configured in your notice.

You usually do not need to use these variables directly and want to use the vendors variables instead.

All variables have the same format: a comma-separated list of purpose IDs terminated by a final comma. Example: cookies,analytics,

Variable

Description

didomiPurposesEnabled

  • List of purposes that are enabled in all the legal bases for which they are defined.

  • didomiPurposesEnabled also contains any purpose defined as essential on your consent notice.

  • When no regulation applies to the user, didomiPurposesEnabled contains all purposes defined in your notice configuration.

didomiPurposesDisabled

  • List of purposes that are disabled in any of the legal bases for which they were defined.

  • When no regulation applies to the current user, didomiPurposesDisabled is empty.


AB tests

We expose variables that contain the status of the AB test running (if any). That allows you to track your AB tests results through your own analytics solution.

Variable

Description

Values / Example

didomiExperimentId

ID of the AB test running.

The value of the experiment.id property in your SDK configuration. An empty string is provided if there is no test configured.

didomiExperimentUserGroup

The group that the user is a part of.

control if the user is part of the control group

test if the user is part of the user group

An empty string is provided if the user is not part of the control or test group.


GDPR & IAB

Variable

Description

Values / Example

didomiGDPRApplies

Define whether the GDPR applies to the current user (ie the user is located in the EU or your website is configured to enforce GDPR for all users).

0 (GDPR does not apply) and 1 (GDPR does apply)

didomiIABConsent

BOMi0lyOMi0lyAHABBENAC-AAAAB4AQABaA

PreviousTags managementNextDeprecated

Last updated 1 year ago

The IAB consent string as defined in the . It encodes the consent information for every vendor and purpose as well as few other pieces of information on the CMP that created the string.

Consent String and Vendor List Format specification