Funciones
Aprovecha las funciones avanzadas e integra CookiePal con otras herramientas.
Implementación inline del comando default
Esta guía explica cómo implementar un script inline personalizado para el comando default de GCM.
Índice
Volver
Volver arriba
Los scripts en línea personalizados pueden ayudar a adaptar el comando predeterminado GCM para que se ajuste mejor a tu flujo de trabajo y requisitos específicos. En esta guía, aprenderás los pasos necesarios para crear e implementar tu propio script en línea, junto con las consideraciones clave que debes tener en cuenta para una configuración sin problemas.
Instala el comando predeterminado personalizado
Usa este enfoque cuando mantengas tu propia implementación Google Consent Mode en línea y necesites establecer el estado de consentimiento predeterminado directamente en la página. Google documenta que el comando de consentimiento predeterminado debe añadirse en cada página y actualizarse cuando un visitante interactúa con el banner de consentimiento.
CookiePal ya implementa este comando de forma predeterminada cuando usas tu configuración estándar Google Consent Mode. La instalación manual generalmente solo es necesaria para implementaciones personalizadas, por ejemplo, cuando administras tu propia configuración de gtag en línea, cargas etiquetas fuera de CookiePal o Google Tag Manager, o necesitas que el comando de consentimiento predeterminado se ejecute en un orden de secuencia de comandos personalizado antes de que se ejecuten otras etiquetas.
Instala el script personalizado en el head de cada página, antes de la etiqueta de Google o del arranque Google Tag Manager y antes de cualquier comando gtag posterior que pueda enviar datos de medición, como gtag('js', ...) , gtag('config', ...) o gtag('event', ...) .
Este orden importa. La guía de solución de problemas de Google señala que cargar el comando predeterminado demasiado tarde puede provocar el error Tag Assistant "Una etiqueta lee el estado de consentimiento antes de que se estableciera un valor predeterminado".
Si tu banner o CMP actualiza el consentimiento de forma asíncrona, el valor wait_for_update da un breve window para enviar la actualización del consentimiento coincidente antes de enviar la medición.
Ejemplo de script personalizado
Ejemplo de script en línea personalizado:
1<script>
2window.dataLayer = window.dataLayer || [];
3function gtag() {
4 dataLayer.push(arguments);
5}
6gtag('consent', 'default', {
7 'ad_personalization': 'denied',
8 'ad_storage': 'denied',
9 'ad_user_data': 'denied',
10 'analytics_storage': 'denied',
11 'functionality_storage': 'denied',
12 'personalization_storage': 'denied',
13 'security_storage': 'granted',
14 'wait_for_update': 500,
15});
16gtag('set', 'ads_data_redaction', true);
17gtag('set', 'url_passthrough', true);
18</script>NOTA: Si usas WordPress, consulta la sección WordPress. Si utilizas Shopify, consulta la sección Shopify. Si utilizas Next.js, consulta la sección Next.js.
Ejemplo de configuración de región
Google recomienda limitar los valores predeterminados denegados a las regiones donde realmente se muestra un banner de consentimiento. Esto ayuda a preservar la medición en otros lugares y evita dejar a los visitantes con valores predeterminados denegados pero sin un banner para actualizar el consentimiento.
Puedes hacerlo con el parámetro de región. Google documenta estos valores como códigos de región ISO 3166-2, por lo que se pueden utilizar códigos de país como GB y códigos de subdivisión como US-AK cuando corresponda.
Ejemplo de comando específico de región:
1<script>
2window.dataLayer = window.dataLayer || [];
3
4function gtag() {
5 dataLayer.push(arguments);
6}
7// EU-specific settings
8gtag('consent', 'default', {
9 'ad_personalization': 'denied',
10 'ad_storage': 'denied',
11 'ad_user_data': 'denied',
12 'analytics_storage': 'denied',
13 'functionality_storage': 'denied',
14 'personalization_storage': 'denied',
15 'region': [
16 'AT', 'BE', 'BG', 'CH', 'CY', 'DE', 'DK', 'EE', 'ES', 'FI',
17 'FR', 'GB', 'GG', 'GR', 'HR', 'HU', 'IE', 'IM', 'IT', 'JE', 'LT', 'LU',
18 'LV', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK',
19 ],
20 'wait_for_update': 500,
21});
22// Default settings
23gtag('consent', 'default', {
24 'ad_personalization': 'granted',
25 'ad_storage': 'granted',
26 'ad_user_data': 'granted',
27 'analytics_storage': 'granted',
28 'functionality_storage': 'granted',
29 'personalization_storage': 'granted',
30 'security_storage': 'granted',
31 'wait_for_update': 500,
32});
33gtag('set', 'ads_data_redaction', true);
34gtag('set', 'url_passthrough', true);
35</script>NOTA: Si utilizas un comando de ámbito regional como este, asegúrate de que tu banner se dirija a las mismas regiones y añade cualquier comando predeterminado alternativo sin ámbito regional que tu política requiera para los visitantes fuera de esa lista.
Qué hace ads_data_redaction
Cuando ad_storage es denied , Google dice que las cookies publicitarias no están configuradas, pero las URL de solicitud aún pueden contener información sobre los clics en los anuncios. La configuración de gtag('set', 'ads_data_redaction', true) redacta aún más los identificadores de clics en anuncios en las solicitudes de red Google Ads y Floodlight y envía esas solicitudes a través de un dominio sin cookies.
Esta configuración solo tiene efecto cuando se utiliza el modo de consentimiento y se deniega ad_storage. Si se concede ad_storage, Google documenta que ads_data_redaction no tiene ningún efecto.
Consulta la documentación de redacción de datos de anuncios oficial de Google para conocer el comportamiento detallado de la redacción de datos de anuncios.
¿Qué hace url_passthrough?
Cuando se deniega ad_storage o analytics_storage, url_passthrough permite a Google pasar información sobre clics en anuncios, clientes y sesiones a través de parámetros de URL del mismo dominio para que la medición pueda continuar en todas las páginas sin depender de cookies.
Google señala que esto solo funciona en casos específicos, como cuando se implementa el modo de consentimiento y la navegación permanece en el mismo dominio. Dado que puede añadir parámetros como gclid, dclid, gclsrc, _gl o wbraid a las URL, asegúrate de que tus redireccionamientos los conserven y de que tu sitio pueda ignorarlos de forma segura cuando sea necesario.
Consulta la documentación de transferencia de URL oficial de Google para conocer los requisitos de configuración y las limitaciones de la transferencia de URL.
Instálalo en WordPress con WPCode
Si tu sitio se ejecuta en WordPress, puedes añadir el comando predeterminado sin editar archivos del tema usando el plugin WPCode para insertar un fragmento de PHP.
En el área de administración de WordPress, ve a Plugins > Añadir nuevo, busca WPCode, luego instala y activa el plugin.
![En el área de administración de WordPress, ve a [Plugins > Añadir nuevo:bold], busca [WPCode:bold], luego instala y activa el plugin.](/_next/static/media/0.bd13cb8f.png)
Abre Fragmentos de código y crea un nuevo fragmento. Elige PHP Snippet como tipo de código, pega el siguiente código y guárdalo como un nuevo fragmento.
![Abre [Fragmentos de código:bold] y crea un nuevo fragmento. Elige [PHP Snippet:bold] como tipo de código, pega el siguiente código y guárdalo como un nuevo fragmento.](/_next/static/media/3.8bc90a3f.png)
1add_action('wp_head', function () {
2 ?>
3 <script>
4 window.dataLayer = window.dataLayer || [];
5 function gtag(){ dataLayer.push(arguments); }
6
7 gtag('consent', 'default', {
8 "ad_personalization": "denied",
9 "ad_storage": "denied",
10 "ad_user_data": "denied",
11 "analytics_storage": "denied",
12 "functionality_storage": "denied",
13 "security_storage": "granted",
14 "personalization_storage": "denied",
15 "wait_for_update": 500
16 });
17
18 gtag("set", "ads_data_redaction", true);
19 gtag("set", "url_passthrough", true);
20 </script>
21 <?php
22}, 0);En la configuración del fragmento, establece el valor Prioridad en 0 para que el comando de consentimiento predeterminado se ejecute lo antes posible en el encabezado de la página.
![En la configuración del fragmento, establece el valor [Prioridad:bold] en [0:bold] para que el comando de consentimiento predeterminado se ejecute lo antes posible en el encabezado de la página.](/_next/static/media/2.8d633539.png)
Asegúrate de que el fragmento esté marcado como Activo, luego haz clic en Actualizar para guardarlo.
![Asegúrate de que el fragmento esté marcado como [Activo:bold], luego haz clic en [Actualizar:bold] para guardarlo.](/_next/static/media/3.8bc90a3f.png)
Después de guardar, confirma que el fragmento aparece en la lista WPCode con Tipo de código configurado en PHP, Prioridad configurado en 0 y el cambio de estado habilitado.
![Después de guardar, confirma que el fragmento aparece en la lista WPCode con [Tipo de código:bold] configurado en PHP, [Prioridad:bold] configurado en 0 y el cambio de estado habilitado.](/_next/static/media/1.584a3156.png)
Instálalo en Shopify
Si tu tienda se ejecuta en Shopify, puedes añadir el comando predeterminado directamente en el código del tema usando el mismo script que se muestra en la sección Ejemplo de script personalizado anterior.
En el panel de administración de Shopify, ve a Tienda en línea > Temas. Abre el menú del tema actual y haz clic en Editar código.
![En el panel de administración de Shopify, ve a [Tienda en línea > Temas:bold]. Abre el menú del tema actual y haz clic en [Editar código:bold].](/_next/static/media/0.6f2e981e.png)
En el editor de código, abre Diseño > theme.liquid. Busca la etiqueta de apertura <head> y pega el comando predeterminado del ejemplo anterior inmediatamente después, antes del script del banner CookiePal, la etiqueta de Google o el arranque Google Tag Manager.
![En el editor de código, abre [Diseño > theme.liquid:bold]. Busca la etiqueta de apertura [<head>:bold] y pega el comando predeterminado del ejemplo anterior inmediatamente después, antes del script del banner CookiePal, la etiqueta de Google o el arranque Google Tag Manager.](/_next/static/media/1.f232d95a.png)
Haz clic en Guardar en la esquina superior derecha para publicar el cambio.
Instálalo en Next.js
Si tu sitio se ejecuta en Next.js, añade el comando predeterminado en tu diseño raíz, como app/layout.tsx, antes del script del banner CookiePal, la etiqueta de Google o el arranque Google Tag Manager.
Mantén el contenido del script como una cadena dentro del elemento <script>. No pegues el objeto directamente como JSX, o Next.js intentará interpretarlo en lugar de representarlo como contenido de script en línea.
![Mantén el contenido del script como una [cadena:bold] dentro del elemento [<script>:bold]. No pegues el objeto directamente como JSX, o Next.js intentará interpretarlo en lugar de representarlo como contenido de script en línea.](/_next/static/media/default-command-implementation.75b5bb00.png)
Usa el mismo comando predeterminado que se muestra en Ejemplo de script personalizado, pero adáptalo para que el cuerpo de JavaScript permanezca dentro de una cadena, como esta:
1<script>
2 {`window.dataLayer = window.dataLayer || [];
3 function gtag() {
4 dataLayer.push(arguments);
5 }
6 gtag('consent', 'default', {
7 'ad_personalization': 'denied',
8 'ad_storage': 'denied',
9 'ad_user_data': 'denied',
10 'analytics_storage': 'denied',
11 'functionality_storage': 'denied',
12 'personalization_storage': 'denied',
13 'security_storage': 'granted',
14 'wait_for_update': 500,
15 });
16 gtag('set', 'ads_data_redaction', true);
17 gtag('set', 'url_passthrough', true);`}
18</script>Guarda tus cambios e implementa la versión actualizada de tu sitio Next.js.
Nota sobre el orden de carga
El comando predeterminado personalizado debe ejecutarse antes de cualquier comando gtag posterior y antes de cualquier evento que pueda desencadenarse al cargar la página. Google también recomienda registrar la actualización del consentimiento en la misma página donde el visitante interactúa con el banner, antes de cualquier transición de página.