Yollar tablosuyla ilişkilendirme modelleme

*_paths tabloları, kullanıcıların Display & Video 360 ve Campaign Manager 360'ı kullanarak yönettiğiniz medya ile kurduğu etkileşimler hakkında size bilgi verir. Bu etkileşimler (temas noktası olarak da bilinir) bir araya getirilerek etkinlik yollarına dönüştürülür. Bu sayede, bir grup kullanıcının dönüşüm huninizde ilerlediği yolculuk kaydedilir. *_paths tablolarındaki veriler, Veri Aktarımı yoluyla kullanabileceğiniz verileri kullanır ancak size önceden derlenmiş yollarda sunulur. Etkinlik yolları, hem dönüşüm gerçekleştiren hem de dönüşüm gerçekleştirmeyen kullanıcılar için kullanılabilir ve birden çok dönüşüm içerebilir.

Ads Data Hub'daki tüm kullanıcı verileri gibi, *_paths tablolarındaki veriler de toplama koşullarına tabidir.

Teknik ayrıntılar

Her paths satırında 30 günlük bir zaman dilimindeki tek bir müşteri yolculuğu yer alır. Bu veriler son 30 günü kapsayacak şekilde her gün güncellenir. Etkinlik yolları çerezler kullanılarak derlendiği için tek bir cihazla sınırlandırılır. Kullanıcıların reklam kişiselleştirmeyi devre dışı bırakması gibi belirli durumlarda kullanıcı kimlikleri 0 olarak ayarlanır. Normalde bu kullanıcılar satırla ayrılacağı için 0 olarak ayarlanmış bir kullanıcı kimliğine girilen 2 farklı dönüşüm yolunun ayrı satırları olur. Ancak bazı analiz türleri (ör. user_id = 0 gruplandırması) için birden fazla dönüşüm yolu birleştirilir. Bu durum, verilerinizde tutarsızlıklara neden olabilir. Sıfırlanmış kullanıcı kimlikleri hakkında daha fazla bilgi

*_paths.events sütununun her satırında, her struct'ın kullanıcının yolunda tek bir etkinlik olduğu bir struct dizisi bulunur. Yolu oluşturan struct'lar zaman damgasına göre sıralanır. Dizideki ilk etkinlik en eski olandır.

Örnek sorgular

Aşağıdaki sorgular, yerleşimlerin dönüşüm gerçekleştiren belirli bir kullanıcı segmenti üzerindeki etkisini ölçer. Sorgular, krediyi 3 farklı ilişkilendirme modeli kullanarak ilişkilendirir:

  • İlk temas. (Kredinin tamamı ilk temas noktasıyla ilişkilendirilir.)
  • Son temas. (Kredinin tamamı son temas noktasıyla ilişkilendirilir.)
  • Doğrusal. (Kredi, temas noktaları arasında eşit olarak bölünür.)

Örnek veriler

Satır 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

Örnek sorgular

/* 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
/* 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
/* 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

Sonuçlar

Sorguyu örnek veriler üzerinde çalıştırırsanız şu sonuçları elde edersiniz:

satır placement_id kredi
1 11 2
2 22 1
satır placement_id kredi
1 11 3
satır placement_id kredi
1 11 2.5
2 22 0.5