Coincidencia de cookies

A grandes rasgos, la coincidencia de cookies es el proceso por el cual un anunciante o proveedor asocia las cookies de su dominio con las del dominio de Google. Asociar estas cookies te permite conectar los datos propios que tengas con los datos de anuncios de Google (registrados a través de Display & Video 360 y Campaign Manager 360) sobre el mismo usuario, para que puedas incorporar datos de CRM y conocer mejor el comportamiento de los usuarios. Al combinar estos datos de formas que protegen en la privacidad, puedes hacer lo siguiente:

  • Dirigirte a audiencias específicas en función de artículos concretos que hayan abandonado en el carrito de la compra si esos usuarios han interactuado con tus anuncios y tu dominio.
  • Determinar qué anuncios conducen a sesiones más largas en tu dominio.
  • Analizar el historial de compras combinado con los datos obtenidos al finalizar las campañas.

Limitaciones y privacidad de los usuarios finales

Aunque la coincidencia de cookies es muy útil, tiene algunas limitaciones:

  • Las combinaciones entre las tablas *_match y las que no son *_match están prohibidas.
  • Requiere trabajo de ingeniería tanto por tu parte como por la de Google.
  • Es poco probable que puedas relacionar todos tus datos de anuncios de Google. Las tasas de coincidencia están sujetas a una serie de factores y pueden variar según el caso práctico y la configuración del lado del cliente. Las tasas de coincidencia suelen ser más bajas de lo que los usuarios esperan. Solo puede llevarse a cabo el proceso de coincidencia de cookies de los usuarios que han interactuado con tu dominio y tus anuncios.
  • Google empieza a rellenar las tablas de coincidencias cuando están configuradas. Dependiendo de la frecuencia con la que los usuarios visiten tu sitio y reciban tu píxel de coincidencia, pueden pasar meses hasta que las tablas de coincidencias logran tener datos completos y estables de los usuarios.
  • No podrás asociar usuarios concretos con varios dispositivos, a menos que tengas alguna forma de relacionar usuarios con diferentes dispositivos.
  • No puedes llevar a cabo la coincidencia de los usuarios que usen varias cookies, como podría ser el caso de un usuario que borre sus cookies.
  • Las tareas que se ejecutan en tablas de coincidencias están sujetas a los mismos requisitos de agregación que otras tareas del Centro de Datos de Anuncios. Si tu tasa de coincidencia es baja y recibes visitas con poca frecuencia en tu dominio, podrías tener problemas para obtener datos. Esto se debe al efecto combinado de las tasas de coincidencia y los requisitos de agregación1.
  • De acuerdo con las políticas de Google sobre la privacidad de los usuarios finales:
    • Está prohibido asociar entre sí los datos de un usuario obtenidos cuando ha iniciado sesión y cuando la ha cerrado.
    • No puedes relacionar datos con usuarios que hayan inhabilitado la personalización de anuncios.
  • En el caso de los eventos de iOS, solo puedes asociar los datos que provengan de aplicaciones de iOS 14.5 o versiones posteriores en relación con usuarios que hayan dado permiso según el marco de transparencia en el rastreo de aplicaciones de Apple.

Para poder usar tus datos propios en el Centro de Datos de Anuncios, debes confirmar que tienes el consentimiento necesario para compartir datos de usuarios finales del EEE con Google de acuerdo con la Política de Consentimiento de Usuarios de la Unión Europea y la política del Centro de Datos de Anuncios. Este requisito se aplica a todas las cuentas del Centro de Datos de Anuncios y se debe actualizar cada vez que subes datos propios. Cualquier usuario puede confirmarlo en nombre de toda la cuenta.

Recuerda que las reglas de las consultas de servicios de Google que se aplican a las consultas analíticas se aplican también a las consultas de coincidencia de cookies. Por ejemplo, no puedes hacer consultas de varios servicios sobre usuarios del EEE al crear una lista de tabla de coincidencias.

Para saber cómo debes confirmar el consentimiento en el Centro de Datos de Anuncios, consulta los requisitos de consentimiento del Espacio Económico Europeo.

Para que Google rellene tus tablas de coincidencias, debes servir una etiqueta de coincidencia en todas las páginas de tu dominio en las que quieras relacionar datos publicitarios. La ubicación del píxel dependerá de tus objetivos publicitarios. Por ejemplo, puede que quieras llevar a cabo la coincidencia de cookies de todos los usuarios que visiten tu dominio (requiere píxeles en casi todas las páginas) o de los usuarios con conversión (requiere píxeles en una página de conversión). Por lo general, se conseguirán tasas de coincidencia más altas si el píxel está presente en más páginas.

La etiqueta de coincidencia es un píxel de 1x1 transparente que contiene el ID de tu perfil de coincidencia de cookies y un ID de usuario o de cookie codificado:

<img src="https://cm.g.doubleclick.net/pixel?google_nid=adh_customername&google_hm=Q29va2llIG51bWJlciAxIQ" />

La etiqueta de coincidencia inicia la comunicación entre tu dominio y los servicios de coincidencia de cookies de Google.

Descripción general paso a paso

  1. Un usuario visita una página con una etiqueta de coincidencia.
  2. La etiqueta de coincidencia inicia una serie de redirecciones a los servicios de coincidencia de Google Marketing Platform, Google Ads y YouTube. Las solicitudes contienen el ID o la cookie de ese usuario de tu sitio web, además de la cookie de Google en cada uno de los espacios de identificación del servicio de coincidencia.
  3. Se devuelve un píxel de 1x1 transparente al navegador para confirmar que se ha procesado la solicitud.

Este proceso se muestra en el siguiente diagrama:

Imagen que representa una serie de redirecciones entre el navegador y los servicios de coincidencia

Configuración

El proceso para configurar la coincidencia de cookies en el Centro de Datos de Anuncios es el siguiente:

  1. Ponte en contacto con tu representante de cuentas y comunícale tu interés en la coincidencia de cookies. Hablaréis de tus objetivos y te ofrecerá más información sobre cómo implementar el píxel de seguimiento en tu dominio.
  2. Los especialistas de Centro de Datos de Anuncios iniciarán otra conversación sobre los requisitos técnicos y los casos prácticos.
  3. Mientras implementas el píxel de seguimiento y el endpoint de error, Google creará tus tablas de coincidencias.

Una vez completados estos pasos, no tendrás que hacer nada inmediatamente. Google rellenará tus tablas de coincidencias a diario2, por lo que tendrás que esperar el tiempo necesario para que la tabla contenga datos suficientes para ofrecer coincidencias relevantes y cumplir los requisitos de agregación. Esto depende de la frecuencia con la que los usuarios visiten tu sitio. Un sitio con visitantes diarios alcanzará este punto mucho más rápido que uno con visitantes mensuales. A medida que disminuya el número de coincidencias nuevas, las tablas de coincidencias incluirán datos más exhaustivos.

Consultar las tablas de coincidencias

Si tus tablas de coincidencias contienen suficientes datos para cumplir las comprobaciones de privacidad, puedes ejecutar consultas en ellas.

Las tablas del esquema del Centro de Datos de Anuncios que contengan un campo user_id irán acompañadas de una tabla *_match. Por ejemplo, en la tabla adh.google_ads_impressions, el Centro de Datos de Anuncios también genera una tabla de coincidencias llamada adh.google_ads_impressions_match que contiene tus IDs de usuario. Se crean tablas de coincidencias independientes de acuerdo con la política. Por ejemplo, en la tabla adh.google_ads_impressions_policy_isolated_youtube, el Centro de Datos de Anuncios también genera una tabla de coincidencias llamada adh.google_ads_impressions_policy_isolated_youtube_match que contiene tus IDs de usuario.

Estas tablas contienen un subconjunto de los usuarios disponibles en las tablas originales en las que hay coincidencias de user_id. Por ejemplo, si la tabla original contiene datos del usuario A y el usuario B, pero solo se hace la coincidencia del usuario A, no se incluirá al usuario B en la tabla de coincidencias.

Las tablas de coincidencias contienen una columna adicional llamada external_cookie que almacena tu cookie en BYTES.

Es importante tener en cuenta el tipo de campo al escribir las consultas. Los operadores de comparación SQL esperan que los literales que estés comparando sean del mismo tipo. En función de cómo se almacene el user_id en tu tabla de datos propios, es posible que debas codificar los valores en la tabla antes de asociar los datos. Debes convertir tu clave de unión a BYTES para obtener coincidencias correctas:

JOIN ON
  adh.google_ads_impressions_match.external_cookie = CAST(my_data.user_id AS BYTES)

Además, en las comparaciones de cadenas de SQL se distingue entre mayúsculas y minúsculas, por lo que puede que tengas que codificar las cadenas en ambos lados de la comparación para que se puedan comparar con precisión.

Codificar IDs de usuario

Codificar IDs de usuario en el cliente

Para que los diferentes formatos de ID se puedan transmitir de forma segura a través de una URL, todos los IDs deben estar codificados en formato Base64 seguro para URLs antes de enviarlos. El ID en Base64 seguro para URLs decodificado estará disponible en el Centro de Datos de Anuncios en el campo external_cookie, por lo que deberás deshacer cualquier transformación que hayas aplicado antes de codificar para determinar el ID original.

Si tu ID siempre es de 24 caracteres (o bytes) o menos, puedes incluir el ID codificado en Base64 seguro para URLs en un píxel, como se muestra en el ejemplo 1. Si tu ID tiene más de 24 caracteres (o bytes), tendrás que transformarlo en una representación de 24 bytes o menos. En algunos casos (como el GUID del ejemplo 2), se trata de convertir a la representación en bytes. En otros casos, es posible que debas enviar a Google un subconjunto (o un hash) de tu ID. Ten en cuenta que, en cualquier caso, deberás asegurarte de que puedes escribir una unión SQL que convertirá el ID en tu tabla de datos propios de la misma manera.

Ejemplo 1

El valor del ID de usuario siempre estará por debajo del límite de 24 bytes. Centro de Datos de Anuncios te recomienda enviar tu ID de usuario directamente (después de codificarlo en formato Base64 seguro para URLs con fines de transporte de URLs).

var userId = 'abcdef123456789';
// Encode the string (or number) in normal base64.
var userIdBase64 = btoa(userId);

// Ensure that the uploaded user IDs use web-safe Base64 encoding.
userIdBase64 = userIdBase64.replace(/\+/g, '-').replace(/\//g, '_')
    .replace(/=+$/, '');

// After encoding the UUID correctly, you can create the request tag and
// insert it into the DOM.
var imgElement = Document.createElement('img');
imgElement.src =
    'https://cm.g.doubleclick.net/pixel?google_nid=adh_customername&google_hm='
    + userIdBase64;
document.body.appendChild(imgElement);
Ejemplo 2

Asignas un valor de identificador único universal (UUID) como un ID de usuario; por ejemplo: 123e4567-e89b-12d3-a456-426655440000.

Centro de Datos de Anuncios recomienda hacer las siguientes transformaciones al establecer coincidencias:

  1. El UUID tiene el formato de una cadena de 36 caracteres.
  2. Decodificación UUID hexadecimal.
  3. El UUID tiene el formato en bytes.
  4. Bytes de codificación en Base64 seguro para URLs.
  5. El UUID tiene el formato de una cadena.

Esto podría implementarse con el siguiente código:

JavaScript

var userId = '123e4567-e89b-12d3-a456-426655440000';

// A helper function for converting a hex string to a byte array.
function strToBytes(str) {
        for (var bytes = [], i = 0; i < str.length; i += 2) {
          bytes.push(parseInt(str.substr(i, 2), 16));
        }
        return bytes;
}

// Remove the formatting dashes from the UUID.
userId = userId.replace(/-/g, '');

// Encode the hex string as a byte array.
var userIdBytes = strToBytes(userId);

// Encode the byte array in normal base64.
var userIdBase64 = btoa(String.fromCharCode(...new Uint8Array(userIdBytes)));

// Ensure that the uploaded user IDs use web-safe Base64 encoding.
userIdBase64 = userIdBase64.replace(/\+/g, '-').replace(/\//g, '_').replace(
    /=+$/, '');

// After encoding the UUID correctly, you can create the request tag and
// insert it into the DOM.
var imgElement = Document.createElement('img');
imgElement.src =
    'https://cm.g.doubleclick.net/pixel?google_nid=adh_customername&google_hm='
    + userIdBase64;
document.body.appendChild(imgElement);

Python

import base64

user_id = '123e4567-e89b-12d3-a456-426655440000'
user_id_as_bytes = bytes.fromhex(user_id.replace('-', ''))
base64.urlsafe_b64encode(user_id_as_bytes)

Si hay una coincidencia con un ID de usuario de Google, el campo external_cookie contendrá tu ID como valor de byte. Para reconstruir tu ID original, se necesita la siguiente transformación:

  1. external_cookie tiene el formato en bytes.
  2. Codificación hexadecimal de external_cookie.
  3. external_cookie tiene el formato de una cadena.

Codificar IDs de usuario en el Centro de Datos de Anuncios

Si almacenas la cadena del UUID en un campo de datos propios, deberás convertirla en bytes, como en el ejemplo anterior, para combinar los datos correctamente.

En este ejemplo se muestra cómo codificar el UUID y combinarlo en el campo de cookie externa:

JOIN my_data ON imp.external_cookie = FROM_HEX(REPLACE(my_data.uuid, '-', ''))

Ten en cuenta que no puedes convertir un número entero en bytes. Si el ID de usuario es un número entero (como en el ejemplo 1 anterior), primero debes enviar contenido como una cadena:

JOIN my_data ON imp.external_cookie = CAST(CAST(my_data.user_id AS STRING) AS BYTES)

Recuerda que la codificación necesaria para asociar los datos dependerá de la manera en que los almacenes y cómo los hayas codificado antes de enviarlos a Centro de Datos de Anuncios.

Más información sobre las funciones de cadena en BigQuery SQL

Consulta de ejemplo

En este ejemplo se unen datos propios con google_ads_impressions_match y, a continuación, se unen estos resultados con adh_google_ads_impressions en una segunda consulta:

SELECT
  imp.campaign_id as campaign_id,
  sum(my_data.recent_orders) as orders,
  average(my_data.lifetime_value) as ltv
FROM
  adh.google_ads_impressions_match as imp
LEFT JOIN
  my_data ON imp.external_cookie = my_data.company_guest_id_bytes
GROUP BY
  campaign_id

Con los resultados de la consulta anterior guardados como previous_results, ahora puedes unir google_ads_impressions. De esta forma, se añaden datos a las campañas sin ninguna impresión.

SELECT
  campaign_id,
  COALESCE(orders, 0) as orders,
  COALESCE(ltv, 0) as ltv,
FROM (SELECT DISTINCT campaign_id
   FROM adh.google_ads_impressions)
LEFT JOIN previous_results USING (campaign_id)

  1. Ejemplo: Una tasa de coincidencia del 20 % significa que necesitas 250 usuarios por fila para alcanzar el umbral de agregación de 50 usuarios: 50/0,2 = 250. 

  2. Las coincidencias hechas en un día concreto pueden tardar hasta 48 horas en aparecer en las tablas.