Qué son las claves de agregación, cómo se usan en la API de Attribution Reporting y cómo puedes convertir los objetivos en claves.
Como empresa de tecnología publicitaria que publica campañas en varias ubicaciones para varias categorías de productos, deseas ayudar a los anunciantes a responder las siguientes preguntas:
- ¿Cuántas compras de cada categoría de producto generó cada una de mis campañas en cada región geográfica?
- ¿Cuántos ingresos para cada categoría de producto generó cada una de mis campañas en cada región geográfica?
Si bien muchas empresas de tecnología publicitaria incentivan a los anunciantes a configurar una variedad de tipos de conversión, enfocarse en las conversiones más importantes, como las compras, es una buena manera de garantizar que los resultados resumidos sean detallados y precisos para estos eventos importantes.
Para hacerlo, tendrás que pensar en qué preguntas quieres responder antes de que se recopilen los datos.
Dimensiones, claves y valores
Para responder estas preguntas, analicemos las dimensiones, las claves y los valores.
Dimensiones
Para comprender cómo sus campañas generan ingresos, tal como se describe aquí, le recomendamos que realice un seguimiento de las siguientes dimensiones:
- ID de la campaña publicitaria: el identificador de la campaña específica
- ID de ubicación geográfica: Es la región geográfica donde se publicó el anuncio.
- Categoría de producto: El tipo de producto tal como lo definiste.
Si bien las dimensiones ID de campaña y ID de ubicación geográfica se conocen cuando se publica el anuncio (período de publicación de anuncios), la categoría de producto se conoce a partir de un evento activador, cuando el usuario completa una conversión (horario de conversión).
Las dimensiones a las que deseas realizar un seguimiento para este ejemplo se muestran en la siguiente imagen:
![ID de campaña, ID de ubicación geográfica y categoría de producto.](https://developers.google.cn/static/privacy-sandbox/assets/images/campaign-id-geography-id-223ed5327b057.png?authuser=8&hl=es)
¿Qué son las claves de agregación (buckets)?
Los términos clave de agregación y bucket se refieren a lo mismo. La clave de agregación se usa en las APIs del navegador que se usan para configurar los informes. El término bucket se usa en los informes agregables y de resumen, y en las APIs del servicio de agregación.
Una clave de agregación es un dato que representa los valores de las dimensiones a las que se les hace un seguimiento. Luego, los datos se agregan junto con cada clave de agregación.
Por ejemplo, supongamos que haces un seguimiento de las dimensiones Product category, Geography ID y Campaign ID.
Cuando un usuario ubicado en el ID de ubicación geográfica 7 ve un anuncio para el ID de campaña 12 y, luego, realiza una conversión comprando un producto en la categoría 25, puedes establecer una clave de agregación similar a la que se muestra en la siguiente imagen:
![Clave de agregación para una conversión.](https://developers.google.cn/static/privacy-sandbox/assets/images/aggregation-key-a-conver-0cd37e4079fee.png?authuser=8&hl=es)
Más adelante, verás que una clave de agregación no se ve exactamente como esta en la práctica, pero, por ahora, enfoquémonos en la información contenida en la clave.
¿Qué son los valores agregables?
Para responder a tus preguntas sobre las dimensiones que describimos, debes saber lo siguiente:
- Indica la cantidad de compras (el recuento de compras). Una vez que se agreguen y estén disponibles en un informe de resumen, este será el recuento total de compras (valor del resumen).
- Indica los ingresos por cada compra (el valor de compra). Una vez que se agreguen y estén disponibles en un informe de resumen, estos serán los ingresos totales (valor de resumen).
Cada uno de estos elementos (el registro de compras de una conversión y el valor de compra de una conversión) es un valor agregable. Puedes pensar en los valores agregables como los valores de tus objetivos de medición.
Pregunta | Valor agregable = objetivo de medición |
---|---|
¿Cuántas compras...? | Recuento de compras |
Cuántos ingresos... | Valor de compra |
Cuando un usuario ubicado en el ID de ubicación geográfica 7 ve un anuncio para el ID de campaña 12 y, luego, realiza una conversión comprando un producto de la categoría de producto 25 por USD 120 (suponiendo que la moneda sea USD), puedes establecer una clave de agregación y valores agregables como los siguientes:
![Claves y valores de agregación.](https://developers.google.cn/static/privacy-sandbox/assets/images/aggregation-keys-values-912b4f69661bd.png?authuser=8&hl=es)
Los valores agregables se suman por clave en muchos usuarios para generar estadísticas agregadas, en forma de valores de resumen en informes de resumen.
![Generar estadísticas agregadas](https://developers.google.cn/static/privacy-sandbox/assets/images/generating-aggregated-ins-e7ef89ea0a238.png?authuser=8&hl=es)
Los valores agregables se suman para generar estadísticas agregadas según tus objetivos de medición.
Ten en cuenta que este diagrama omite la desencriptación y representa un ejemplo simplificado sin aplicar ruido. En la siguiente sección, describiremos este ejemplo con ruido.
De claves y valores a informes
Ahora, veamos cómo se relacionan las claves y los valores agregables con los informes.
Informes agregables
Cuando un usuario ve un anuncio o hace clic en él, y luego genera una conversión, usted le indica al navegador que almacene un par {aggregation key, aggregatable value}.
En nuestro ejemplo, cuando un usuario ve un anuncio o hace clic en él y, luego, genera una conversión, debes indicarle al navegador que genere dos contribuciones (una por cada objetivo de medición).
![Se están generando dos contribuciones.](https://developers.google.cn/static/privacy-sandbox/assets/images/generating-contributions-fa8bc97295bc7.png?authuser=8&hl=es)
Más adelante, verás que un informe agregable {aggregation key, aggregatable value} no se ve exactamente igual, pero, por ahora, enfoquémonos en la información que contiene el informe.
Cuando le indicas al navegador que genere dos contribuciones, este genera un informe agregable (si puede hacer coincidir la conversión con una vista o un clic anteriores).
Un informe agregable contiene lo siguiente:
- Las contribuciones que configuraste.
- Metadatos sobre el evento de clic o vista y el evento de conversión: el sitio donde se generó la conversión y mucho más. Consulta todos los campos en un informe agregable.
![El informe agregable resultante.](https://developers.google.cn/static/privacy-sandbox/assets/images/the-resulting-aggregatabl-3df86364f7725.png?authuser=8&hl=es)
Los informes agregables tienen formato JSON y, entre otros elementos, incluyen un campo de carga útil que se usará como entrada de datos para el informe de resumen final.
La carga útil contiene una lista de contribuciones, cada una de las cuales es un par {aggregation key, aggregatable value}:
bucket
: Es la clave de agregación, codificada como una cadena de bytes.value
: Es el valor agregable para ese objetivo de medición, codificado como una cadena de bytes.
Por ejemplo:
{
"data": [
{
"bucket": "111001001",
"value": "11111010000",
}
],
"operation": "histogram"
}
En la práctica, los informes agregables están codificados de una manera que hará que los buckets y los valores se vean diferentes que en el ejemplo anterior (es decir, un bucket puede verse como \u0000\u0000\x80\u0000
). Bucket y value son cadenas de bytes.
Resumen de informes
Los informes agregables se agrupan en muchos navegadores y dispositivos (usuarios) de la siguiente manera:
- Una tecnología publicitaria solicita informes de resumen para un conjunto determinado de claves y un conjunto determinado de informes agregables que provienen de muchos navegadores (usuarios) diferentes.
- Los informes agregables se desencriptan con el servicio de agregación.
- Para cada clave, se suman los valores agregables de los informes agregables.
- El ruido se agrega al valor de resumen.
![Los informes agregables y los resultados de agregación, desencriptación y ruido se generan en un informe de resumen.](https://developers.google.cn/static/privacy-sandbox/assets/images/aggregatable-reports-plus-9bd26966f76f7.png?authuser=8&hl=es)
El resultado es un informe de resumen que contiene un conjunto de pares de {aggregation key, summary value}.
Un informe de resumen contiene un conjunto de pares clave-valor con estilo de diccionario JSON. Cada par contiene lo siguiente:
bucket
: Es la clave de agregación, codificada como una cadena de bytes.value
: Es el valor de resumen en decimales de un objetivo de medición determinado, resumido de todos los informes agregables disponibles, con un nivel adicional de ruido.
Ejemplo:
[
{"bucket": "111001001", "value": "2558500"},
{"bucket": "111101001", "value": "3256211"},
{...}
]
En la práctica, los informes de resumen se codifican de una manera que hace que los buckets y los valores se vean diferentes de lo que se indica en el ejemplo (es decir, un bucket podría parecerse a \u0000\u0000\x80\u0000
). Bucket y value son cadenas de bytes.
Las claves de agregación en práctica
Una empresa de tecnología publicitaria define las claves de agregación (buckets) por lo general en dos pasos: cuando se hace clic en un anuncio o se ve, y cuando un usuario genera una conversión.
Estructura clave
Usaremos el término estructura de clave para designar el conjunto de dimensiones codificado en una clave.
Por ejemplo, ID de campaña × ID geográfico × Categoría de producto es una estructura clave.
![Estructura clave.](https://developers.google.cn/static/privacy-sandbox/assets/images/key-structure-17b99e9ad0974.png?authuser=8&hl=es)
Tipos de claves
Los valores agregables se suman para una clave determinada en varios usuarios o navegadores. Sin embargo, observamos que los valores agregables pueden hacer un seguimiento de diferentes objetivos de medición, como un valor de compra o un recuento de compras. Quieres asegurarte de que el servicio de agregación sume valores agregables del mismo tipo.
Para hacerlo, dentro de cada clave, codifica un dato que te indique lo que representa el valor de resumen, el objetivo de medición al que se refiere esta clave. Una forma de hacerlo es crear una dimensión adicional para tu clave que represente el tipo de objetivo de medición.
Con nuestro ejemplo anterior, este tipo de objetivo de medición tendría dos valores posibles diferentes:
- El recuento de compras es el primer tipo de objetivo de medición.
- El valor de compra es el segundo tipo de objetivo de medición.
![Objetivos de medición y tipos de objetivos de medición.](https://developers.google.cn/static/privacy-sandbox/assets/images/measurement-goals-measur-6f6f8b6468ec3.png?authuser=8&hl=es)
Si tuvieras n objetivos de medición, el tipo de objetivo de medición tendría n tipos de valores diferentes.
Puedes considerar las dimensiones de una clave como una métrica. Por ejemplo, "la cantidad de compras de un producto determinado por campaña y por ubicación geográfica".
Tamaño de la clave, tamaño de la dimensión
El tamaño máximo de la clave se define en bits: el número de ceros y unos en formato binario para crear la clave completa. La API admite una longitud de clave de 128 bits.
Este tamaño permite claves muy detalladas, pero es más probable que las claves más detalladas generen valores más contaminados. Puedes obtener más información sobre el ruido en Comprender el ruido.
Como se presentó antes, las dimensiones se codifican en la clave de agregación. Cada dimensión tiene una cierta cardinalidad, es decir, la cantidad de valores distintos que puede tomar. Según su cardinalidad, cada dimensión debe estar representada por una cierta cantidad de bits. Con n bits, es posible expresar 2n opciones distintas.
Por ejemplo, una dimensión País puede tener una cardinalidad de 200, ya que hay alrededor de 200 países en el mundo. ¿Cuántos bits se necesitan para codificar esta dimensión?
7 bits solo almacenarían 27 = 128 opciones distintas, que es menos que las 200 necesarias.
8 bits almacenarían 28 = 256 opciones distintas, que es más que los 200 necesarios, por lo que puedes usar n=8 bits para codificar esta dimensión.
Codificación de claves
Cuando configuras claves en el navegador, estas deben estar codificadas en hexadecimal. En los informes de resumen, las claves aparecerán en formato binario (y se denominarán buckets).
Define dos partes clave de una clave completa
Supongamos que usas una clave para hacer un seguimiento de las siguientes dimensiones:
- Campaign ID
- ID de ubicación geográfica
- Categoría de producto
Si bien las dimensiones ID de campaña y ID de ubicación geográfica se conocen cuando se publica el anuncio (período de publicación de anuncios), la categoría de producto se conoce a partir de un evento activador, cuando el usuario completa una conversión (horario de conversión).
En la práctica, esto significa que debes configurar una clave en dos pasos:
- Establecerá una parte de la clave (ID de campaña × ID geográfico) en el momento del clic o la vista.
- Deberás establecer la segunda parte de la clave (Categoría de producto) en el momento de la conversión.
Estas diferentes partes de las claves se denominan piezas clave.
Para calcular una clave, se toma el XOR (^
) de sus piezas clave.
![Piezas clave de codificación XOR.](https://developers.google.cn/static/privacy-sandbox/assets/images/xoring-key-pieces-6c7b39f58a41f.png?authuser=8&hl=es)
Ejemplo:
- Pieza de clave del código fuente =
0x159
- Pieza de clave del activador =
0x400
- Clave =
0x159 ^ 0x400 = 0x559
Alinear las piezas clave
Con dos piezas clave de 64 bits extendidas a 128 bits con rellenos/desplazamientos de 64 bits cuidadosamente ubicados (los dieciséis ceros), las piezas clave de codificación XOR equivalen a concatenarlas, lo que es más fácil de razonar y verificar:
- Pieza de clave del código fuente =
0xa7e297e7c8c8d0540000000000000000
- Pieza de clave del activador =
0x0000000000000000674fbe308a597271
- Clave =
0xa7e297e7c8c8d0540000000000000000 ^ 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271
Varias claves por clic o vista en el anuncio
En la práctica, puedes configurar varias claves por evento de fuente de atribución (clic o vista del anuncio). Por ejemplo, puedes configurar lo siguiente:
- Una clave que realiza un seguimiento del ID de ubicación geográfica × ID de la campaña
- Otra clave que realiza un seguimiento del tipo de creatividad × ID de la campaña
Observa la Estrategia B para ver otro ejemplo.
Codifica dimensiones en claves
Cuando solicitas informes de resumen, debes indicarle al servicio de agregación a qué métricas quieres acceder. Para ello, solicita informes de resumen para un determinado conjunto de claves de agregación.
Los informes de resumen contienen pares {key, summary value} sin procesar y no incluyen información adicional sobre la clave. Eso significa lo siguiente:
- Cuando configuras claves a medida que el usuario ve un anuncio o hace clic en él y, luego, genera una conversión, debes configurar las claves de forma confiable en función de los valores de las dimensiones que representan.
- Cuando definas las claves para las que deseas solicitar informes de resumen, debes generar, o acceder sobre la marcha, de manera confiable a las mismas claves que las que se establecieron cuando el usuario vio un anuncio o hizo clic en él y generó una conversión, según los valores de las dimensiones de las que deseas ver los datos agregados.
Codifica dimensiones con mapas de estructura de claves
Para codificar dimensiones en claves, puedes crear y mantener un mapa de estructura de claves con anticipación, después de definir tus claves (antes del momento de publicación de anuncios).
Un mapa de estructura clave representa cada una de tus dimensiones y su posición en la clave.
En la práctica, crear y mantener mapas de estructuras clave implica implementar y mantener la lógica del decodificador. Si buscas un método que no lo requiera, considera usar un enfoque basado en hash en su lugar.
Por ejemplo:
Supongamos que planeas hacer un seguimiento de las compras y los valores de compra para campañas, regiones geográficas y productos específicos.
La categoría de producto, el ID de ubicación geográfica y el ID de campaña deben ser dimensiones en tus claves. Además, debido a que deseas hacer un seguimiento de dos objetivos de medición diferentes (recuento de compras y valor de compra), debes agregar una dimensión a tu clave que realice un seguimiento del tipo de clave. Esto te permitirá definir lo que representa realmente el valor agregable cuando se reciben los pares de {clave, valor agregable} en informes de resumen.
Con estos objetivos de medición, tu clave tiene las siguientes dimensiones:
- Categoría de producto
- Tipo de objetivo de medición
- ID de ubicación geográfica
- Campaign ID
Si observas cada dimensión, supongamos que necesitas hacer un seguimiento de lo siguiente para tu caso de uso:
- 29 categorías de productos diferentes.
- 8 regiones geográficas diferentes: Norteamérica, Centroamérica, Sudamérica, Europa, África, Asia, el Caribe y Oceanía.
- 16 campañas diferentes
Esta es la cantidad de bits que necesitas para codificar cada dimensión de tu clave:
- Categoría de producto: 5 bits (25 = 32 > 29)
- Tipo de objetivo de medición: 1 bit. El objetivo de medición es el recuento o el valor de las compras, lo que significa dos posibilidades distintas; por lo tanto, un bit es suficiente para almacenarlos.
ID de ubicación geográfica: 3 bits (23 = 8) También puedes definir un mapa de dimensiones para el ID de ubicación geográfica a fin de saber qué región geográfica representa cada valor binario. El mapa de dimensiones para la dimensión ID de ubicación geográfica podría verse así:
Valor binario en la clave Datos geográficos 000 América del Norte 001 América Central 010 Sudamérica 011 Europa 100 África 101 Asia 110 Caribeño/a 111 Oceanía ID de la campaña: 4 bits (24 = 16)
Las claves que siguen esta estructura deben tener 13 bits de longitud (5 + 1 + 3 + 4).
En este ejemplo, el mapa de la estructura de claves para estas claves se vería así:
![Mapa de estructura de claves.](https://developers.google.cn/static/privacy-sandbox/assets/images/key-structure-map-4664a0905c7de.png?authuser=8&hl=es)
El orden de las dimensiones dentro de la clave depende de ti.
Para ilustrar cómo las dimensiones conforman una estructura clave, usaremos una representación binaria, por lo que el ID de la campaña (primeros bits) es el que se encuentra más a la derecha y la categoría de producto (últimos bits) es la que se encuentra más a la izquierda.
Dentro de cada dimensión, el bit más significativo (el que lleva el valor numérico más alto) es el bit más a la izquierda. El bit menos significativo, el que lleva el valor numérico más pequeño, es el bit más a la derecha.
Veamos cómo usar un mapa de estructura de claves para decodificar una clave.
Tomemos 0b1100100111100 como una clave de ejemplo arbitraria y supongamos que tienes una manera de saber que esta clave sigue el mapa de estructura de claves de la ilustración anterior.
Según el mapa de estructura de claves, esta clave se decodificaría en 11001 0 011 1100
.
Por lo tanto, la clave 0b1100100111100 representa la cantidad de compras de la categoría de producto 25 para el ID de campaña 12 que se lanzó en Europa.
Codifica dimensiones con una función hash
En lugar de usar un mapa de estructura de claves, puedes usar una función hash para generar claves dinámicamente, de manera coherente y confiable.
Esto funciona de la siguiente manera:
- Selecciona un algoritmo de hash.
- En el momento de la publicación de anuncios, genera una cadena que incluya todas las dimensiones a las que deseas hacer un seguimiento y sus valores. Para generar la pieza de clave del lado del código fuente, genera un hash en esta string y considera agregar un sufijo de ceros de 64 bits para alinearla con la pieza de clave del activador y facilitar el razonamiento de XOR.
- Pieza de clave del código fuente
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- Ten en cuenta que
COUNT
codifica lo mismo quemeasurementGoalType=0
en el enfoque de mapa de estructura clave.COUNT
es un poco más eficiente y más explícito.
- Pieza de clave del código fuente
- En el momento de la conversión, genera una cadena que incluya todas las dimensiones a las que deseas hacer un seguimiento y sus valores. Para generar una pieza de clave del lado del activador, genera un hash en esta cadena y agrega un prefijo de 64 bits de ceros:
- Pieza de clave del activador =
<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- Pieza de clave del activador =
- El navegador realiza XOR en estas partes clave para generar una clave.
- Clave de agregación de 128 bits
=<64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
- Clave de agregación de 128 bits
- Más adelante, cuando tengas todo listo para solicitar un informe de resumen para esta clave, genera la clave sobre la marcha:
- En función de las dimensiones que te interesan, genera una pieza de clave del lado de la fuente y del lado del activador, como lo hiciste antes.
- Pieza de clave del código fuente
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- Pieza de clave del activador
=<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- Pieza de clave del activador =
toHex(hash("productCategory=25"))
- Pieza de clave del código fuente
- Al igual que con el navegador, usa XOR en estas partes clave para generar la misma clave que el navegador generó anteriormente.
- Clave de agregación de 128 bits
=<64-bit source-side key piece hash><64-bit source-side key piece hash>
- Clave de agregación de 128 bits
- En función de las dimensiones que te interesan, genera una pieza de clave del lado de la fuente y del lado del activador, como lo hiciste antes.
A continuación, te presentamos algunas sugerencias prácticas si utilizas este enfoque basado en hash:
- Siempre usa el mismo orden de las dimensiones. Esto garantiza que tus hashes se puedan volver a generar de manera confiable. (
"COUNT, CampaignID=12, GeoID=7"
no generará el mismo hash que"COUNT, GeoID=7, CampaignID=12"
). Una forma directa de lograrlo es ordenar las dimensiones de forma alfanumérica. Esto es lo que haremos en el ejemplo, excepto por el hecho de que siempre haremos queCOUNT
oVALUE
sea el primer elemento de la dimensión. Esta es una opción para facilitar la lectura, ya queCOUNT
oVALUE
codifican información conceptualmente diferente de todas las demás dimensiones. - Haz un seguimiento del conjunto de dimensiones que utilizas en las claves. Evita generar claves basadas en un conjunto de dimensiones que nunca utilizaste.
- Las colisiones de hash son poco frecuentes si se usa una función hash adecuada, pero verificar los hash usados anteriormente (que deberían almacenarse para interpretar los resultados del servicio de agregación) puede evitar la introducción de claves nuevas que entran en conflicto con las claves más antiguas.
Descubre cómo usar claves basadas en hash en la práctica en el ejemplo de una conversión por clic o vista.
Valores agregables en la práctica
La empresa de tecnología publicitaria establece valores agregables cuando un usuario genera una conversión.
Para proteger la privacidad del usuario, las contribuciones de cada usuario tienen un límite superior. En todos los valores agregables que se asocian a una sola fuente (clic o vista del anuncio), ningún valor puede ser superior a un límite de contribución determinado.
Nos referiremos a este límite como CONTRIBUTION_BUDGET
. En la explicación, este límite se denomina presupuesto L1, pero es igual al CONTRIBUTION_BUDGET
.
Para obtener un análisis más detallado del presupuesto de contribución, consulta Presupuesto de contribución para ver informes de resumen.
Ejemplo: una conversión por clic o vista
Para este ejemplo, supongamos que quieres responder las siguientes preguntas:
- ¿Qué categorías de productos son las más valiosas en cada región?
- ¿Qué estrategias de campaña son más eficaces en cada región?
Supongamos también que, para tu caso de uso, necesitas estadísticas semanales.
También debes hacer un seguimiento de lo siguiente:
- 16 campañas diferentes
- 8 regiones geográficas diferentes: Norteamérica, Centroamérica, Sudamérica, Europa, África, Asia, el Caribe y Oceanía.
- 29 categorías de productos diferentes.
Qué se debe medir
Si bien muchas empresas de tecnología publicitaria incentivan a los anunciantes a configurar una variedad de tipos de conversión, enfocarse en las conversiones más importantes, como las compras, es una buena manera de garantizar que los resultados agregados sean detallados y precisos para estos eventos de conversión importantes. De hecho, mientras más métricas mida, menor será su presupuesto de contribución por métrica y, por lo tanto, más ruido será cada valor. Por lo tanto, debes seleccionar con cuidado qué medir.
En este ejemplo, nos centraremos en las configuraciones de la campaña que miden solo una conversión por clic o vista: una compra.
De todas formas, podrás medir tanto el recuento como el valor de compra, y accederás a una variedad de estadísticas agregadas importantes, como el valor total de compra y los desgloses geográficos. Esto mantiene el ruido en un nivel razonable y garantiza un enfoque de escalamiento simple para tu presupuesto de contribución.
¿Qué ocurre con las monedas?
Publicar campañas en diferentes regiones implica que se deben tener en cuenta las monedas. Intenta hacer lo siguiente:
- Haz que la moneda sea una dimensión específica en las claves de agregación.
- También puedes inferir la moneda a partir de un ID de campaña y convertir todas las monedas en una de referencia.
En este ejemplo, supondremos que puedes inferir la moneda a partir de un ID de campaña. Esto te permite convertir cualquier valor de compra determinado de la moneda local del usuario a la moneda de referencia que elijas. También puedes realizar esa conversión sobre la marcha, cuando el usuario compra un artículo.
Con esta técnica, todos los valores agregables están en la misma moneda de referencia y, por lo tanto, se pueden sumar para generar un valor de compra total agregado: un valor de compra de resumen.
Convierte los objetivos en claves
Con tus métricas y objetivos de medición, tienes una serie de opciones para tu estrategia clave. Centrémonos en dos de estas estrategias:
- Estrategia A: Una estructura clave detallada.
- Estrategia B: dos estructuras clave generales.
Estrategia A: Un árbol detallado (una estructura clave detallada)
En la estrategia A, se usa una estructura clave detallada que incluye todas las dimensiones que necesitas:
![Una estructura clave detallada](https://developers.google.cn/static/privacy-sandbox/assets/images/one-granular-key-structur-85e0f0ef579b3.png?authuser=8&hl=es)
Todas tus claves usan esta estructura.
Debes dividir esta estructura clave en dos tipos clave para admitir dos objetivos de medición.
- Tipo de clave 0: Tipo de objetivo de medición = 0, que decides definir como recuento de compras.
- Tipo de clave 1: Tipo de objetivo de medición = 1, que decides definir como valor de compra.
Los informes de resumen se ven de la siguiente manera:
![Estrategia: Un informe de resumen](https://developers.google.cn/static/privacy-sandbox/assets/images/strategy-summary-report-c13d51d0ef5b.png?authuser=8&hl=es)
Puedes pensar en la estrategia A como una estrategia de "un árbol profundo":
- Cada valor de resumen en los informes de resumen está asociado a todas las dimensiones a las que les haces un seguimiento.
- Puedes combinar estos valores de resumen junto con cada una de estas dimensiones, de modo que estos resúmenes puedan abarcar la cantidad de dimensiones que tengas.
Con la estrategia A, deberías responder tus preguntas de la siguiente manera:
Pregunta | Respuesta |
---|---|
¿Qué categorías de productos son las más valiosas en cada región? | Suma los recuentos y los valores de compras del resumen que están en los informes de resumen en todas las campañas. Obtén el recuento y el valor de compras por ID de ubicación geográfica × Categoría de producto. Para cada región, compara el valor de compra y el recuento de diferentes categorías de productos. |
¿Qué estrategias de campaña son más eficaces en cada región? | Suma los recuentos y valores de compras resumidos que están en los informes de resumen en todas las categorías de productos. Obtén el recuento y el valor de compras por ID de campaña × ID de ubicación geográfica. Para cada región, compara el valor de compra y el recuento de campañas diferentes. |
Con la estrategia A, también puedes responder directamente a esta tercera pregunta:
"¿Cuántos ingresos por cada producto generó cada una de mis campañas en cada región geográfica?"
Si bien los valores de resumen serán ruidosos, puedes determinar cuándo las diferencias en el valor medido entre cada campaña no se deben solo a ruido. Obtén información para lograrlo en Información sobre el ruido.
Estrategia B: dos árboles superficiales (dos estructuras clave ásperas)
En la estrategia B, se usan dos estructuras de clave generales, cada una con un subconjunto de las dimensiones que necesitas:
![Estructura de clave 1 y estructura clave 2](https://developers.google.cn/static/privacy-sandbox/assets/images/key-structure-1-key-stru-f5313e8766cd6.png?authuser=8&hl=es)
Debes dividir cada una de estas estructuras clave en dos tipos clave para admitir dos objetivos de medición.
- Tipo de objetivo de medición = 0, que decides definir como un recuento de compras.
- Tipo de objetivo de medición = 1, que decides definir como un valor de compra.
Obtendrás cuatro tipos de claves:
- Tipo de clave I-0: Estructura clave I, recuento de compras.
- Tipo de clave I-1: Estructura clave I, valor de compra.
- Tipo de clave II-0: Estructura clave II, recuento de compras.
- Tipo de clave II-1: Estructura clave II, valor de compra.
Los informes de resumen se ven de la siguiente manera:
![Estrategia de informe de resumen B.](https://developers.google.cn/static/privacy-sandbox/assets/images/summary-report-strategy-b-a402cebbf58ca.png?authuser=8&hl=es)
Puedes pensar en la estrategia B como una estrategia de “dos árboles superficiales”:
- Los valores de resumen en los informes de resumen se asignan a uno de los dos pequeños conjuntos de dimensiones.
- Puedes integrar estos valores de resumen junto con cada una de las dimensiones de estos conjuntos, lo que significa que estos resúmenes no son tan profundos como en la opción A, ya que hay menos dimensiones para incluir.
Con la estrategia B, responderías a tus preguntas de la siguiente manera:
Pregunta | Respuesta |
---|---|
¿Qué categorías de productos son las más valiosas en cada región? | Accede directamente a los recuentos y valores de compras de resumen que se encuentran en los informes de resumen. |
¿Qué estrategias de campaña son más eficaces en cada región? | Accede directamente a los recuentos y valores de compras de resumen que se encuentran en los informes de resumen. |
Decisión: Estrategia A
La estrategia A es más simple: todos los datos siguen la misma estructura clave, lo que también significa que solo debes mantener una estructura clave.
Sin embargo, con la estrategia A, debes sumar los valores de resumen que recibes en los informes de resumen para responder algunas de tus preguntas. Cada uno de estos valores de resumen es ruidoso. Si sumas esos datos, también sumarás el ruido.
Este no es el caso de la estrategia B, en la que los valores de resumen expuestos en los informes de resumen ya te brindan la información que necesitas. Esto significa que la estrategia B probablemente tendrá un impacto menor por ruido que la estrategia A.
¿Cómo debes determinar qué estrategia usar? En el caso de las campañas o los anunciantes existentes, puedes usar los datos históricos para determinar si el volumen de conversiones es más adecuado para la estrategia A o la estrategia B. Sin embargo, en el caso de las campañas o los anunciantes nuevos, puedes decidir hacer lo siguiente:
- Recopilar los datos de un mes con las claves detalladas (estrategia A) Debido a que extiendes la duración de la recopilación de datos, los valores de resumen serán más altos y el ruido será relativamente menor.
- Evalúa con una precisión razonable el recuento semanal de conversiones y el valor de compra.
En este ejemplo, supongamos que el recuento y el valor de compra semanales son lo suficientemente altos como para que la estrategia A generaría un porcentaje de ruido que consideres aceptable para tu caso de uso.
Debido a que la estrategia A es más simple y genera un impacto de ruido que no afecta tu capacidad para tomar decisiones, decides usar la estrategia A.
Seleccionar un algoritmo de hash
Decides adoptar un enfoque basado en hash para generar tus claves. Para ello, debes seleccionar un algoritmo de hash que admita ese enfoque.
Supongamos que seleccionaste SHA-256. También puedes usar un algoritmo más simple y menos seguro, como MD5.
En el navegador: Cómo establecer claves y valores
Ahora que elegiste una estructura de clave y un algoritmo de hash, estás listo para registrar claves y valores cuando los usuarios ven los anuncios o hacen clic en ellos y, luego, generan una conversión.
A continuación, se muestra una descripción general de los encabezados que configurarás para registrar claves y valores en el navegador:
![Registra claves y valores de una vista o un clic.](https://developers.google.cn/static/privacy-sandbox/assets/images/register-keys-values-a-59763f86a1f19.png?authuser=8&hl=es)
![Registra claves y valores para una conversión.](https://developers.google.cn/static/privacy-sandbox/assets/images/register-keys-values-a-155f081dc7bca.png?authuser=8&hl=es)
Cómo establecer piezas de clave del código fuente
Cuando un usuario vea un anuncio o haga clic en él, configura las claves de agregación en el encabezado Attribution-Reporting-Register-Aggregatable-Source
.
En esta etapa, para cada clave, solo puedes establecer la parte de la clave, o pieza de clave, que se conoce al momento de la publicación de anuncios.
Generemos las piezas clave:
Pieza de clave del lado del código fuente para el ID de clave... | String que contiene los valores de dimensión que deseas establecer | Hash de esta string como hexadecimal, recortado a los primeros 64 bits (64/4 = 16 caracteres1) | Hash hexadecimal con ceros agregados para simplificar el proceso XOR. Esta es la pieza de clave del código fuente. |
---|---|---|---|
key_purchaseCount |
COUNT, CampaignID=12, GeoID=7 |
0x3cf867903fbb73ec | 0x3cf867903fbb73ec00000000000000000 |
key_purchaseValue |
VALUE, CampaignID=12, GeoID=7 |
0x245265f432f16e73 | 0x245265f432f16e730000000000000000 |
Ahora definamos las piezas clave:
// Upon receiving the request from the publisher site
res.set(
"Attribution-Reporting-Register-Aggregatable-Source",
JSON.stringify([
{
"id": "key_purchaseCount",
"key_piece": "0x3cf867903fbb73ec0000000000000000"
},
{
"id": "key_purchaseValue",
"key_piece": "0x245265f432f16e730000000000000000"
}
])
);
Ten en cuenta que los IDs de clave no aparecerán en los informes finales. Solo se usan cuando se configuran claves en el navegador, de modo que las piezas de claves del lado del código fuente y del lado del activador puedan asignarse entre sí y combinarse en una clave completa.
Opcional: informes a nivel del evento
Si necesitas usar informes a nivel del evento junto con informes agregables, asegúrate de que, para una fuente determinada, los datos a nivel del evento (ID del evento de la fuente y datos del activador) y la clave de agregación coincidan.
Puedes usar ambos informes si, por ejemplo, planeas usar informes a nivel del evento para ejecutar modelos sobre qué tipos de anuncios suelen generar la mayor cantidad de compras.
Un usuario genera una conversión.
Cuando un usuario genera una conversión, por lo general, se envía una solicitud de píxel al servidor de tecnología publicitaria. Una vez recibida esta solicitud, sucederá lo siguiente:
- Coloca las piezas clave de la conversión (la parte del activador) para completar la clave.
Deberás establecer estas partes clave mediante el encabezado
Attribution-Reporting-Register-Aggregatable-Trigger-Data
. - Establece el valor agregable para esa conversión mediante el encabezado
Attribution-Reporting-Register-Aggregatable-Values
.
Establece piezas de claves del activador para completar la clave.
Generemos las piezas clave:
Pieza de clave del activador para el ID de clave... | String que contiene los valores de dimensión que deseas establecer | Hash de esta string como hexadecimal, recortado a los primeros 64 bits (64/4 = 16 caracteres1) | Hash hexadecimal con ceros agregados para simplify el proceso XOR (esta es la pieza clave del código fuente). |
---|---|---|---|
key_purchaseCount |
ProductCategory=25 |
0x1c7ce88c4904bbe2 | 0x0000000000000000f9e491fe37e55a0c |
key_purchaseValue |
(igual) | (igual) | (igual) |
Ahora definamos las piezas clave:
// Upon receiving the pixel request from the advertiser site
res.set(
"Attribution-Reporting-Register-Aggregatable-Trigger-Data",
JSON.stringify([
// Each dictionary independently adds pieces to multiple source keys
{
"key_piece": "0x0000000000000000f9e491fe37e55a0c",
"source_keys": ["key_purchaseCount", "key_purchaseValue"]
},
])
);
Observa cómo agregas la misma pieza de clave a distintas claves con una lista de varios IDs de clave en source_keys
(la pieza se agregará a ambas claves).
Configura valores agregables
Antes de establecer los valores agregables, debes escalarlos para reducir el ruido.
Supongamos que se realizó una compra para el tipo de producto 25 por USD 52.
No las configurarás directamente como valores agregables:
key_purchaseCount
: 1 conversiónkey_purchaseValue
: USD 52
En cambio, antes de registrar estos valores agregables, debes escalarlos para minimizar el ruido.
Tienes dos objetivos en los que invertir el presupuesto de contribución, por lo que puedes decidir dividir el presupuesto de contribución en dos.
En este caso, a cada objetivo se le asigna un máximo de CONTRIBUTION_BUDGET/2
(=65,536/2=32,768).
Supongamos que el valor de compra máximo para un solo usuario, según el historial de compras de todos los usuarios del sitio, es de USD 1,500. Puede haber valores atípicos, por ejemplo, muy pocos usuarios que gastaron más de esa suma, pero puedes decidir ignorarlos.
El factor de escala para el valor de compra debe ser el siguiente:
((CONTRIBUTION_BUDGET
/2) / 1,500) = 32,768/1,500 = 21.8 ≈ 22
Tu factor de escalamiento para el recuento de compras es 32,768/1 = 32,768, ya que decidiste realizar, como máximo, una compra por clic o vista en el anuncio (evento de fuente).
Ahora puedes establecer estos valores:
key_purchaseCount
: 1 × 32,768 = 32,768key_purchaseValue
: 52 × 22 = 1,144
En la práctica, debes configurarlos de la siguiente manera, con el encabezado dedicado Attribution-Reporting-Register-Aggregatable-Values
:
// Instruct the browser to schedule-send a report
res.set(
"Attribution-Reporting-Register-Aggregatable-Values",
JSON.stringify({
"key_purchaseCount": 32768,
"key_purchaseValue": 1144,
})
);
El informe agregable se genera
El navegador asocia la conversión con una vista o un clic anterior y genera un informe agregable, que incluye la carga útil encriptada junto a los metadatos del informe.
El siguiente es un ejemplo de los datos que se podrían encontrar dentro de la carga útil del informe agregable, si se pueden leer en texto simple:
[
{
key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece XOR conversion-side key piece for the key key_purchaseCount
value: 32768 // the scaled value for 1 conversion, in the context of [CONTRIBUTION_BUDGET/2]
},
{
key: 0x245265f432f16e73f9e491fe37e55a0c, // source-side key piece XOR conversion-side key piece for the key key_purchaseValue
value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2]
},
]
Aquí, puedes ver dos contribuciones separadas dentro de un solo informe agregable.
Solicita un informe resumido
- Informes agregables por lotes. Sigue las sugerencias que se ofrecen en Agrupación en lotes.
- Genera las claves cuyos datos deseas ver. Por ejemplo, para ver los datos de resumen de
COUNT
(cantidad total de compras) yVALUE
(valor total de compra) del ID de campaña 12 × ID de ubicación geográfica 7 × Categoría de producto 25, haz lo siguiente:- Genera la pieza de clave del lado del código fuente, como lo hiciste cuando la configuraste en el navegador.
- Genera la pieza de clave del activador, como lo hiciste cuando la configuraste en el navegador.
Métrica que deseas solicitar1 | Pieza clave del código fuente | Pieza de clave del gatillo | Clave para solicitar al servicio de agregación2 |
---|---|---|---|
Recuento total de compras (COUNT ) |
0x3cf867903fbb73ec 0000000000000000 |
0x00000000000000 00f9e491fe37e55a0c |
0x3cf867903fbb73 ecf9e491fe37e55a0c |
Valor total de compra (VALUE ) |
0x245265f432f16e73 0000000000000000 |
0x0000000000000000 f9e491fe37e55a0c |
0x245265f432f16e73 f9e491fe37e55a0c |
- Solicita datos de resumen al servicio de agregación para estas claves.
Cómo controlar el informe de resumen
En última instancia, recibirás un informe resumido que puede ser así:
[
{"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100",
"value": "2558500"},
{"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100",
"value": "687060"},
…
]
El primer bucket es la clave COUNT
en objeto binario. El segundo bucket es la clave VALUE
en objeto binario.
Ten en cuenta que, si bien las claves son heterogéneas (COUNT
en comparación con VALUE
), se incluyen en el mismo informe.
Reduce la escala de los valores
- 2,558,500 se refiere a la cantidad de compras de esta clave, ampliada por tu factor de escalamiento calculado con anterioridad. El factor de escala para el recuento de compras fue de 32,768. Divide 2,558,500 por el presupuesto de contribución del objetivo: 2,558,500/32,768 = 156.15 compras.
- 687,060 → 687,060/22 = valor de compra total de USD 31,230.
Como resultado, los informes de resumen te proporcionan las siguientes estadísticas:
- Dentro del período del informe, la campaña n° 12 se ejecutó en Europa alrededor de 156 compras (± ruido) para la categoría de producto n° 25.
- Dentro del período del informe, la campaña núm. 12 en Europa generó USD 31,230 en compras (± ruido) para la categoría de producto no 25.