TCF API Support

Introduction

As an approved IAB Consent Management Platform, Clickio Consent fully supports the standardized CMP Javascript API for user consent data retrieval.

General information

The current version API documentation can be found here. Clickio CMP API implementation fully supports all the described functionality.

Non-EU visitors and CMP API
API Stub

When implementing the CMP API integration, you should bear in mind that it loads asynchronously, so you can not directly call __tcfapi function to pass commands from your scripts. Avoid implementing any await cycles/timeouts, which create parasitic load or delays. Instead, you can use a simple CMP API stub, which gracefully handles all the calls for you, while the full code loads.

<script type="text/javascript">
!function(){"use strict";function t(r){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(r)}var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,r){return t(r={exports:{}},r.exports),r.exports}var e,o,i=function(t){return t&&t.Math===Math&&t},u=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof r&&r)||i("object"==typeof r&&r)||function(){return this}()||Function("return this")(),c=function(t){try{return!!t()}catch(t){return!0}},a=!c((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})),f=!c((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),s=Function.prototype.call,l=f?s.bind(s):function(){return s.apply(s,arguments)},p={}.propertyIsEnumerable,y=Object.getOwnPropertyDescriptor,v={f:y&&!p.call({1:2},1)?function(t){var r=y(this,t);return!!r&&r.enumerable}:p},b=function(t,r){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:r}},g=Function.prototype,d=g.call,h=f&&g.bind.bind(d,d),m=f?h:function(t){return function(){return d.apply(t,arguments)}},S=m({}.toString),w=m("".slice),O=function(t){return w(S(t),8,-1)},j=Object,P=m("".split),T=c((function(){return!j("z").propertyIsEnumerable(0)}))?function(t){return"String"===O(t)?P(t,""):j(t)}:j,L=function(t){return null==t},A=TypeError,_=function(t){if(L(t))throw new A("Can't call method on "+t);return t},E=function(t){return T(_(t))},F="object"==typeof document&&document.all,I={all:F,IS_HTMLDDA:void 0===F&&void 0!==F},M=I.all,k=I.IS_HTMLDDA?function(t){return"function"==typeof t||t===M}:function(t){return"function"==typeof t},C=I.all,D=I.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:k(t)||t===C}:function(t){return"object"==typeof t?null!==t:k(t)},R=function(t,r){return arguments.length<2?(n=u[t],k(n)?n:void 0):u[t]&&u[t][r];var n},x=m({}.isPrototypeOf),N="undefined"!=typeof navigator&&String(navigator.userAgent)||"",G=u.process,V=u.Deno,z=G&&G.versions||V&&V.version,B=z&&z.v8;B&&(o=(e=B.split("."))[0]>0&&e[0]<4?1:+(e[0]+e[1])),!o&&N&&(!(e=N.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=N.match(/Chrome\/(\d+)/))&&(o=+e[1]);var H=o,U=u.String,W=!!Object.getOwnPropertySymbols&&!c((function(){var t=Symbol("symbol detection");return!U(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&H&&H<41})),$=W&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,J=Object,X=$?function(t){return"symbol"==typeof t}:function(t){var r=R("Symbol");return k(r)&&x(r.prototype,J(t))},Y=String,q=function(t){try{return Y(t)}catch(t){return"Object"}},K=TypeError,Q=function(t){if(k(t))return t;throw new K(q(t)+" is not a function")},Z=TypeError,tt=Object.defineProperty,rt=function(t,r){try{tt(u,t,{value:r,configurable:!0,writable:!0})}catch(n){u[t]=r}return r},nt="__core-js_shared__",et=u[nt]||rt(nt,{}),ot=n((function(t){(t.exports=function(t,r){return et[t]||(et[t]=void 0!==r?r:{})})("versions",[]).push({version:"3.33.3",mode:"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.33.3/LICENSE",source:"https://github.com/zloirock/core-js"})})),it=Object,ut=function(t){return it(_(t))},ct=m({}.hasOwnProperty),at=Object.hasOwn||function(t,r){return ct(ut(t),r)},ft=0,st=Math.random(),lt=m(1..toString),pt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+lt(++ft+st,36)},yt=u.Symbol,vt=ot("wks"),bt=$?yt.for||yt:yt&&yt.withoutSetter||pt,gt=function(t){return at(vt,t)||(vt[t]=W&&at(yt,t)?yt[t]:bt("Symbol."+t)),vt[t]},dt=TypeError,ht=gt("toPrimitive"),mt=function(t){var r=function(t,r){if(!D(t)||X(t))return t;var n,e,o=(n=t[ht],L(n)?void 0:Q(n));if(o){if(void 0===r&&(r="default"),e=l(o,t,r),!D(e)||X(e))return e;throw new dt("Can't convert object to primitive value")}return void 0===r&&(r="number"),function(t,r){var n,e;if("string"===r&&k(n=t.toString)&&!D(e=l(n,t)))return e;if(k(n=t.valueOf)&&!D(e=l(n,t)))return e;if("string"!==r&&k(n=t.toString)&&!D(e=l(n,t)))return e;throw new Z("Can't convert object to primitive value")}(t,r)}(t,"string");return X(r)?r:r+""},St=u.document,wt=D(St)&&D(St.createElement),Ot=function(t){return wt?St.createElement(t):{}},jt=!a&&!c((function(){return 7!==Object.defineProperty(Ot("div"),"a",{get:function(){return 7}}).a})),Pt=Object.getOwnPropertyDescriptor,Tt={f:a?Pt:function(t,r){if(t=E(t),r=mt(r),jt)try{return Pt(t,r)}catch(t){}if(at(t,r))return b(!l(v.f,t,r),t[r])}},Lt=a&&c((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),At=String,_t=TypeError,Et=function(t){if(D(t))return t;throw new _t(At(t)+" is not an object")},Ft=TypeError,It=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,kt="enumerable",Ct="configurable",Dt="writable",Rt={f:a?Lt?function(t,r,n){if(Et(t),r=mt(r),Et(n),"function"==typeof t&&"prototype"===r&&"value"in n&&Dt in n&&!n[Dt]){var e=Mt(t,r);e&&e[Dt]&&(t[r]=n.value,n={configurable:Ct in n?n[Ct]:e[Ct],enumerable:kt in n?n[kt]:e[kt],writable:!1})}return It(t,r,n)}:It:function(t,r,n){if(Et(t),r=mt(r),Et(n),jt)try{return It(t,r,n)}catch(t){}if("get"in n||"set"in n)throw new Ft("Accessors not supported");return"value"in n&&(t[r]=n.value),t}},xt=a?function(t,r,n){return Rt.f(t,r,b(1,n))}:function(t,r,n){return t[r]=n,t},Nt=Function.prototype,Gt=a&&Object.getOwnPropertyDescriptor,Vt=at(Nt,"name"),zt={EXISTS:Vt,PROPER:Vt&&"something"===function(){}.name,CONFIGURABLE:Vt&&(!a||a&&Gt(Nt,"name").configurable)},Bt=m(Function.toString);k(et.inspectSource)||(et.inspectSource=function(t){return Bt(t)});var Ht,Ut,Wt,$t=et.inspectSource,Jt=u.WeakMap,Xt=k(Jt)&&/native code/.test(String(Jt)),Yt=ot("keys"),qt=function(t){return Yt[t]||(Yt[t]=pt(t))},Kt={},Qt="Object already initialized",Zt=u.TypeError,tr=u.WeakMap;if(Xt||et.state){var rr=et.state||(et.state=new tr);rr.get=rr.get,rr.has=rr.has,rr.set=rr.set,Ht=function(t,r){if(rr.has(t))throw new Zt(Qt);return r.facade=t,rr.set(t,r),r},Ut=function(t){return rr.get(t)||{}},Wt=function(t){return rr.has(t)}}else{var nr=qt("state");Kt[nr]=!0,Ht=function(t,r){if(at(t,nr))throw new Zt(Qt);return r.facade=t,xt(t,nr,r),r},Ut=function(t){return at(t,nr)?t[nr]:{}},Wt=function(t){return at(t,nr)}}var er={set:Ht,get:Ut,has:Wt,enforce:function(t){return Wt(t)?Ut(t):Ht(t,{})},getterFor:function(t){return function(r){var n;if(!D(r)||(n=Ut(r)).type!==t)throw new Zt("Incompatible receiver, "+t+" required");return n}}},or=n((function(t){var r=zt.CONFIGURABLE,n=er.enforce,e=er.get,o=String,i=Object.defineProperty,u=m("".slice),f=m("".replace),s=m([].join),l=a&&!c((function(){return 8!==i((function(){}),"length",{value:8}).length})),p=String(String).split("String"),y=t.exports=function(t,e,c){"Symbol("===u(o(e),0,7)&&(e="["+f(o(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),c&&c.getter&&(e="get "+e),c&&c.setter&&(e="set "+e),(!at(t,"name")||r&&t.name!==e)&&(a?i(t,"name",{value:e,configurable:!0}):t.name=e),l&&c&&at(c,"arity")&&t.length!==c.arity&&i(t,"length",{value:c.arity});try{c&&at(c,"constructor")&&c.constructor?a&&i(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var y=n(t);return at(y,"source")||(y.source=s(p,"string"==typeof e?e:"")),t};Function.prototype.toString=y((function(){return k(this)&&e(this).source||$t(this)}),"toString")})),ir=function(t,r,n,e){e||(e={});var o=e.enumerable,i=void 0!==e.name?e.name:r;if(k(n)&&or(n,i,e),e.global)o?t[r]=n:rt(r,n);else{try{e.unsafe?t[r]&&(o=!0):delete t[r]}catch(t){}o?t[r]=n:Rt.f(t,r,{value:n,enumerable:!1,configurable:!e.nonConfigurable,writable:!e.nonWritable})}return t},ur=Math.ceil,cr=Math.floor,ar=Math.trunc||function(t){var r=+t;return(r>0?cr:ur)(r)},fr=function(t){var r=+t;return r!=r||0===r?0:ar(r)},sr=Math.max,lr=Math.min,pr=function(t,r){var n=fr(t);return n<0?sr(n+r,0):lr(n,r)},yr=Math.min,vr=function(t){return(r=t.length)>0?yr(fr(r),9007199254740991):0;var r},br=function(t){return function(r,n,e){var o,i=E(r),u=vr(i),c=pr(e,u);if(t&&n!=n){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},gr=(br(!0),br(!1)),dr=m([].push),hr=function(t,r){var n,e=E(t),o=0,i=[];for(n in e)!at(Kt,n)&&at(e,n)&&dr(i,n);for(;r.length>o;)at(e,n=r[o++])&&(~gr(i,n)||dr(i,n));return i},mr=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Sr=mr.concat("length","prototype"),wr={f:Object.getOwnPropertyNames||function(t){return hr(t,Sr)}},Or={f:Object.getOwnPropertySymbols},jr=m([].concat),Pr=R("Reflect","ownKeys")||function(t){var r=wr.f(Et(t)),n=Or.f;return n?jr(r,n(t)):r},Tr=function(t,r,n){for(var e=Pr(r),o=Rt.f,i=Tt.f,u=0;u<e.length;u++){var c=e[u];at(t,c)||n&&at(n,c)||o(t,c,i(r,c))}},Lr=/#|\.prototype\./,Ar=function(t,r){var n=Er[_r(t)];return n===Ir||n!==Fr&&(k(r)?c(r):!!r)},_r=Ar.normalize=function(t){return String(t).replace(Lr,".").toLowerCase()},Er=Ar.data={},Fr=Ar.NATIVE="N",Ir=Ar.POLYFILL="P",Mr=Ar,kr=Tt.f,Cr=function(t,r){var n,e,o,i,c,a=t.target,f=t.global,s=t.stat;if(n=f?u:s?u[a]||rt(a,{}):(u[a]||{}).prototype)for(e in r){if(i=r[e],o=t.dontCallGetSet?(c=kr(n,e))&&c.value:n[e],!Mr(f?e:a+(s?".":"#")+e,t.forced)&&void 0!==o){if(typeof i==typeof o)continue;Tr(i,o)}(t.sham||o&&o.sham)&&xt(i,"sham",!0),ir(n,e,i,t)}},Dr={};Dr[gt("toStringTag")]="z";var Rr,xr="[object z]"===String(Dr),Nr=gt("toStringTag"),Gr=Object,Vr="Arguments"===O(function(){return arguments}()),zr=xr?O:function(t){var r,n,e;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,r){try{return t[r]}catch(t){}}(r=Gr(t),Nr))?n:Vr?O(r):"Object"===(e=O(r))&&k(r.callee)?"Arguments":e},Br=String,Hr=function(t){if("Symbol"===zr(t))throw new TypeError("Cannot convert a Symbol value to a string");return Br(t)},Ur=Object.keys||function(t){return hr(t,mr)},Wr=a&&!Lt?Object.defineProperties:function(t,r){Et(t);for(var n,e=E(r),o=Ur(r),i=o.length,u=0;i>u;)Rt.f(t,n=o[u++],e[n]);return t},$r={f:Wr},Jr=R("document","documentElement"),Xr="prototype",Yr="script",qr=qt("IE_PROTO"),Kr=function(){},Qr=function(t){return"<"+Yr+">"+t+"</"+Yr+">"},Zr=function(t){t.write(Qr("")),t.close();var r=t.parentWindow.Object;return t=null,r},tn=function(){try{Rr=new ActiveXObject("htmlfile")}catch(t){}var t,r,n;tn="undefined"!=typeof document?document.domain&&Rr?Zr(Rr):(r=Ot("iframe"),n="java"+Yr+":",r.style.display="none",Jr.appendChild(r),r.src=String(n),(t=r.contentWindow.document).open(),t.write(Qr("document.F=Object")),t.close(),t.F):Zr(Rr);for(var e=mr.length;e--;)delete tn[Xr][mr[e]];return tn()};Kt[qr]=!0;var rn=Object.create||function(t,r){var n;return null!==t?(Kr[Xr]=Et(t),n=new Kr,Kr[Xr]=null,n[qr]=t):n=tn(),void 0===r?n:$r.f(n,r)},nn=Array,en=Math.max,on=wr.f,un="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],cn={f:function(t){return un&&"Window"===O(t)?function(t){try{return on(t)}catch(t){return function(t,r,n){for(var e,o,i,u,c=vr(t),a=pr(void 0,c),f=pr(c,c),s=nn(en(f-a,0)),l=0;a<f;a++,l++)e=s,o=l,i=t[a],(u=mt(o))in e?Rt.f(e,u,b(0,i)):e[u]=i;return s.length=l,s}(un)}}(t):on(E(t))}},an=function(t,r,n){return n.get&&or(n.get,r,{getter:!0}),n.set&&or(n.set,r,{setter:!0}),Rt.f(t,r,n)},fn={f:gt},sn=u,ln=Rt.f,pn=function(t){var r=sn.Symbol||(sn.Symbol={});at(r,t)||ln(r,t,{value:fn.f(t)})},yn=Rt.f,vn=gt("toStringTag"),bn=function(t,r,n){t&&!n&&(t=t.prototype),t&&!at(t,vn)&&yn(t,vn,{configurable:!0,value:r})},gn=function(t){if("Function"===O(t))return m(t)},dn=gn(gn.bind),hn=Array.isArray||function(t){return"Array"===O(t)},mn=function(){},Sn=[],wn=R("Reflect","construct"),On=/^\s*(?:class|function)\b/,jn=m(On.exec),Pn=!On.test(mn),Tn=function(t){if(!k(t))return!1;try{return wn(mn,Sn,t),!0}catch(t){return!1}},Ln=function(t){if(!k(t))return!1;switch(zr(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Pn||!!jn(On,$t(t))}catch(t){return!0}};Ln.sham=!0;var An=!wn||c((function(){var t;return Tn(Tn.call)||!Tn(Object)||!Tn((function(){t=!0}))||t}))?Ln:Tn,_n=gt("species"),En=Array,Fn=function(t,r){return new(function(t){var r;return hn(t)&&(r=t.constructor,(An(r)&&(r===En||hn(r.prototype))||D(r)&&null===(r=r[_n]))&&(r=void 0)),void 0===r?En:r}(t))(0===r?0:r)},In=m([].push),Mn=function(t){var r=1===t,n=2===t,e=3===t,o=4===t,i=6===t,u=7===t,c=5===t||i;return function(a,s,l,p){for(var y,v,b=ut(a),g=T(b),d=function(t,r){return Q(t),void 0===r?t:f?dn(t,r):function(){return t.apply(r,arguments)}}(s,l),h=vr(g),m=0,S=p||Fn,w=r?S(a,h):n||u?S(a,0):void 0;h>m;m++)if((c||m in g)&&(v=d(y=g[m],m,b),t))if(r)w[m]=v;else if(v)switch(t){case 3:return!0;case 5:return y;case 6:return m;case 2:In(w,y)}else switch(t){case 4:return!1;case 7:In(w,y)}return i?-1:e||o?o:w}},kn=[Mn(0),Mn(1),Mn(2),Mn(3),Mn(4),Mn(5),Mn(6),Mn(7)][0],Cn=qt("hidden"),Dn="Symbol",Rn="prototype",xn=er.set,Nn=er.getterFor(Dn),Gn=Object[Rn],Vn=u.Symbol,zn=Vn&&Vn[Rn],Bn=u.RangeError,Hn=u.TypeError,Un=u.QObject,Wn=Tt.f,$n=Rt.f,Jn=cn.f,Xn=v.f,Yn=m([].push),qn=ot("symbols"),Kn=ot("op-symbols"),Qn=ot("wks"),Zn=!Un||!Un[Rn]||!Un[Rn].findChild,te=function(t,r,n){var e=Wn(Gn,r);e&&delete Gn[r],$n(t,r,n),e&&t!==Gn&&$n(Gn,r,e)},re=a&&c((function(){return 7!==rn($n({},"a",{get:function(){return $n(this,"a",{value:7}).a}})).a}))?te:$n,ne=function(t,r){var n=qn[t]=rn(zn);return xn(n,{type:Dn,tag:t,description:r}),a||(n.description=r),n},ee=function(t,r,n){t===Gn&&ee(Kn,r,n),Et(t);var e=mt(r);return Et(n),at(qn,e)?(n.enumerable?(at(t,Cn)&&t[Cn][e]&&(t[Cn][e]=!1),n=rn(n,{enumerable:b(0,!1)})):(at(t,Cn)||$n(t,Cn,b(1,{})),t[Cn][e]=!0),re(t,e,n)):$n(t,e,n)},oe=function(t,r){Et(t);var n=E(r),e=Ur(n).concat(ae(n));return kn(e,(function(r){a&&!l(ie,n,r)||ee(t,r,n[r])})),t},ie=function(t){var r=mt(t),n=l(Xn,this,r);return!(this===Gn&&at(qn,r)&&!at(Kn,r))&&(!(n||!at(this,r)||!at(qn,r)||at(this,Cn)&&this[Cn][r])||n)},ue=function(t,r){var n=E(t),e=mt(r);if(n!==Gn||!at(qn,e)||at(Kn,e)){var o=Wn(n,e);return!o||!at(qn,e)||at(n,Cn)&&n[Cn][e]||(o.enumerable=!0),o}},ce=function(t){var r=Jn(E(t)),n=[];return kn(r,(function(t){at(qn,t)||at(Kt,t)||Yn(n,t)})),n},ae=function(t){var r=t===Gn,n=Jn(r?Kn:E(t)),e=[];return kn(n,(function(t){!at(qn,t)||r&&!at(Gn,t)||Yn(e,qn[t])})),e};W||(Vn=function(){if(x(zn,this))throw new Hn("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?Hr(arguments[0]):void 0,r=pt(t),n=function(t){var e=void 0===this?u:this;e===Gn&&l(n,Kn,t),at(e,Cn)&&at(e[Cn],r)&&(e[Cn][r]=!1);var o=b(1,t);try{re(e,r,o)}catch(t){if(!(t instanceof Bn))throw t;te(e,r,o)}};return a&&Zn&&re(Gn,r,{configurable:!0,set:n}),ne(r,t)},zn=Vn[Rn],ir(zn,"toString",(function(){return Nn(this).tag})),ir(Vn,"withoutSetter",(function(t){return ne(pt(t),t)})),v.f=ie,Rt.f=ee,$r.f=oe,Tt.f=ue,wr.f=cn.f=ce,Or.f=ae,fn.f=function(t){return ne(gt(t),t)},a&&(an(zn,"description",{configurable:!0,get:function(){return Nn(this).description}}),ir(Gn,"propertyIsEnumerable",ie,{unsafe:!0}))),Cr({global:!0,constructor:!0,wrap:!0,forced:!W,sham:!W},{Symbol:Vn}),kn(Ur(Qn),(function(t){pn(t)})),Cr({target:Dn,stat:!0,forced:!W},{useSetter:function(){Zn=!0},useSimple:function(){Zn=!1}}),Cr({target:"Object",stat:!0,forced:!W,sham:!a},{create:function(t,r){return void 0===r?rn(t):oe(rn(t),r)},defineProperty:ee,defineProperties:oe,getOwnPropertyDescriptor:ue}),Cr({target:"Object",stat:!0,forced:!W},{getOwnPropertyNames:ce}),function(){var t=R("Symbol"),r=t&&t.prototype,n=r&&r.valueOf,e=gt("toPrimitive");r&&!r[e]&&ir(r,e,(function(t){return l(n,this)}),{arity:1})}(),bn(Vn,Dn),Kt[Cn]=!0;var fe=W&&!!Symbol.for&&!!Symbol.keyFor,se=ot("string-to-symbol-registry"),le=ot("symbol-to-string-registry");Cr({target:"Symbol",stat:!0,forced:!fe},{for:function(t){var r=Hr(t);if(at(se,r))return se[r];var n=R("Symbol")(r);return se[r]=n,le[n]=r,n}});var pe=ot("symbol-to-string-registry");Cr({target:"Symbol",stat:!0,forced:!fe},{keyFor:function(t){if(!X(t))throw new TypeError(q(t)+" is not a symbol");if(at(pe,t))return pe[t]}});var ye=Function.prototype,ve=ye.apply,be=ye.call,ge="object"==typeof Reflect&&Reflect.apply||(f?be.bind(ve):function(){return be.apply(ve,arguments)}),de=m([].slice),he=m([].push),me=String,Se=R("JSON","stringify"),we=m(/./.exec),Oe=m("".charAt),je=m("".charCodeAt),Pe=m("".replace),Te=m(1..toString),Le=/[\uD800-\uDFFF]/g,Ae=/^[\uD800-\uDBFF]$/,_e=/^[\uDC00-\uDFFF]$/,Ee=!W||c((function(){var t=R("Symbol")("stringify detection");return"[null]"!==Se([t])||"{}"!==Se({a:t})||"{}"!==Se(Object(t))})),Fe=c((function(){return'"\\udf06\\ud834"'!==Se("\udf06\ud834")||'"\\udead"'!==Se("\udead")})),Ie=function(t,r){var n=de(arguments),e=function(t){if(k(t))return t;if(hn(t)){for(var r=t.length,n=[],e=0;e<r;e++){var o=t[e];"string"==typeof o?he(n,o):"number"!=typeof o&&"Number"!==O(o)&&"String"!==O(o)||he(n,Hr(o))}var i=n.length,u=!0;return function(t,r){if(u)return u=!1,r;if(hn(this))return r;for(var e=0;e<i;e++)if(n[e]===t)return r}}}(r);if(k(e)||void 0!==t&&!X(t))return n[1]=function(t,r){if(k(e)&&(r=l(e,this,me(t),r)),!X(r))return r},ge(Se,null,n)},Me=function(t,r,n){var e=Oe(n,r-1),o=Oe(n,r+1);return we(Ae,t)&&!we(_e,o)||we(_e,t)&&!we(Ae,e)?"\\u"+Te(je(t,0),16):t};Se&&Cr({target:"JSON",stat:!0,arity:3,forced:Ee||Fe},{stringify:function(t,r,n){var e=de(arguments),o=ge(Ee?Ie:Se,null,e);return Fe&&"string"==typeof o?Pe(o,Le,Me):o}});var ke=!W||c((function(){Or.f(1)}));Cr({target:"Object",stat:!0,forced:ke},{getOwnPropertySymbols:function(t){var r=Or.f;return r?r(ut(t)):[]}});var Ce=u.Symbol,De=Ce&&Ce.prototype;if(a&&k(Ce)&&(!("description"in De)||void 0!==Ce().description)){var Re={},xe=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:Hr(arguments[0]),r=x(De,this)?new Ce(t):void 0===t?Ce():Ce(t);return""===t&&(Re[r]=!0),r};Tr(xe,Ce),xe.prototype=De,De.constructor=xe;var Ne="Symbol(description detection)"===String(Ce("description detection")),Ge=m(De.valueOf),Ve=m(De.toString),ze=/^Symbol\((.*)\)[^)]+$/,Be=m("".replace),He=m("".slice);an(De,"description",{configurable:!0,get:function(){var t=Ge(this);if(at(Re,t))return"";var r=Ve(t),n=Ne?He(r,7,-1):Be(r,ze,"$1");return""===n?void 0:n}}),Cr({global:!0,constructor:!0,forced:!0},{Symbol:xe})}var Ue=xr?{}.toString:function(){return"[object "+zr(this)+"]"};xr||ir(Object.prototype,"toString",Ue,{unsafe:!0}),pn("iterator");var We=Rt.f,$e=gt("unscopables"),Je=Array.prototype;void 0===Je[$e]&&We(Je,$e,{configurable:!0,value:rn(null)});var Xe,Ye,qe,Ke=function(t){Je[$e][t]=!0},Qe={},Ze=!c((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),to=qt("IE_PROTO"),ro=Object,no=ro.prototype,eo=Ze?ro.getPrototypeOf:function(t){var r=ut(t);if(at(r,to))return r[to];var n=r.constructor;return k(n)&&r instanceof n?n.prototype:r instanceof ro?no:null},oo=gt("iterator"),io=!1;[].keys&&("next"in(qe=[].keys())?(Ye=eo(eo(qe)))!==Object.prototype&&(Xe=Ye):io=!0);var uo=!D(Xe)||c((function(){var t={};return Xe[oo].call(t)!==t}));uo&&(Xe={}),k(Xe[oo])||ir(Xe,oo,(function(){return this}));var co={IteratorPrototype:Xe,BUGGY_SAFARI_ITERATORS:io},ao=co.IteratorPrototype,fo=function(){return this},so=String,lo=TypeError,po=Object.setPrototypeOf||("__proto__"in{}?function(){var t,r=!1,n={};try{(t=function(t,r,n){try{return m(Q(Object.getOwnPropertyDescriptor(t,"__proto__").set))}catch(t){}}(Object.prototype))(n,[]),r=n instanceof Array}catch(t){}return function(n,e){return Et(n),function(t){if("object"==typeof t||k(t))return t;throw new lo("Can't set "+so(t)+" as a prototype")}(e),r?t(n,e):n.__proto__=e,n}}():void 0),yo=zt.PROPER,vo=zt.CONFIGURABLE,bo=co.IteratorPrototype,go=co.BUGGY_SAFARI_ITERATORS,ho=gt("iterator"),mo="keys",So="values",wo="entries",Oo=function(){return this},jo=function(t,r,n,e,o,i,u){!function(t,r,n,e){var o=r+" Iterator";t.prototype=rn(ao,{next:b(1,n)}),bn(t,o,!1),Qe[o]=fo}(n,r,e);var c,a,f,s=function(t){if(t===o&&d)return d;if(!go&&t&&t in v)return v[t];switch(t){case mo:case So:case wo:return function(){return new n(this,t)}}return function(){return new n(this)}},p=r+" Iterator",y=!1,v=t.prototype,g=v[ho]||v["@@iterator"]||o&&v[o],d=!go&&g||s(o),h="Array"===r&&v.entries||g;if(h&&(c=eo(h.call(new t)))!==Object.prototype&&c.next&&(eo(c)!==bo&&(po?po(c,bo):k(c[ho])||ir(c,ho,Oo)),bn(c,p,!0)),yo&&o===So&&g&&g.name!==So&&(vo?xt(v,"name",So):(y=!0,d=function(){return l(g,this)})),o)if(a={values:s(So),keys:i?d:s(mo),entries:s(wo)},u)for(f in a)(go||y||!(f in v))&&ir(v,f,a[f]);else Cr({target:r,proto:!0,forced:go||y},a);return v[ho]!==d&&ir(v,ho,d,{name:o}),Qe[r]=d,a},Po=function(t,r){return{value:t,done:r}},To=Rt.f,Lo="Array Iterator",Ao=er.set,_o=er.getterFor(Lo),Eo=jo(Array,"Array",(function(t,r){Ao(this,{type:Lo,target:E(t),index:0,kind:r})}),(function(){var t=_o(this),r=t.target,n=t.index++;if(!r||n>=r.length)return t.target=void 0,Po(void 0,!0);switch(t.kind){case"keys":return Po(n,!1);case"values":return Po(r[n],!1)}return Po([n,r[n]],!1)}),"values"),Fo=Qe.Arguments=Qe.Array;if(Ke("keys"),Ke("values"),Ke("entries"),a&&"values"!==Fo.name)try{To(Fo,"name",{value:"values"})}catch(t){}var Io=m("".charAt),Mo=m("".charCodeAt),ko=m("".slice),Co=function(t){return function(r,n){var e,o,i=Hr(_(r)),u=fr(n),c=i.length;return u<0||u>=c?t?"":void 0:(e=Mo(i,u))<55296||e>56319||u+1===c||(o=Mo(i,u+1))<56320||o>57343?t?Io(i,u):e:t?ko(i,u,u+2):o-56320+(e-55296<<10)+65536}},Do=(Co(!1),Co(!0)),Ro="String Iterator",xo=er.set,No=er.getterFor(Ro);jo(String,"String",(function(t){xo(this,{type:Ro,string:Hr(t),index:0})}),(function(){var t,r=No(this),n=r.string,e=r.index;return e>=n.length?Po(void 0,!0):(t=Do(n,e),r.index+=t.length,Po(t,!1))}));var Go={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Vo=Ot("span").classList,zo=Vo&&Vo.constructor&&Vo.constructor.prototype,Bo=zo===Object.prototype?void 0:zo,Ho=gt("iterator"),Uo=gt("toStringTag"),Wo=Eo.values,$o=function(t,r){if(t){if(t[Ho]!==Wo)try{xt(t,Ho,Wo)}catch(r){t[Ho]=Wo}if(t[Uo]||xt(t,Uo,r),Go[r])for(var n in Eo)if(t[n]!==Eo[n])try{xt(t,n,Eo[n])}catch(r){t[n]=Eo[n]}}};for(var Jo in Go)$o(u[Jo]&&u[Jo].prototype,Jo);$o(Bo,"DOMTokenList");var Xo=zt.EXISTS,Yo=Function.prototype,qo=m(Yo.toString),Ko=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,Qo=m(Ko.exec);a&&!Xo&&an(Yo,"name",{configurable:!0,get:function(){try{return Qo(Ko,qo(this))[1]}catch(t){return""}}});var Zo=c((function(){Ur(1)}));Cr({target:"Object",stat:!0,forced:Zo},{keys:function(t){return Ur(ut(t))}});var ti=n((function(r){function n(r){return(n="function"==typeof Symbol&&"symbol"==t(Symbol.iterator)?function(r){return t(r)}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":t(r)})(r)}r.exports=function(){for(var t,r,e=[],o=window,i=o;i;){try{if(i.frames.__tcfapiLocator){t=i;break}}catch(t){}if(i===o.top)break;i=i.parent}t||(function t(){var r=o.document,n=!!o.frames.__tcfapiLocator;if(!n)if(r.body){var e=r.createElement("iframe");e.style.cssText="display:none",e.name="__tcfapiLocator",r.body.appendChild(e)}else setTimeout(t,5);return!n}(),o.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];if(!n.length)return e;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(r=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:r,cmpLoaded:!1,cmpStatus:"stub"}):e.push(n)},o.addEventListener("message",(function(t){var r="string"==typeof t.data,e={};if(r)try{e=JSON.parse(t.data)}catch(t){}else e=t.data;var o="object"===n(e)&&null!==e?e.__tcfapiCall:null;o&&window.__tcfapi(o.command,o.version,(function(n,e){var i={__tcfapiReturn:{returnValue:n,success:e,callId:o.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(r?JSON.stringify(i):i,"*")}),o.parameter)}),!1))}}));ti()}();
</script>

The code must be installed in the top of the site page head section, before any ads codes and libraries.

When installing the stub code without setting Consent Scope to Global, please contact our support to enable the CMP API for out-of-scope visitors, otherwise the __tcfapi calls will malfunction and this may break 3rd party solutions logic.

We recommend installing the stub code on the site if you are using non-Clickio 3rd party monetization solutions. For Google ads tags, please refer to this article.

The code is a subject to change, please be sure to have the latest version installed on the site prior to filing support requests in case of any issues.

After installing this code on the page, you can then call the API as usual (getTCData dump example is shown below).

window.__tcfapi('getTCData', null, function (consentData, consentDataSuccess) {
    console.groupCollapsed('getTCData called ('+consentDataSuccess+')');
    console.log(consentData);
    console.groupEnd();
});

The stub stores the request and replies as soon as the full code loads. PostMessage commands are also supported.