Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.
Cada uno de sus sitios web tiene una etiqueta JavaScript unica que debe instalarse en cada pagina.
Puede encontrar la etiqueta de UniConsent en la seccion Install & Setup.
La etiqueta consta de dos partes. La primera parte es un stub que debe integrarse en la parte superior de su pagina. La segunda parte puede cargarse con async. El impacto en el rendimiento de su sitio es minimo.
Tambien puede optar por cargar el codigo stub con la siguiente etiqueta JavaScript:
<script src="https://cmp.uniconsent.com/v2/stub.min.js"></script>
Tambien puede reemplazar el siguiente codigo con la etiqueta stub anterior para mejorar la velocidad de la pagina:
<script type="text/javascript">
!function(){var e,t,a;e="__tcfapiLocator",t=[],(a=window.frames[e])||(function t(){var n=window.document,i=!!a;if(!i)if(n.body){var o=n.createElement("iframe");o.style.cssText="display:none",o.name=e,n.body.appendChild(o)}else setTimeout(t,50);return!i}(),window.__tcfapi=function(){for(var e,a=[],n=0;n<arguments.length;n++)a[n]=arguments[n];if(!a.length)return t;if("setGdprApplies"===a[0])a.length>3&&2===parseInt(a[1],10)&&"boolean"==typeof a[3]&&(e=a[3],"function"==typeof a[2]&&a[2]("set",!0));else if("ping"===a[0]){var i={gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"};"function"==typeof a[2]&&a[2](i,!0)}else t.push(a)},window.addEventListener("message",(function(e){var t="string"==typeof e.data,a={};try{a=t?JSON.parse(e.data):e.data}catch(e){}var n=a.__tcfapiCall;if(n)try{window.__tcfapi(n.command,n.version,(function(a,i){var o={__tcfapiReturn:{returnValue:a,success:i,callId:n.callId}};t&&(o=JSON.stringify(o)),e.source&&"function"==typeof e.source.postMessage&&e.source.postMessage(o,"*")}),n.parameter)}catch(e){}}),!1))}();
!function(){var e,a,t;e="__uspapiLocator",a=[],(t=window.frames[e])||(function a(){var n=window.document,s=!!t;if(!t)if(n.body){var i=n.createElement("iframe");i.style.cssText="display:none",i.name=e,n.body.appendChild(i)}else setTimeout(a,50);return!s}(),window.__uspapi=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(!e.length)return a;"ping"===e[0]?"function"==typeof e[2]&&e[2]({cmpLoaded:!1,cmpStatus:"stub"},!0):a.push(e)},window.addEventListener("message",(function(e){var a="string"==typeof e.data,t={};try{t=a?JSON.parse(e.data):e.data}catch(e){}var n=t&&t.__uspapiCall;if(n)try{window.__uspapi(n.command,n.version,(function(t,s){var i={__uspapiReturn:{returnValue:t,success:s,callId:n.callId}};a&&(i=JSON.stringify(i)),e.source&&"function"==typeof e.source.postMessage&&e.source.postMessage(i,"*")}),n.parameter)}catch(e){}}),!1))}();
window.__gpp_addFrame=function(e){if(!window.frames[e])if(document.body){var t=document.createElement("iframe");t.style.cssText="display:none",t.name=e,document.body.appendChild(t)}else window.setTimeout(window.__gpp_addFrame,50,e)},window.__gpp_stub=function(){var e=arguments;if(__gpp.queue=__gpp.queue||[],__gpp.events=__gpp.events||[],!e.length||1==e.length&&"queue"==e[0])return __gpp.queue;if(1==e.length&&"events"==e[0])return __gpp.events;var t=e[0],p=e.length>1?e[1]:null,s=e.length>2?e[2]:null;if("ping"===t)p&&p({gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[-1],gppString:"",parsedSections:{}},!0);else if("addEventListener"===t){"lastId"in __gpp||(__gpp.lastId=0),__gpp.lastId++;var n=__gpp.lastId;__gpp.events.push({id:n,callback:p,parameter:s}),p({eventName:"listenerRegistered",listenerId:n,data:!0,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[-1],gppString:"",parsedSections:{}}},!0)}else if("removeEventListener"===t){for(var a=!1,i=0;i<__gpp.events.length;i++)if(__gpp.events[i].id==s){__gpp.events.splice(i,1),a=!0;break}p({eventName:"listenerRemoved",listenerId:s,data:a,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[-1],gppString:"",parsedSections:{}}},!0)}else"hasSection"===t?p(!1,!0):"getSection"===t||"getField"===t?p(null,!0):__gpp.queue.push([].slice.apply(e))},window.__gpp_msghandler=function(e){var t="string"==typeof e.data;try{var p=t?JSON.parse(e.data):e.data}catch(e){p=null}if("object"==typeof p&&null!==p&&"__gppCall"in p){var s=p.__gppCall;try{window.__gpp(s.command,(function(p,n){var a={__gppReturn:{returnValue:p,success:n,callId:s.callId}};e.source&&"function"==typeof e.source.postMessage&&e.source.postMessage(t?JSON.stringify(a):a,"*")}),"parameter"in s?s.parameter:null,"version"in s?s.version:"1.1")}catch(e){}}},"__gpp"in window&&"function"==typeof window.__gpp||(window.__gpp=window.__gpp_stub,window.addEventListener("message",window.__gpp_msghandler,!1),window.__gpp_addFrame("__gppLocator"));
</script>
El codigo stub o la etiqueta anterior son compatibles con las siguientes API: IAB TCF API, IAB GPP API, IAB USP API.
Puede agregar esto en la parte superior de sus paginas si no esta utilizando Google Tag Manager pero desea habilitar Consent Mode V2:
<script src="https://cmp.uniconsent.com/v2/stubgcm.min.js"></script>
o agregar el siguiente codigo en la parte superior de sus paginas:
<script>
window.gtag||(window.dataLayer=window.dataLayer||[],window.gtag=function(){window.dataLayer.push(arguments)}),window.gtag("set","developer_id.dZTcxZD",!0),window.gtag("consent","default",{ad_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",security_storage:"granted",wait_for_update:3e3}),window.gtag("set","ads_data_redaction",!0),window.gtag("set","url_passthrough",!1);
</script>
Encuentre mas informacion sobre la configuracion de Google Consent Mode en https://www.uniconsent.com/docs/tutorials/google-consent-mode
Puede deshabilitar el 'privacy badge' y agregar el siguiente enlace en su pagina.
<a href="#" onclick='__unicapi("openunic");return false;'>Consent Settings</a>
Puede apuntar a un DIV en sus paginas web con un selector CSS; UniConsent insertara automaticamente el enlace de configuracion de consentimiento dentro del DIV segun la ubicacion geografica y las funciones habilitadas.
<div id="uniconsent-config"></div>
Puede colocar el siguiente DIV de marcador de posicion en el pie de pagina de sus paginas web; UniConsent insertara automaticamente el enlace de configuracion de consentimiento dentro del marcador de posicion segun la ubicacion geografica y las funciones habilitadas.
<div id="uniconsent-config"></div>
Puede encontrar la clave de licencia en la seccion Install & Setup.
Evitar la carga diferida de las etiquetas CMP:
Debe agregar data-nowprocket a todos los scripts:
<script data-nowprocket data-cfasync="false" src="https://cmp.uniconsent.com/v2/stub.min.js"></script>
y
<script data-nowprocket data-cfasync="false" async src='https://cmp.uniconsent.com/v2/YOUR_ID/cmp.js'></script>
Tambien debe excluir el JavaScript en linea de la combinacion:
cmp.uniconsent.com.Si necesita WP Consent API, agregue la siguiente etiqueta en las paginas:
<script data-nowprocket data-cfasync="false" async src="http://cmp.uniconsent.com/v2/wp-consent-api.min.js"></script>
Encuentre mas informacion sobre How to enable WP Consent API.
Debe agregar data-cfasync="false" a los scripts:
<script data-nowprocket data-cfasync="false" src="https://cmp.uniconsent.com/v2/stub.min.js"></script>
y
<script data-nowprocket data-cfasync="false" async src='https://cmp.uniconsent.com/v2/YOUR_ID/cmp.js'></script>
Puede encontrar instrucciones sobre como instalar UniConsent mediante Google Tag Manager en https://www.uniconsent.com/docs/tutorials/gtm-integration.
Si desea integrar sus etiquetas JavaScript de terceros, vaya a la seccion Thrid party Javascript Tags Integration.
Puede monitorear la consola del desarrollador en busca de mensajes de advertencia o usar el UniConsent Consent Validator para asegurarse de que Consent Mode, IAB TCF e IAB GPP esten disponibles y se transmitan correctamente en sus paginas web.
Revise regularmente el estado de la auditoria de implementacion en su panel.
Google Consent Mode habilitado, pero falta el codigo stub de estado predeterminado
Problema: Puede encontrar un mensaje de error en el Validator o la consola del desarrollador:
Error: Consent Mode Default Status is not added.
Solucion: Agregue el codigo stub de estado predeterminado en la parte superior de sus paginas para resolver este problema. Puede seguir las instrucciones aqui: Consent Mode Default Status Tag Installation.
Google Consent Mode habilitado, pero el codigo stub de estado predeterminado se agrego despues de las etiquetas de Google
Problema: Si el codigo stub de estado predeterminado se agrega despues de sus etiquetas de Google, puede ver el siguiente mensaje de error en el Validator o la consola del desarrollador:
Error: Your Google tags are loaded before Consent Mode Default Status and CMP.
Solucion: Asegurese de que el codigo stub de estado predeterminado se agregue en la parte superior de sus paginas, antes de cualquier etiqueta de Google. Siga la guia aqui: Consent Mode Default Status Tag Installation.
Google Consent Mode habilitado mediante Google Tag Manager, pero no todas las etiquetas de Google se gestionan en Google Tag Manager
Problema: Cuando algunas etiquetas de Google no se gestionan en Google Tag Manager, puede ver errores similares a los descritos anteriormente.
Solucion: Agregue el codigo stub de estado predeterminado en la parte superior de sus paginas o asegurese de que todas sus etiquetas de Google se gestionen dentro de Google Tag Manager. Consulte la guia: Consent Mode Default Status Tag Installation.
Falta el codigo stub de IAB TCF
Problema: El codigo stub de IAB TCF no esta incluido, lo que puede causar errores.
Solucion: Agregue el codigo stub de IAB TCF en la parte superior de sus paginas. Siga las instrucciones aqui: Stub Codes Installation.
Falta el codigo stub de IAB GPP
Problema: El codigo stub de IAB GPP no esta presente en su implementacion.
Solucion: Incluya el codigo stub de IAB GPP en la parte superior de sus paginas. Puede encontrar la guia correspondiente aqui: Stub Codes Installation.
Falta el codigo stub de USP API
Problema: El codigo stub de IAB USP no esta presente.
Solucion: Para resolver esto, agregue el codigo stub de IAB USP en la parte superior de sus paginas. Las instrucciones detalladas estan disponibles aqui: Stub Codes Installation.