Coincidencia de cookies

En términos generales, la coincidencia de cookies es el proceso mediante el cual un anunciante o proveedor asocia las cookies de su dominio con las cookies del dominio de Google. La coincidencia de estas cookies te permite conectar los datos de origen que posees con los datos de anuncios de Google (a los que se hace un seguimiento a través de Display & Video 360 y Campaign Manager 360) en ese mismo usuario, lo que te permite incorporar datos de CRM y comprender mejor el comportamiento de los usuarios. Si combinas estos datos a través de combinaciones centradas en la privacidad, puedes hacer lo siguiente:

  • Segmenta tus anuncios para públicos en función de artículos específicos que se abandonaron en carritos de compras, si esos usuarios interactuaron con tus anuncios y tu dominio.
  • Determina qué anuncios generan sesiones más largas en tu dominio.
  • Analiza el historial de compras unido a los datos posteriores a la campaña.

Limitaciones y privacidad del usuario final

Si bien es potente, la coincidencia de cookies tiene algunas limitaciones:

  • Se prohíben las uniones entre tablas *_match y no *_match.
  • Requiere trabajo de ingeniería de tu parte y de Google.
  • Es poco probable que puedas hacer coincidir todos tus datos de anuncios de Google. Las tasas de coincidencia están sujetas a varios factores y varían según el caso de uso y la configuración del cliente. Los porcentajes de coincidencias suelen ser más bajos de lo que esperan los usuarios. Los usuarios solo son aptos para la coincidencia de cookies si interactuaron con tu dominio y tus anuncios.
  • Google comienza a propagar tus tablas de coincidencias cuando se configuran. Según la frecuencia con la que los usuarios visitan tu sitio y reciben tu píxel de coincidencia, pueden transcurrir meses antes de que tus tablas de coincidencias contengan datos holísticos y estables sobre tus usuarios.
  • No podrás asociar usuarios individuales a varios dispositivos, a menos que tengas alguna forma de conectar usuarios en varios dispositivos.
  • No puedes hacer coincidir un solo usuario con varias cookies, como sería el caso cuando un usuario borra sus cookies.
  • Las tareas que se ejecutan en tablas de concordancia están sujetas a los mismos requisitos de agregación que otras tareas en el Centro de Datos de Anuncios. Un porcentaje de coincidencias bajo combinado con visitas poco frecuentes a tu dominio podría generar dificultades para obtener datos. Esto se debe al efecto combinado de las tasas de coincidencia y los requisitos de agregación1.
  • De conformidad con las políticas de Google sobre la privacidad del usuario final, debes cumplir con lo siguiente:
    • No se permite hacer coincidir los datos de acceso y salida de un usuario determinado.
    • No pueden hacer coincidir los datos con los usuarios que inhabilitaron la personalización de anuncios.
  • En el caso de los eventos de iOS, solo puedes hacer coincidir los datos que provienen de apps en iOS 14.5 y versiones posteriores de usuarios que otorgaron permiso según el framework de App Tracking Transparency de Apple.

Para asegurarte de poder usar tus datos de origen en el Centro de Datos de Anuncios, debes confirmar que obtuviste el consentimiento adecuado para compartir los datos de los usuarios finales del EEE con Google de conformidad con la Política de Consentimiento de Usuarios de la UE y la política del Centro de Datos de Anuncios. Este requisito se aplica a cada cuenta de Ads Data Hub y se debe actualizar cada vez que subas datos de origen nuevos. Cualquier usuario puede realizar este reconocimiento en nombre de toda la cuenta.

Ten en cuenta que las mismas reglas de consulta de los servicios de Google que se aplican a las consultas de análisis también se aplican a las consultas de coincidencia de cookies. Por ejemplo, no puedes ejecutar consultas entre servicios sobre usuarios del EEE cuando creas una tabla de coincidencias.

Si deseas obtener información para confirmar el consentimiento en el Centro de datos de anuncios, consulta Requisitos de consentimiento para el Espacio Económico Europeo.

Para que Google propague tus tablas de concordancia, debes publicar una etiqueta de concordancia en cada página de tu dominio en la que te interese hacer coincidir los datos publicitarios. La ubicación del píxel dependerá de tus objetivos publicitarios. Por ejemplo, es posible que desees intentar hacer coincidir a todos los usuarios que visitan tu dominio (lo que requiere píxeles en casi todas las páginas) o que desees hacer coincidir a los usuarios que generaron conversiones (lo que requiere píxeles en una página de conversión). Por lo general, un píxel más extendido generará tasas de coincidencia más altas.

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

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

Esta etiqueta de coincidencia es la que inicia la comunicación entre tú 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 redireccionamientos 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 ID del servicio coincidente.
  3. Se muestra un píxel transparente de 1 × 1 al navegador para confirmar que se completó la solicitud.

Este proceso se muestra en el siguiente diagrama:

Imagen que muestra una serie de redireccionamientos entre el navegador y los servicios coincidentes

Configuración

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

  1. Comunícate con el representante de tu cuenta y comunícale tu interés en la coincidencia de cookies. Analizarán tus objetivos y te brindarán más información para implementar el píxel de seguimiento en tu dominio.
  2. Los especialistas del Centro de Datos de Anuncios iniciarán otra conversación para analizar los requisitos técnicos y los casos de uso.
  3. Mientras implementas el píxel de seguimiento y el extremo de error, Google creará tus tablas de coincidencia.

Una vez que hayas completado estos pasos, no es necesario que realices ninguna acción inmediata. Google propagará tus tablas de coincidencias a diario2, por lo que deberás esperar a que transcurra suficiente tiempo para que tu tabla contenga datos suficientes para proporcionar coincidencias significativas y cumplir con los requisitos de agregación. Esto depende de la frecuencia con la que los usuarios visitan tu sitio. Un sitio con visitantes diarios alcanzará este punto mucho más rápido que uno con visitantes mensuales. A medida que disminuya la cantidad neta de coincidencias nuevas, tus tablas de coincidencias contendrán datos más completos.

Cómo consultar las tablas de coincidencias

Cuando tus tablas de coincidencias contengan suficientes datos para satisfacer las verificaciones de privacidad, podrás ejecutar consultas en ellas.

La tabla original de los datos de origen (1PD) se representa con my_data. Esto incluye información de identificación personal (PII) y datos que no son PII. El uso de la tabla original puede mejorar tus informes con más estadísticas, ya que representa todos los datos de 1PD en el alcance, en comparación con una tabla de coincidencias.

Cada tabla del esquema del Centro de Datos de Anuncios que contiene un campo user_id se acompaña de una tabla de concordancia. Por ejemplo, para 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 para las tablas aisladas por políticas. Por ejemplo, para 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 una coincidencia en user_id. Por ejemplo, si la tabla original contiene datos del Usuario A y del Usuario B, pero solo se encuentra una coincidencia para el Usuario A, el Usuario B no estará en la tabla de coincidencias.

Las tablas de coincidencias contienen una columna adicional llamada external_cookie, que almacena el identificador de usuario como BYTES.

Es importante considerar el tipo de campo cuando escribas tus consultas. Los operadores de comparación de SQL esperan que los literales que comparas sean del mismo tipo. Según cómo se almacene el user_id en tu tabla de datos propios, es posible que debas codificar los valores de la tabla antes de hacer coincidir los datos. Debes transmitir tu clave de unión a BYTES para que las coincidencias se realicen correctamente:

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

Además, las comparaciones de cadenas en SQL distinguen mayúsculas de minúsculas, por lo que es posible que debas codificar cadenas en ambos lados de la comparación para asegurarte de que se puedan comparar con precisión.

Codificación de IDs de usuario

Cómo codificar los IDs de usuario del cliente

Para garantizar 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 Base64 seguro para URL antes de enviarse. El ID decodificado en Base64 compatible con URLs estará disponible en el campo external_cookie de Ads Data Hub, por lo que deberás deshacer las transformaciones que aplicaste antes de la codificación para obtener tu ID original.

Si tu ID siempre tiene 24 caracteres (o bytes) o menos, puedes incluir el ID codificado en Base64 seguro para URL en un píxel, como se muestra en el ejemplo 1. Si tu ID tiene más de 24 caracteres (o bytes), deberás transformarlo en una representación de 24 bytes o menos. En algunos casos (como el GUID del ejemplo 2), se trata de convertirlo a la representación de 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 poder escribir una JOIN SQL que convierta el ID en tu tabla propia de la misma manera.

Ejemplo 1

El valor de tu ID de usuario siempre estará por debajo del límite de longitud de 24 bytes. El Centro de Datos de Anuncios recomienda que simplemente envíes tu ID de usuario directamente al ADH (después de codificarlo como Base64 seguro para URL para fines de transporte de URL).

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, como el siguiente: 123e4567-e89b-12d3-a456-426655440000.

Ads Data Hub recomienda las siguientes transformaciones cuando se realiza la coincidencia:

  1. El UUID tiene el formato de una cadena de 36 caracteres.
  2. UUID de decodificación hexadecimal.
  3. El UUID tiene el formato de bytes.
  4. Bytes codificados en base64 seguros para URL.
  5. El UUID tiene el formato de una cadena.

Esto se podría implementar 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 contiene tu ID como un valor de byte. Para reconstruir tu ID original, se requiere la siguiente transformación:

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

Cómo codificar los IDs de usuario en el Centro de Datos de Anuncios

Si almacenas la cadena de UUID en un campo de tus datos de origen, deberás convertirla en bytes, como en el ejemplo anterior, para unir tus datos correctamente.

En el siguiente ejemplo, se muestra cómo codificar tu UUID y unirlo al campo de cookie externo:

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

Ten en cuenta que no puedes transmitir un número entero a bytes. Si tu ID de usuario es un número entero (como en el ejemplo 1 anterior), primero debes transmitirlo 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 que coincidan con tus datos será específica de cómo los almacenas y cómo los codificas antes de enviarlos al Centro de Datos de Anuncios.

Obtén más información sobre las funciones de cadena en BigQuery SQL.

Consulta de muestra

En el siguiente ejemplo, se unen los datos de origen con google_ads_impressions_match y, luego, 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. Esto agrega datos sobre las campañas con 0 impresiones a tus resultados.

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: Un porcentaje de coincidencias del 20% significa que necesitas 250 usuarios por fila para cumplir con el umbral de agregación de 50 usuarios, ya que 50 / .2 = 250. 

  2. Las coincidencias que se realicen en un día determinado pueden tardar hasta 48 horas en aparecer en tus tablas.