Coincidencia de cookies

En un nivel alto, la concordancia de cookies es el proceso por el cual un anunciante o proveedor asocia cookies en su dominio con cookies en el dominio de Google. La coincidencia de estas cookies te permite conectar tus datos de origen con los datos de anuncios de Google (que se registran mediante Display & Video 360 y Campaign Manager 360) sobre ese mismo usuario, lo que te permite incorporar datos de CRM y comprender mejor el comportamiento del usuario. Si combinas estos datos a través de uniones centradas en la privacidad, puedes hacer lo siguiente:

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

Limitaciones y privacidad del usuario final

Si bien es eficaz, la concordancia de cookies presenta algunas limitaciones:

  • Las uniones entre tablas *_match y que no son de *_match están prohibidas.
  • Requiere trabajo de ingeniería tanto de ti como de Google.
  • Es poco probable que pueda hacer coincidir todos los datos de sus anuncios de Google. Las tasas de coincidencias 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 los usuarios esperan. Los usuarios solo son aptos para la concordancia 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 visiten tu sitio y reciban el píxel correspondiente, es posible que las tablas de coincidencias tarden meses en contener datos integrales y estables sobre tus usuarios.
  • No podrás asociar usuarios individuales a varios dispositivos, a menos que tengas alguna forma de conectarlos en varios dispositivos.
  • No puedes establecer la coincidencia con un solo usuario mediante varias cookies, como sucedería cuando un usuario borra las cookies.
  • Los trabajos que se ejecutan en tablas de coincidencias están sujetos a los mismos requisitos de agregación que otros trabajos 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 los porcentajes de coincidencias y los requisitos de agregación1.
  • De acuerdo con las políticas de Google sobre privacidad del usuario final, ten en cuenta lo siguiente:
    • Tienen prohibido hacer coincidir los datos de acceso y de 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 se originan en apps en iOS 14.5 y versiones posteriores de los usuarios que hayan otorgado permiso en virtud del framework de App Tracking Transparency.

Para asegurarte de que puedas usar tus datos de origen en el Centro de Datos de Anuncios, debes confirmar que obtuviste el consentimiento adecuado para compartir datos de usuarios finales del EEE con Google de acuerdo 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 todas las cuentas del Centro de Datos de Anuncios y debe actualizarse cada vez que subas datos de origen nuevos. Cualquier usuario puede realizar esta confirmación en nombre de toda la cuenta.

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

Para obtener información sobre cómo confirmar el consentimiento en el Centro de Datos de Anuncios, consulta los Requisitos de consentimiento para el Espacio Económico Europeo.

Para que Google complete tus tablas de coincidencias, debes publicar una etiqueta de coincidencia en todas las páginas de tu dominio en las que desees buscar coincidencias de datos de publicidad. El lugar donde coloque el píxel dependerá de sus objetivos publicitarios. Por ejemplo, es posible que desee intentar hacer coincidir a todos los usuarios que visitan su dominio (requiriendo píxeles en casi todas las páginas) o podría hacerlo con los usuarios que generan conversiones (que requieran píxeles en una página de conversión). En general, un píxel más generalizado generará porcentajes de coincidencias más altos.

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

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

Esta etiqueta de concordancia es la que inicia la comunicación entre usted y los servicios de concordancia de cookies de Google.

Descripción general paso a paso

  1. Un usuario visita una página que tiene una etiqueta de coincidencia.
  2. La etiqueta de coincidencia inicia una serie de redireccionamientos a los servicios de concordancia de Google Marketing Platform, Google Ads y YouTube. Las solicitudes contienen el ID del usuario o la cookie de tu sitio web, más la cookie de Google en cada uno de los espacios de ID del servicio coincidente.
  3. Se devuelve un píxel transparente de 1 x 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íquese con el representante de su cuenta y comunique su interés en la concordancia 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 implementes el píxel de seguimiento y el extremo de error, Google creará tus tablas de coincidencias.

Una vez que hayas completado estos pasos, no es necesario que realices ninguna acción de inmediato. Google propagará tus tablas de coincidencias diariamente2, por lo que deberás esperar el tiempo necesario para que pase el tiempo antes de que la tabla contenga suficientes datos 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 llegará a este punto mucho más rápido que uno con visitantes mensuales. A medida que disminuya la cantidad neta de coincidencias, tus tablas de coincidencias contendrán datos más completos.

Consulta las tablas de coincidencias

Cuando tus tablas de coincidencias contengan suficientes datos para cumplir con las verificaciones de privacidad, tendrás todo listo para ejecutar consultas en las tablas.

La tabla original de datos de origen (1PD) está representada por my_data. Esto incluye tanto la información de identificación personal (PII) como los datos que no son PII. Usar la tabla original puede mejorar tus informes con más estadísticas, ya que representa todos los datos de origen dentro del alcance, en comparación con una tabla _match.

Cada tabla del esquema del Centro de Datos de Anuncios que contiene un campo user_id está acompañada por una tabla *_match. 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 de 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 ID de usuario.

Estas tablas contienen un subconjunto de los usuarios disponibles en las tablas originales, donde hay una coincidencia en user_id. Por ejemplo, si la tabla original contiene datos del Usuario A y el Usuario B, pero solo coincide 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 la cookie como BYTES.

Es importante tener en cuenta el tipo de campo al escribir 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 de origen, es posible que debas codificar los valores de la tabla antes de hacer coincidir los datos. Debes convertir tu clave de unión en BYTES para obtener coincidencias correctas:

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

Además, las comparaciones de cadenas en SQL son sensibles al uso de mayú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

Codifica los IDs de usuario del lado 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 tener una codificación Base64 segura para URL antes de enviarse. El ID decodificado en Base64 seguro para URL estará disponible en el Centro de Datos de Anuncios en el campo external_cookie, por lo que tendrás que deshacer las transformaciones que aplicaste antes de la codificación para derivar 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 en el ejemplo 2), se trata de convertir 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 instrucción JOIN de SQL que convertirá 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 24 bytes. En el Centro de Datos de Anuncios, se recomienda que envíes tu ID de usuario directamente al CDA (después de codificarlo como 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

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

El Centro de Datos de Anuncios recomienda las siguientes transformaciones cuando se realizan coincidencias:

  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 de codificación en Base64 seguros para URL.
  5. UUID está formateado como una cadena.

Esto se puede 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 en bytes. Para reconstruir tu ID original, se requiere la siguiente transformación:

  1. external_cookie está formateado como bytes.
  2. Codificación hexadecimal external_cookie.
  3. external_cookie está formateado como una cadena.

Codifica 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 correctamente tus datos.

En el siguiente ejemplo, se muestra cómo codificar tu UUID y unirse a él 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 tu ID de usuario es un número entero (como en el ejemplo 1), primero necesitarás convertir la transmisión 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 hacer coincidir tus datos dependerá de cómo los almacenes y a la forma en que los codificaste antes de enviarlos al Centro de Datos de Anuncios.

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

Consulta de muestra

En el siguiente ejemplo, se unen 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 unirte a google_ads_impressions. Esto agrega datos de 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 necesita 250 usuarios por fila para alcanzar el umbral de agregación de 50 usuarios, ya que 50 / 0.2 = 250. 

  2. Las coincidencias realizadas en un día determinado pueden demorar hasta 48 horas en aparecer en las tablas.