Champs pouvant être joints dans Ads Data Hub

En règle générale, les champs portant le même nom au sein de la même plate-forme d'achat peuvent être joints dans plusieurs tables. Par exemple, adh.google_ads_impressions.impression_id peut être joint à adh.google_ads_clicks.impression_id. Dans cet exemple, les annonces display Google constituent la plate-forme d'achat commune, impression_id est le champ commun, et google_ads_impressions et google_ads_clicks sont les deux tables distinctes.

En raison de différentes complexités, il peut être difficile de joindre des données entre différentes plates-formes d'achat. Les ID utilisateur varient d'un produit Google à l'autre mais aussi au sein d'un même produit, en fonction de l'état de connexion.

Consultez la table suivante pour savoir comment joindre des données entre plusieurs produits. Généralement, les jointures au sein de chaque plate-forme d'achat fonctionnent, ce qui n'est pas le cas des jointures entre différentes plates-formes.

Plate-forme d'achat Produits Tables ID pouvant être joints
Annonces display Google Partenaires vidéo Google (hors YouTube) adh.google_ads_*
Google Marketing Platform via le transfert de données :
Display & Video 360
Campaign Manager 360
adh.dv360_dt_*
adh.cm_dt_*
Vente par Google sur YouTube YouTube Reserve
YouTube (dans Google Ads)
YouTube (dans Display & Video 360)
adh.yt_reserve_*
adh.google_ads_*
adh.dv360_youtube_*
Programme de vente par les partenaires de YouTube Google Ad Manager
FreeWheel
adh.partner_sold_cross_sell_*
adh.freewheel_*
Clé user_id external_cookie device_id_md5

Exemples

En plus des ID utilisateur et d'appareil, vous pouvez joindre des tables à l'aide de plusieurs autres champs. Pour savoir comment joindre des tables dans Ads Data Hub, sélectionnez un champ pouvant être joint dans le menu déroulant. Cette section contient un ensemble d'exemples non exhaustif.

Cet exemple montre comment utiliser user_id pour joindre des tables d'impressions, de créations et de conversions.

Cas d'utilisation : déterminer si les campagnes de branding génèrent des conversions supplémentaires.

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)
  )

Cet exemple montre comment utiliser impression_id pour associer des données de conversion à celles sur les impressions.

Cas d'utilisation : segmenter les statistiques d'impression et de conversion en fonction du pays et des 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

Cet exemple montre comment joindre plusieurs tables avec plusieurs ID.

Cas d'utilisation : lister les composants associés à une campagne spécifique.

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

Cet exemple montre comment joindre des tables de métadonnées.

Cas d'utilisation : associer une table d'impressions à la table des métadonnées d'état pour afficher le nombre de cookies uniques et la fréquence moyenne par état.

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