IAB TCF & CCPA frameworks

Didomi is a registered CMP (ID 7) with the IAB Europe. We fully support the CMP API and your vendors will automatically use the __cmp function that we expose to collect user consent.

For this integration to behave properly, make sure that you include the IAB CMP stub at the top of your page:

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

This stub is automatically added to your Embed code available in the Didomi Console. For the stub to behave properly, it should be added at the top of the <head> section, before any other script. Improperly placing the stub on your pages will reduce the effective consent rate seen by your IAB vendors and can impact your ad revenue negatively.

Read more in the IAB documentation

IAB CCPA Compliance Framework

The Didomi consent notices are compliant with the specifications from the IAB CCPA Compliance Framework. We fully support the USP API and your vendors will automatically use the __uspapi function that we expose to collect the "Do Not Sell" status of the user.

For this integration to behave properly, make sure that you include the IAB CMP stub at the top of your page:

(function(){function i(e){if(!window.frames[e]){if(document.body&&document.body.firstChild){var t=document.body;var n=document.createElement("iframe");n.style.display="none";n.name=e;n.title=e;t.insertBefore(n,t.firstChild)}else{setTimeout(function(){i(e)},5)}}}function e(n,a,r,e,o){function t(e,t,n){if(typeof n!=="function"){return}if(!window[a]){window[a]=[]}var i=false;if(o){i=o(e,t,n)}if(!i){window[a].push({command:e,parameter:t,callback:n})}}t.stub=true;function i(i){if(!window[n]||window[n].stub!==true){return}if(!i.data){return}var a=typeof i.data==="string";var e;try{e=a?JSON.parse(i.data):i.data}catch(t){return}if(e[r]){var o=e[r];window[n](o.command,o.parameter,function(e,t){var n={};n.postMessageReturn={returnValue:e,success:t,callId:o.callId};i.source.postMessage(a?JSON.stringify(n):n,"*")})}}if(typeof window[n]!=="function"){window[n]=t;if(window.addEventListener){window.addEventListener("message",i,false)}else{window.attachEvent("onmessage",i)}}}e("__uspapi","__uspapiBuffer","__uspapiCall","__uspapiReturn");i("__uspapiLocator")})();

This stub is not automatically added to your Embed code available in the Didomi Console. For the stub to behave properly, it should be added at the top of the <head> section, before any other script. Improperly placing the stub on your pages will prevent IAB vendors from correctly collecting the user Do Not Sale status.

Read more in the IAB documentation