Por lo general, los campos de distintas tablas que tienen el mismo nombre y la misma plataforma publicitaria se pueden unir. Por ejemplo, adh.google_ads_impressions.impression_id
se puede combinar con adh.google_ads_clicks.impression_id
. En este ejemplo, los anuncios de display de Google son la plataforma publicitaria común, impression_id
es el campo común y google_ads_impressions
y google_ads_clicks
son las dos tablas diferentes.
Existen complejidades que pueden dificultar la unión de datos entre distintas plataformas publicitarias. Cada producto de Google utiliza diferentes IDs de usuario, que además pueden variar dentro del mismo producto según el estado del inicio de sesión.
Utiliza la siguiente tabla como referencia para unir campos de distintos productos. Por lo general, las uniones dentro de una misma plataforma publicitaria funcionarán, mientras que las uniones entre plataformas publicitarias no funcionarán.
Plataforma publicitaria | Productos | Tablas | IDs que se pueden unir |
---|---|---|---|
Anuncios de display de Google | Partners de vídeo de Google (excepto YouTube) | adh.google_ads_*
|
|
Google Marketing Platform | A través de Data Transfer:
Display & Video 360 Campaign Manager 360 |
adh.dv360_dt_* adh.cm_dt_*
|
|
Google Sold de YouTube | YouTube
Reserve YouTube (en Google Ads) YouTube (en Display & Video 360) |
adh.yt_reserve_*
adh.google_ads_*
adh.dv360_youtube_*
|
|
Partner Sold de YouTube | Google Ad
Manager Freewheel |
adh.partner_sold_cross_sell_*
adh.freewheel_* |
|
Clave | user_id |
external_cookie |
device_id_md5 |
Ejemplos
Además de los IDs de usuario y del dispositivo, puedes unir tablas con otros campos. Para aprender a unir tablas en el Centro de Datos de Anuncios, selecciona un campo que se pueda unir en el menú desplegable. En esta sección se incluyen algunos ejemplos.
En este ejemplo se muestra cómo usar user_id
para unir tablas de impresiones, creatividades y conversiones.
Caso práctico: saber si las campañas de branding aumentan las conversiones incrementales.
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) )
En este ejemplo se muestra cómo usar impression_id
para vincular los datos de conversiones y los datos de impresiones.
Caso práctico: estadísticas de conversiones e impresiones de los sectores según el país y el 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
En este ejemplo se muestra cómo unir varias tablas con varios IDs.
Caso práctico: mostrar los recursos vinculados a una campaña determinada.
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
En este ejemplo se muestra cómo unir tablas de metadatos.
Caso práctico: unir una tabla de impresiones con la tabla de metadatos de estado para mostrar el recuento de cookies únicas y la frecuencia media 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