En general, los campos con el mismo nombre dentro de la misma puerta de compra se pueden unir en todas las tablas. Por ejemplo, adh.google_ads_impressions.impression_id se puede unir con adh.google_ads_creative_conversions.impression_id. En este ejemplo, los anuncios gráficos de Google son el canal de compra común, impression_id es el campo común y google_ads_impressions y google_ads_creative_conversions son las dos tablas diferentes.
Existen complejidades que pueden dificultar la unión de datos en diferentes canales de compra. Los diferentes productos de Google usan distintos IDs de usuario, y estos también pueden variar dentro de un mismo producto según el estado de acceso.
Usa la siguiente tabla como guía para unirte a los productos. Por lo general, las uniones dentro de cada puerta de compradores funcionarán, mientras que las uniones entre puertas de compradores no lo harán.
| Canal de compra | Productos | Tablas | IDs de unión |
|---|---|---|---|
| Anuncios gráficos de Google | Socios de video de Google (excepto YouTube) | adh.google_ads_*
|
|
| Google Marketing Platform | a través de la Transferencia de datos:
Display & Video 360 Campaign Manager 360 |
adh.dv360_dt_* adh.cm_dt_*
|
|
| YouTube Google vendido | YouTube
Reserve YouTube (en Google Ads) YouTube (en Display & Video 360) |
adh.yt_reserve_*
adh.google_ads_*
adh.dv360_youtube_*
|
|
| Venta de socios 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 dispositivo, puedes unir tablas con otros campos. Para obtener información sobre cómo unir tablas en Ads Data Hub, selecciona un campo que se pueda unir en el menú desplegable. En esta sección, se incluye un conjunto no exhaustivo de ejemplos.
En este ejemplo, se muestra cómo usar user_id para unir las tablas de impresiones, creatividades y conversiones.
Caso de uso: Comprende si las campañas de desarrollo de la marca generan 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 con los datos de impresiones.
Caso de uso: Segmenta las estadísticas de impresiones y conversiones según el país y las métricas de 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 en función de varios IDs.
Caso de uso: Enumera los recursos vinculados a una campaña en particular.
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 de uso: Une una tabla de impresiones con la tabla de metadatos de estado para mostrar el recuento de cookies únicas y la frecuencia promedio 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