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.
- Tous
- user_id
- impression_id
- campaign_id
- customer_id
- region_id
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