Объединяемые поля в Ads Data Hub

Как правило, поля с одинаковыми именами в пределах одной покупательной двери можно объединять в разных таблицах. Например, adh.google_ads_impressions.impression_id можно объединить с adh.google_ads_clicks.impression_id . В этом примере медийные объявления Google — это общая дверь для покупок, impression_id — общее поле, а google_ads_impressions и google_ads_clicks — две разные таблицы.

Существуют сложности, которые могут затруднить объединение данных между дверями покупки. В разных продуктах Google используются разные идентификаторы пользователей, и идентификаторы пользователей также могут различаться в пределах одного продукта в зависимости от состояния входа.

Используйте следующую таблицу в качестве руководства для объединения нескольких продуктов. Объединения внутри каждой двери покупки обычно работают, тогда как соединения между дверями покупки обычно не работают.

Покупка двери Продукты Таблицы Присоединяемые идентификаторы
Медийная реклама Google Видеопартнеры Google (кроме YouTube) adh.google_ads_*
Google Платформа для маркетинга через передачу данных:
Дисплей и Видео 360
Менеджер кампаний 360
adh.dv360_dt_*
adh.cm_dt_*
Ютуб Гугл продан YouTube Резерв
YouTube (в Google Рекламе)
YouTube (в Дисплее и Видео 360)
adh.yt_reserve_*
adh.google_ads_*
adh.dv360_youtube_*
Партнер YouTube продан Google Менеджер рекламы
свободное колесо
adh.partner_sold_cross_sell_*
adh.freewheel_*
файл
Ключ user_id external_cookie device_id_md5

Примеры

Помимо идентификаторов пользователей и устройств, вы можете объединять таблицы, используя ряд других полей. Чтобы узнать, как объединять таблицы в Ads Data Hub, выберите присоединяемое поле в раскрывающемся меню. Этот раздел содержит неисчерпывающий набор примеров.

В этом примере показано, как использовать user_id для объединения таблиц показов, объявлений и конверсий.

Пример использования: выясните, способствуют ли кампании по брендингу увеличению количества конверсий.

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)
  )

В этом примере показано, как использовать impression_id для связи данных о конверсиях с данными о показах.

Вариант использования: срез статистики показов и конверсий на основе страны и CTC/EVC.

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

В этом примере показано, как объединить несколько таблиц по нескольким идентификаторам.

Вариант использования: список активов, связанных с определенной кампанией.

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

В этом примере показано, как объединить таблицы метаданных.

Вариант использования: соедините таблицу показов с таблицей метаданных штата, чтобы отобразить уникальное количество файлов cookie и среднюю частоту по штатам.

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