Didomi CMP demo

This page shows how the on-site collection of consents works with the Didomi CMP.
It fully supports the IAB GDPR Transparency & Consent Framework and consent information is shared with third-party vendors on the website.
Didomi is a CMP registered with the IAB (ID 7). Feel free to get in touch if you would like to install our CMP on your website or mobile application.


The most important element of information given to the user is the consent banner that is displayed in the bottom right corner of the screen.
It summarizes what the user needs to know to be well informed without hindering the user experience and interaction with the website.

Close on navigation

When the user navigates to another page of the website, the banner is closed and consent is stored. Click on the button below to simulate that. The banner will be hidden and the list of consents by vendor shown below will be updated.

Simulate navigation
Preferences manager

Click on the button below to open the Didomi preferences manager to give/remove consent and see what vendors the website is using.
We recommend putting a link to open this preferences manager on all pages of your website.


If you have closed the banner and want to show it again, click on the reset button below to remove all your consent information.


The consent string is the central part of the IAB framework: it encodes all the consent information for the user, by purpose and by vendor.
It is generated by Didomi from the consent collected and shared in real-time with third-party vendors on the website to guarantee that the consent information flows freely and efficiently.

Here is your current consent string:

Vendors - Test your tag

You can embed your tag in this page to see how it behaves with our CMP API. Enter your tag in the box below (don't forget the <script></script> tags around it), click on "Save and embed tag in page" and it will be embed in this page.
Feel free to reload this page as your script will still be embedded on the next page load.

<script type="text/javascript"> __cmp('getVendorConsents', null, function(result) { console.log(result); }); </script>

If you prefer, you can use the following test tag and embed it in your own HTML page for local testing:

<script type="text/javascript">
var gdprAppliesGlobally=true;
(function(){function n(){if(!window.frames.__cmpLocator){if(document.body&&document.body.firstChild){var e=document.body;var t=document.createElement("iframe");t.style.display="none";t.name="__cmpLocator";e.insertBefore(t,e.firstChild)}else{setTimeout(n,5)}}}function e(e,t,n){if(typeof n!=="function"){return}if(!window.__cmpBuffer){window.__cmpBuffer=[]}if(e==="ping"){n({gdprAppliesGlobally:gdprAppliesGlobally,cmpLoaded:false},true)}else{window.__cmpBuffer.push({command:e,parameter:t,callback:n})}}e.stub=true;function t(a){if(!window.__cmp||window.__cmp.stub!==true){return}if(!a.data){return}var r=typeof a.data==="string";var e;try{e=r?JSON.parse(a.data):a.data}catch(t){return}if(e.__cmpCall){var i=e.__cmpCall;window.__cmp(i.command,i.parameter,function(e,t){var n={__cmpReturn:{returnValue:e,success:t,callId:i.callId}};a.source.postMessage(r?JSON.stringify(n):n,"*")})}}if(typeof window.__cmp!=="function"){window.__cmp=e;if(window.addEventListener){window.addEventListener("message",t,false)}else{window.attachEvent("onmessage",t)}}n()})();

<script type="text/javascript">
window.didomiConfig = {
    website: {
        apiKey: "03f1af55-a479-4c1f-891a-7481345171ce",
        name: 'Didomi',
        vendors: { 
            iab: {
                all: true,

<script type="text/javascript" src="https://sdk.privacy-center.org/loader.js" id="spcloader" async></script>

Use the following functions in your browser console as needed to make testing easier: We have a template page that you can use as a base: Right-click and download


Time to get technical! The IAB specification explains how a vendor should communicate with a CMP to gather consent information before running any data processing.
That API is a set of JavaScript functions that Didomi makes available on the page. Click on the buttons below to see what the main functions do.