Las tablas *_paths
te proporcionan información valiosa sobre las interacciones de los usuarios con los medios que gestionas mediante Display & Video 360 y Campaign Manager 360. Estas interacciones (también denominadas "puntos de contacto") se integran en rutas de eventos, que describen el recorrido de un grupo de usuarios a través del embudo de conversión. Los datos de las tablas *_paths
usan los mismos datos que tienes a tu disposición a través de Data Transfer, pero te llegan en rutas ya generadas. Las rutas de eventos están disponibles tanto para los usuarios con conversión como para los usuarios sin conversión y pueden incluir varias conversiones.
Como sucede con todos los datos de usuario del Centro de Datos de Anuncios, los datos de las tablas *_paths
están sujetos a los requisitos de agregación.
Información técnica
Cada fila de paths
contiene un solo recorrido del cliente que dura 30 días. Estos datos se actualizan a diario para abarcar los datos de los últimos 30 días. Las rutas de eventos se generan mediante cookies y, por lo tanto, se limitan a un único dispositivo. En algunos casos, como cuando los usuarios han inhabilitado la personalización de anuncios, el valor de los IDs de usuario será 0. Normalmente, estos usuarios seguirán estando separados por filas, por lo que dos rutas de conversión distintas asociadas a un ID de usuario con el valor 0 tendrán distintas filas. Sin embargo, en determinados tipos de análisis, como la agrupación por user_id = 0
, se combinan varias rutas de conversión en una sola, lo que puede crear discrepancias en los datos. Más información sobre los IDs de usuario nulos
Cada fila de la columna *_paths.events
contiene un array de tipos STRUCT en el que cada tipo STRUCT es un único evento de la ruta del usuario. Los tipos STRUCT que componen la ruta se ordenan por marcas de tiempo; el primer evento del array es el más antiguo.
Consultas de ejemplo
Las siguientes consultas miden el impacto de los emplazamientos en la conversión de un segmento de usuarios concreto. Las consultas atribuyen la contribución mediante 3 modelos de atribución distintos:
- Primer contacto (toda la contribución se atribuye al primer punto de contacto).
- Último contacto (toda la contribución se atribuye al último punto de contacto).
- Lineal (la contribución se divide de manera uniforme entre los puntos de contacto).
Datos de ejemplo
Fila | user_id |
*_paths.events.event_time |
*_paths.events.event_type |
*_paths.events.placement_id |
---|---|---|---|---|
1 | 1 | 1563384139 | FLOODLIGHT |
null |
1563384129 | CLICK |
11 | ||
1563384119 | VIEW |
22 | ||
2 | 2 | 1563384139 | FLOODLIGHT |
null |
1563384129 | VIEW |
11 | ||
1563384119 | FLOODLIGHT |
null | ||
1563384109 | VIEW |
11 |
Consultas de ejemplo
Primer contacto
/* Substitute *_paths for the specific paths table that you want to query. */
SELECT
(
SELECT
attributed_event_metadata.placement_id
FROM (
SELECT
AS STRUCT attributed_event.placement_id,
ROW_NUMBER() OVER(ORDER BY attributed_event.event_time ASC) AS rank
FROM
UNNEST(t.*_paths.events) AS attributed_event
WHERE
attributed_event.event_type != "FLOODLIGHT"
AND attributed_event.event_time < conversion_event.event_time
AND attributed_event.event_time > (
SELECT
IFNULL( (
SELECT
MAX(prev_conversion_event.event_time) AS event_time
FROM
UNNEST(t.*_paths.events) AS prev_conversion_event
WHERE
prev_conversion_event.event_type = "FLOODLIGHT"
AND prev_conversion_event.event_time < conversion_event.event_time),
0)) ) AS attributed_event_metadata
WHERE
attributed_event_metadata.rank = 1) AS placement_id,
COUNT(*) AS credit
FROM
adh.*_paths AS t,
UNNEST(*_paths.events) AS conversion_event
WHERE
conversion_event.event_type = "FLOODLIGHT"
GROUP BY
placement_id
HAVING
placement_id IS NOT NULL
ORDER BY
credit DESC
Último contacto
/* Substitute *_paths for the specific paths table that you want to query. */
SELECT
(
SELECT
attributed_event_metadata.placement_id
FROM (
SELECT
AS STRUCT attributed_event.placement_id,
ROW_NUMBER() OVER(ORDER BY attributed_event.event_time DESC) AS rank
FROM
UNNEST(t.*_paths.events) AS attributed_event
WHERE
attributed_event.event_type != "FLOODLIGHT"
AND attributed_event.event_time < conversion_event.event_time
AND attributed_event.event_time > (
SELECT
IFNULL( (
SELECT
MAX(prev_conversion_event.event_time) AS event_time
FROM
UNNEST(t.*_paths.events) AS prev_conversion_event
WHERE
prev_conversion_event.event_type = "FLOODLIGHT"
AND prev_conversion_event.event_time < conversion_event.event_time),
0)) ) AS attributed_event_metadata
WHERE
attributed_event_metadata.rank = 1) AS placement_id,
COUNT(*) AS credit
FROM
adh.*_paths AS t,
UNNEST(*_paths.events) AS conversion_event
WHERE
conversion_event.event_type = "FLOODLIGHT"
GROUP BY
placement_id
HAVING
placement_id IS NOT NULL
ORDER BY
credit DESC
Lineal
/* Substitute *_paths for the specific paths table that you want to query. */
SELECT
attributed_event_metadata.placement_id AS placement_id,
/* Give equal credit to all attributed events */
SUM(SAFE_DIVIDE(1, ARRAY_LENGTH(attributed_events_metadata)))
FROM (
SELECT
ARRAY(
SELECT
AS STRUCT attributed_event.placement_id,
ROW_NUMBER() OVER(ORDER BY attributed_event.event_time DESC) AS rank
FROM
UNNEST(t.*_paths.events) AS attributed_event
WHERE
attributed_event.event_type!="FLOODLIGHT"
AND attributed_event.event_time < conversion_event.event_time
AND attributed_event.event_time > (
SELECT
MAX(prev_conversion_event.event_time) AS event_time
FROM
UNNEST(t.*_paths.events) AS prev_conversion_event
WHERE
prev_conversion_event.event_type="FLOODLIGHT"
AND prev_conversion_event.event_time < conversion_event.event_time)) AS attributed_events_metadata
FROM
adh.*_paths AS t,
UNNEST(*_paths.events) AS conversion_event
WHERE
conversion_event.event_type="FLOODLIGHT" ),
UNNEST(attributed_events_metadata) AS attributed_event_metadata
GROUP BY
1
HAVING
placement_id IS NOT NULL
ORDER BY
2 DESC
Resultados
Si ejecutases la consulta con los datos de muestra, obtendrías estos resultados:
Primer contacto
row | placement_id |
credit |
---|---|---|
1 | 11 | 2 |
2 | 22 | 1 |
Último contacto
row | placement_id |
credit |
---|---|---|
1 | 11 | 3 |
Lineal
row | placement_id |
credit |
---|---|---|
1 | 11 | 2.5 |
2 | 22 | 0.5 |