As tabelas *_paths
fornecem estatísticas sobre as interações dos utilizadores com os meios que gere através do Display & Video 360 e do Campaign Manager 360. Estas interações (também conhecidas como pontos de contacto) são unidas em caminhos de eventos, que registam o percurso que um grupo de utilizadores percorre através do funil de conversão. Os dados nas tabelas *_paths
usam os mesmos dados que estão disponíveis para si através da Transferência de dados, mas chegam em caminhos reunidos previamente. Os caminhos de eventos estão disponíveis para utilizadores com e sem conversão e podem incluir várias conversões.
Tal como acontece com todos os dados dos utilizadores no Ads Data Hub, os dados das tabelas *_paths
estão sujeitos a requisitos de agregação.
Detalhes técnicos
Cada linha de paths
contém um percurso do cliente único num período de 30 dias. Estes dados são atualizados diariamente para abranger os últimos 30 dias. Os caminhos de eventos são reunidos através de cookies e, por isso, estão limitados a um único dispositivo. Em determinadas situações, como quando os utilizadores desativam a personalização de anúncios, os IDs dos utilizadores são definidos como 0. Normalmente, estes utilizadores continuam a ser separados por linha, pelo que 2 caminhos de conversão distintos codificados para um ID do utilizador definido como 0 terão linhas distintas. No entanto, para determinados tipos de análise, como o agrupamento por user_id = 0
, vários caminhos de conversão são unidos num só, o que pode criar discrepâncias nos dados. Saiba mais sobre IDs dos utilizadores a zero
Cada linha da coluna *_paths.events
contém uma matriz de estruturas, em que cada estrutura é um único evento no caminho do utilizador. As estruturas que compõem o caminho são ordenadas por data/hora, sendo o primeiro evento da matriz o mais antigo.
Consultas de exemplo
As consultas seguintes medem o impacto dos posicionamentos na conversão de um determinado segmento de utilizadores. As consultas atribuem crédito através de 3 modelos de atribuição diferentes:
- Primeiro ponto de contacto. (O crédito é todo atribuído ao primeiro ponto de contacto.)
- Último ponto de contacto. (O crédito é todo atribuído ao último ponto de contacto.)
- Linear. (O crédito é dividido uniformemente pelos pontos de contacto.)
Dados de exemplo
Linha | 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 exemplo
Primeiro ponto de 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 ponto de 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
Linear
/* 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
Se executar a consulta nos dados de exemplo, obtém estes resultados:
Primeiro ponto de contacto
linha | placement_id |
crédito |
---|---|---|
1 | 11 | 2 |
2 | 22 | 1 |
Último ponto de contacto
linha | placement_id |
crédito |
---|---|---|
1 | 11 | 3 |
Linear
linha | placement_id |
crédito |
---|---|---|
1 | 11 | 2,5 |
2 | 22 | 0,5 |