Slučitelná pole ve službě Ads Data Hub

Obecně platí, že pole se stejným názvem a stejným nákupním kanálem lze spojovat i mezi tabulkami. Například lze spojit adh.google_ads_impressions.impression_idadh.google_ads_clicks.impression_id. V obou případech je nákupní kanál Obsahové reklamy Google. Společné pole je impression_id a dvě různé tabulky jsou google_ads_impressionsgoogle_ads_clicks.

Existují však specifika, kvůli nimž může být náročné spojovat data pocházející z různých nákupních kanálů. Různé služby Google používají různá ID uživatelů. Tato ID se ale mohou lišit i v rámci jedné služby podle toho, zda je uživatel přihlášen, nebo ne.

Jako vodítko při spojování dat z různých služeb vám pomůže níže uvedená tabulka. Spojení v rámci jednoho prodejního kanálu zpravidla budou fungovat, zatímco spojení mezi různými prodejními kanály obvykle fungovat nebudou.

Nákupní kanál Služby Tabulky Spojitelná ID
Obsahové reklamy Google Partneři Googlu pro video (kromě YouTube) adh.google_ads_*
Google Marketing Platform Prostřednictvím Přenosu dat:
Display & Video 360
Campaign Manager 360
adh.dv360_dt_*
adh.cm_dt_*
Reklamy na YouTube prodávané Googlem YouTube Reserve
YouTube (v Google Ads)
YouTube (v Display & Video 360)
adh.yt_reserve_*
adh.google_ads_*
adh.dv360_youtube_*
Program na reklamy YouTube prodávaný partnery Google Ad Manager
Freewheel
adh.partner_sold_cross_sell_*
adh.freewheel_*
Klíč user_id external_cookie device_id_md5

Příklady

Kromě ID uživatelů a zařízení lze tabulky spojovat pomocí mnoha dalších polí. Jestliže chcete zjistit, jak ve službě Ads Data Hub spojit tabulky, vyberte z rozbalovací nabídky některé z polí, která umožňují spojení. V této části je uvedeno několik příkladů, které však nepokrývají všechny možnosti.

Tento příklad ukazuje, jak pomocí user_id spojit tabulky zobrazení, kreativ a konverzí.

Případ použití: Chcete zjistit, zda značkové kampaně pomáhají zvětšit počet konverzí.

WITH imp AS (
  SELECT
    user_id,
    COUNTIF(campaign_id IN UNNEST(@brand_campaign_ids)) AS brand_impression,
    COUNTIF(campaign_id IN UNNEST(@perf_campaign_ids)) AS perf_impression,
  FROM adh.google_ads_impressions
  WHERE
    campaign_id IN UNNEST(ARRAY_CONCAT(@perf_campaign_ids, @brand_campaign_ids))
    AND user_id != '0'
  GROUP BY 1
  ),
  conv AS (
  SELECT
    c.user_id,
    COUNT(1) AS conv_count
  FROM adh.google_ads_conversions
  WHERE
    impression_data.campaign_id IN UNNEST(@perf_campaign_ids)
    AND conversion_type IN UNNEST(@conversion_type_list)
    AND user_id != '0'
  GROUP BY 1
  )
SELECT
  SUM(IF(has_brand_traffic AND NOT has_perf_traffic, conv_count, 0)) AS brand_only,
  SUM(IF(NOT has_brand_traffic AND has_perf_traffic, conv_count, 0)) AS perf_only,
  SUM(IF(has_brand_traffic AND has_perf_traffic, conv_count, 0)) AS overlap
FROM
  (
  SELECT
    imp.user_id,
    imp.brand_impression > 0 AS has_brand_traffic,
    imp.perf_impression > 0 AS has_perf_traffic,
    conv.conv_count
  FROM imp
  JOIN conv
    USING (user_id)
  )

Tento příklad ukazuje, jak pomocí impression_id spojit údaje o konverzích s údaji o zobrazeních.

Případ použití: Chcete rozdělit statistiky o zobrazeních a konverzích podle země a podle toho, zda jde o konverze po prokliku nebo po aktivním zhlédnutí.

SELECT
  imp.location.country,
  COUNT(1) AS num_imps,
  SUM(IF(attribution_event_type = 'CLICK', 1, 0)) AS ctc_convs,
  SUM(IF(attribution_event_type = 'ENGAGED_VIEW', 1, 0)) AS evc_convs
FROM adh.google_ads_impressions AS imp
LEFT JOIN adh.google_ads_conversions AS conv
  ON (
    imp.impression_id = conv.impression_id
    AND conv.conversion_type IN UNNEST(@conversion_type_list))
WHERE imp.campaign_id IN UNNEST(@campaign_ids)
GROUP BY 1

Tento příklad ukazuje, jak spojit několik tabulek podle několika ID.

Případ použití: Chcete vytvořit seznam podkladů využívaných v určité kampani.

SELECT
  cmp.campaign_id,
  adg.adgroup_id,
  cr.video_message.youtube_video_id
FROM adh.google_ads_campaign AS cmp
JOIN adh.google_ads_adgroup AS adg
  USING (campaign_id)
JOIN adh.google_ads_adgroupcreative AS agc
  USING (adgroup_id)
JOIN adh.google_ads_creative AS cr
  ON (agc.customer_id = cr.customer_id
    AND agc.creative_id = cr.creative_id)
WHERE campaign_id = 123
GROUP BY 1, 2, 3

Tento příklad ukazuje, jak spojit tabulky metadat.

Případ použití: Chcete spojit tabulku zobrazení s tabulkou metadat o státech a zjistit počet unikátních souborů cookie a průměrnou frekvenci podle jednotlivých států.

SELECT
  IFNULL(reg.region_name, 'unspecified') AS state,
  COUNT(DISTINCT user_id) AS users,
  COUNT(1) AS impressions,
  FORMAT('%0.2f', COUNT(1) / COUNT(DISTINCT user_id)) AS avg_imp_per_user
FROM adh.google_ads_impressions AS imp
LEFT JOIN adh.region AS reg
  ON (imp.location.geo_region_id = reg.region_id)
WHERE
  imp.location.country = 'US'
GROUP BY 1