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

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