Campos que se pueden unir en el Centro de Datos de Anuncios

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