Iubenda logo
Genera tus documentos

Documentación

Tabla de contenidos

Google Consent Mode: cómo gestionar cookies para fines publicitarios y estadísticos

Para ayudar a los anunciantes a gestionar las cookies con fines publicitarios y estadísticos, Google ha creado Consent Mode, una función que te permite ajustar cómo se comportan tus etiquetas de Google en base al estatus de consentimiento de tus usuarios.

No confundas Consent Mode con Additional Consent Mode, una función que te permite obtener el consentimiento de los socios publicitarios de Google que aún no forman parte del Marco de Transparencia y Consentimiento, pero que están en la lista de proveedores de tecnología publicitaria (ATP) de Google.

Puedes indicar si el consentimiento ha sido otorgado para cookies con fines publicitarios o estadísticos. Los tipos de consentimiento ad_storage y analytics_storage de Google se adaptarán automáticamente, utilizando cookies exclusivamente para los fines especificados cuando el usuario haya proporcionado su consentimiento:

  • cuando se obtenga el consentimiento, las etiquetas asociadas funcionarán con normalidad;
  • cuando se rechace el consentimiento para el almacenamiento de anuncios o de estadísticas, las etiquetas de Google asociadas implementadas a través de gtag.js o Google Tag Manager ajustarán su comportamiento en consecuencia.

Por ejemplo, si un usuario no otorga su consentimiento para cookies publicitarias (y en consecuencia se desactivan los fines publicitarios), pero proporciona su consentimiento para cookies estadísticas, todavía podrás medir su comportamiento en el sitio y las conversiones en Analytics, ya que la configuración analytics_storage estará habilitada.

Estos son los productos compatibles con Consent Mode:

  • Google Ads (incluyendo Google Ads Conversion Tracking and Remarketing)
  • Google Analytics
  • Floodlight
  • Conversion Linker

Consent Mode necesita gtag.js o Google Tag Manager para funcionar correctamente. Si utilizas una etiqueta más antigua, como ga.js, analytics.js o conversion.js, primero tendrás que actualizarla a gtag.js o Google Tag Manager.

Puede que quieras utilizar Consent Mode como una alternativa al bloqueo previo. Para implementarlo con nuestra Cookie Solution hay que agregar algunas líneas de código a la etiqueta global de tu sitio web (gtag.js) o al contenedor de Tag Manager.

Si utilizas el método de implementación anterior (el que requiere agregar una callback al fragmento de la Cookie Solution), te recomendamos que cambies a este otro, ya que es más limpio. Además, aunque actualmente es compatible, no podemos garantizar que la implementación anterior continúe funcionando en el futuro.

1. Inicializa la capa de datos

Lo primero que hay que hacer es inicializar la capa de datos para Google Tag Manager. Probablemente, tendrás este código en el <head> de tus páginas:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag() {
        dataLayer.push(arguments);
    }
    gtag('js', new Date());
    gtag('config', 'GA_MEASUREMENT_ID');
</script>

Tiene que convertirse en:

<script>
    // Initialize the data layer for Google Tag Manager (this should mandatorily be done before the Cookie Solution is loaded)
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }

    // Default consent mode is "denied" for both ads and analytics, but delay for 2 seconds until the Cookie Solution is loaded
    gtag("consent", "default", {
        ad_storage: "denied",
        analytics_storage: "denied",
        wait_for_update: 2000 // milliseconds
    });

    // Further redact your ads data (optional)
    gtag("set", "ads_data_redaction", true);
</script>

// Global site tag (gtag.js) - Google Analytics 
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag() {
        dataLayer.push(arguments);
    }
    gtag('js', new Date());
    gtag('config', 'GA_MEASUREMENT_ID'); //replace GA_MEASUREMENT_ID with the ID of your Google Analytics property
</script>

Si en cambio utilizas Google Tag Manager, el código debería ser:

<script>
    // Initialize the data layer for Google Tag Manager (this should mandatorily be done before the Cookie Solution is loaded)
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }

    // Default consent mode is "denied" for both ads and analytics, but delay for 2 seconds until the Cookie Solution is loaded
    gtag("consent", "default", {
        ad_storage: "denied",
        analytics_storage: "denied",
        wait_for_update: 2000 // milliseconds
    });

    // Further redact your ads data (optional)
    gtag("set", "ads_data_redaction", true);
    
    // Google Tag Manager
    (function(w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({
            'gtm.start': new Date().getTime(),
            event: 'gtm.js'
        });
        var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s),
            dl = l != 'dataLayer' ? '&l=' + l : '';
        j.async = true;
        j.src =
            'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-XXXXXX'); //replace GTM-XXXXXX with the ID of your Google Analytics property
</script>
Reduce los datos de los anuncios (opcional)

Como puedes ver en esta línea:

gtag("set", "ads_data_redaction", true);

Hemos optado por reducir aún más los datos cuando ad_storage esté 'denied'. De hecho, cuando ads_data_redaction está establecido como true y ad_storage como 'denied', los identificadores de clic en anuncios enviados en solicitudes de red por las etiquetas asociadas de Google Ads y Floodlight están censurados. Las solicitudes de las redes también se envían a través de un dominio sin cookies.

Ten en cuenta que, sin esta línea opcional, puede que se instalen algunas cookies.

2. Agrega el código de integración de la Cookie Solution

Por último, agrega el fragmento de código de la Cookie Solution y se convertirá en:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script>
    // Initialize the data layer for Google Tag Manager (this should mandatorily be done before the Cookie Solution is loaded)
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }

    // Default consent mode is "denied" for both ads and analytics, but delay for 2 seconds until the Cookie Solution is loaded
    gtag("consent", "default", {
        ad_storage: "denied",
        analytics_storage: "denied",
        wait_for_update: 2000 // milliseconds
    });

    // Further redact your ads data (optional)
    gtag("set", "ads_data_redaction", true);
    
    // Google Tag Manager
    (function(w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({
            'gtm.start': new Date().getTime(),
            event: 'gtm.js'
        });
        var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s),
            dl = l != 'dataLayer' ? '&l=' + l : '';
        j.async = true;
        j.src =
            'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-XXXXXX'); //replace GTM-XXXXXX with the ID of your Google Analytics property
</script>

<!-- iubenda Cookie Solution -->
<script>    
    var _iub = _iub || [];
    
    _iub.csConfiguration = {
        lang: "en",
        siteId: 12345678, //use your siteId
        cookiePolicyId: 12345678, //use your cookiePolicyId
        countryDetection: true,
        perPurposeConsent: true,
        purposes: "1,4,5",
        consentOnContinuedBrowsing: false,
        banner: {
            position: "float-top-center",
            acceptButtonDisplay: true,
            customizeButtonDisplay: true,
            rejectButtonDisplay: true
        }
    };
</script>
<script src="https://cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>

Para obtener más información sobre el Consent Mode, consulta el blog oficial de Google Marketing Platform, la ayuda de Google Analytics o la guía gtag.js.

Gestiona el consentimiento de cookies con nuestra Cookie Solution

Genera un banner de cookies

Más información