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
      • Versions
    • 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
    • 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
  • Allowed properties to be passed by URL
  • Query-string parameters
  • Full configuration
  • Specific configuration
  • Use cases
  • Force group test for AB tests
  • Disable notice in a WebView (Mobile Apps)
  • Force the Transparency and Consent Framework (TCF) version
  • Display the data processing list in your notice
  1. SDKs
  2. Web SDK
  3. Configuration

Configuration by URL

PreviousBots (SEO & Performance tools)NextCookies and storage

Last updated 1 year ago

This section describes how to override the configuration of the Didomi Web SDK through query-string parameters in the URL.

Configuration options should be done through the or through local configuration variables/files. Configuration by URL should only be used in .

Didomi allows some configuration properties to be passed via query-string parameters in the URL if you want to test or preview changes on the fly. The configuration passed in the query string is merged into the remote configuration (from the Console) and the local configuration (from window.didomiConfig).

Allowed properties to be passed by URL

For security reasons, we currently only allow the properties below:

  • notice.enable

  • notice.showDataProcessing

  • experiment.group

  • app.vendors.iab.version

Query-string parameters

You can either pass a full Didomi configuration object via a didomiConfig parameter or a specific attribute via didomiConfig.*.

Full configuration

To override more than one attribute, we suggest to use the didomiConfig parameter. It allows you to provide a full Didomi configuration object encoded as JSON. The format and content of the object is the same as the window.didomiConfig object added to a webpage so any option that can be passed there can be passed in the query string.

First, encode your configuration object as url-encoded JSON so that it can be read properly by the browser. You can use to convert your JSON object into a readable query-string parameter.

For example, { "notice": { "enable": false } } will become %7B%20%22notice%22%3A%20%7B%20%22enable%22%3A%20false%20%7D%20%7D and the URL will be:

{{YOUR_WEBSITE_URL}}?didomiConfig=%7B%20%22notice%22%3A%20%7B%20%22enable%22%3A%20false%20%7D%20%7D

Specific configuration

If you want to override only one attribute, it may be faster and easier to use the didomiConfig.* parameter. It allows you to edit a specific attribute via a dot notation.

Use a dot notation to go deeper into the configuration tree. For example, { "notice": { "enable": false } } will be written as didomiConfig.notice.enable=false and the URL will be:

{{YOUR_WEBSITE_URL}}?didomiConfig.notice.enable=false

Use cases

Configuration should never be passed via URL except for specific cases for temporary preview or testing. Here are a few cases where configuration via URL can be useful:

Force group test for AB tests

If you run AB test, it can be difficult to see how it looks on production, especially if the size of your test is small. To avoid you from clearing your cache and refreshing the page until you see the test configuration, you can force the test group to test or control.

Force your website to display the test group configuration :

{{YOUR_WEBSITE_URL}}?didomiConfig.experiment.group=test

Disable notice in a WebView (Mobile Apps)

In some cases, the notice might be displayed for a short time before being hidden in the WebView as the consent gets passed. To avoid that visual glitch, you can disable the notice in your WebView to make sure that it never shows:

{{YOUR_WEBSITE_URL}}?didomiConfig.notice.enable=false

Force the Transparency and Consent Framework (TCF) version

If you want to transitioned to the TCF v2 and would like to have a preview on how it will impact your website, you can force the version via URL. The authorized values are 1 et 2.

Force your website to display the notice with a specific version of the TCF :

{{YOUR_WEBSITE_URL}}?didomiConfig.app.vendors.iab.version=2

Display the data processing list in your notice

If you want to have a preview on how the data processing list will impact the UI of your notice, you can display it by switching showDataProcessing to true.

Force the data processing list to be displayed in the notice :

{{YOUR_WEBSITE_URL}}?didomiConfig.notice.showDataProcessing=true

If you are opening WebViews in your mobile apps, you can . This allows you to not re-collect consent on the web pages.

share the consent status of the user from the app to the WebViews
Didomi Console
this online encoder
specific cases like testing/previewing AB tests or disabling a notice in a WebView