Les tables *_paths
fournissent des informations sur les interactions des utilisateurs avec les médias que vous gérez à l'aide de Display & Video 360 et de Campaign Manager 360. Ces interactions (également appelées points de contact) sont regroupées dans des chemins d'événements. Elles retracent le parcours emprunté par un groupe d'utilisateurs dans votre entonnoir de conversion. Les données contenues dans les tables *_paths
utilisent les mêmes données que celles disponibles via le transfert de données, mais elles vous sont fournies dans des chemins pré-assemblés. Les chemins d'événement sont disponibles pour les utilisateurs ayant effectué ou non une conversion, et peuvent inclure plusieurs conversions.
Comme pour toutes les données utilisateur dans Ads Data Hub, les données des tableaux *_paths
sont soumises aux exigences d'agrégation.
Détails techniques
Chaque ligne de paths
contient un seul parcours client sur une période de 30 jours. Ces données sont mises à jour quotidiennement afin de couvrir les 30 derniers jours. Les chemins d'événements sont assemblés à l'aide de cookies. Par conséquent, ils sont limités à un seul appareil. Dans certains cas, par exemple lorsque les utilisateurs ont désactivé la personnalisation des annonces, les ID utilisateur seront définis sur 0. Normalement, ces utilisateurs seront toujours séparés par ligne, de sorte que deux chemins de conversion distincts associés à un ID utilisateur de 0 auront des lignes distinctes. Toutefois, pour certains types d'analyses (les regroupements par user_id = 0
, par exemple), plusieurs chemins de conversion peuvent être fusionnés, ce qui peut entraîner des écarts dans vos données. En savoir plus sur les ID utilisateur remis à zéro
Chaque ligne de la colonne *_paths.events
contient un tableau de structs où chaque struct représente un seul événement du chemin de l'utilisateur. Les structs qui constituent le chemin sont classées par code temporel, le premier événement du tableau étant le plus ancien.
Exemples de requêtes
Les requêtes suivantes mesurent l'impact des emplacements sur les conversions d'un segment d'utilisateurs particulier. Les requêtes attribuent le crédit selon trois modèles d'attribution différents :
- Premier contact : tout le crédit est attribué au premier point de contact.
- Dernier contact : tout le crédit est attribué au dernier point de contact.
- Linéaire : le crédit est réparti équitablement entre les points de contact.
Exemple de données
Ligne | 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 |
Exemples de requêtes
Premier contact
/* 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
Dernier contact
/* 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
Linéaire
/* 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
Résultats
Si vous exécutez la requête sur les exemples de données, vous obtenez les résultats suivants :
Premier contact
ligne | placement_id |
crédit |
---|---|---|
1 | 11 | 2 |
2 | 22 | 1 |
Dernier contact
ligne | placement_id |
crédit |
---|---|---|
1 | 11 | 3 |
Linéaire
ligne | placement_id |
crédit |
---|---|---|
1 | 11 | 2,5 |
2 | 22 | 0,5 |