Как правило, поля с одинаковыми именами в пределах одной покупательной двери можно объединять в разных таблицах. Например, 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