Geralmente, pode juntar campos com o mesmo nome na mesma plataforma de compras
em todas as tabelas. Por exemplo, pode juntar adh.google_ads_impressions.impression_id
a adh.google_ads_clicks.impression_id
. Neste exemplo,
os anúncios de display da Google são a plataforma de compras comum, impression_id
é o campo comum
e google_ads_impressions
e google_ads_clicks
são as duas tabelas
diferentes.
Existem complexidades que podem dificultar a junção de dados entre plataformas de compras. Os diferentes produtos Google usam IDs dos utilizadores diferentes e estes também podem variar num único produto com base no estado de início de sessão.
Use a tabela seguinte como orientação para fazer a junção em vários produtos. Geralmente, as junções dentro de cada plataforma de compras funcionam e as junções entre plataformas de compras não funcionam.
Plataforma de compras | Produtos | Tabelas | IDs a juntar |
---|---|---|---|
Anúncios de display da Google | Google Video Partners (exceto YouTube) | adh.google_ads_*
|
|
Google Marketing Platform | através da Transferência
de dados:
Display & Video 360 Campaign Manager 360 |
adh.dv360_dt_* adh.cm_dt_*
|
|
YouTube Vendas da Google | YouTube
Reserve YouTube (no Google Ads) YouTube (no Display & Video 360) |
adh.yt_reserve_*
adh.google_ads_*
adh.dv360_youtube_*
|
|
YouTube Vendas de parceiros | Google Ad
Manager Freewheel |
adh.partner_sold_cross_sell_*
adh.freewheel_* |
|
Chave | user_id |
external_cookie |
device_id_md5 |
Exemplos
Além dos IDs dos utilizadores e dos dispositivos, pode juntar tabelas através de vários outros campos. Para saber como juntar tabelas no Ads Data Hub, selecione um campo a juntar no menu pendente. Esta secção contém um conjunto não exaustivo de exemplos.
Este exemplo demonstra como usar user_id
para juntar
tabelas de impressões, criativos e conversões.
Exemplo de utilização: perceba se as campanhas de branding geram conversões incrementais.
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) )
Este exemplo demonstra como usar impression_id
para
associar dados de conversões a dados de impressões.
Exemplo de utilização: divida estatísticas de impressões e conversões baseadas no país e na CPC (conversão por clique)/CAVE (conversão através de visualização envolvida).
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
Este exemplo demonstra como juntar várias tabelas em vários IDs.
Exemplo de utilização: crie uma lista dos recursos associados a uma determinada campanha.
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
Este exemplo demonstra como juntar tabelas de metadados.
Exemplo de utilização: junte uma tabela de impressões à tabela de metadados do estado para mostrar a contagem de cookies únicos e a frequência média por estado.
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