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