Campi unibili in Ads Data Hub

Generalmente i campi con lo stesso nome all'interno dello stesso canale di acquisto possono essere uniti nelle tabelle. Ad esempio, adh.google_ads_impressions.impression_id può essere unito a adh.google_ads_clicks.impression_id. In questo esempio, gli annunci sulla Rete Display di Google sono il canale di acquisto più comune, impression_id è il campo comune mentre google_ads_impressions e google_ads_clicks sono le due diverse tabelle.

Esistono complessità che possono rendere difficile l'unione dei dati per più canali di acquisto. Prodotti Google diversi utilizzano ID utente differenti e gli ID utente possono variare anche all'interno di un singolo prodotto in base allo stato di accesso.

Utilizza la seguente tabella come linea guida per effettuare l'unione per più prodotti. Generalmente i join all'interno di ciascun canale di acquisto funzionano, mentre quelli tra canali di acquisto no.

Canale di acquisto Prodotti Tabelle ID unibili
Annunci sulla Rete Display di Google Partner video Google (escluso YouTube) adh.google_ads_*
Google Marketing Platform tramite Data Transfer:
Display & Video 360
Campaign Manager 360
adh.dv360_dt_*
adh.cm_dt_*
Programma relativo agli annunci venduti da Google su YouTube YouTube Reserve
YouTube (in Google Ads)
YouTube (in Display & Video 360)
adh.yt_reserve_*
adh.google_ads_*
adh.dv360_youtube_*
Programma relativo agli annunci venduti dai partner di YouTube Google Ad Manager
Freewheel
adh.partner_sold_cross_sell_*
adh.freewheel_*
Chiave user_id external_cookie device_id_md5

Esempi

Oltre agli ID utente e dispositivo, puoi unire le tabelle utilizzando una serie di altri campi. Per scoprire come unire le tabelle in Ads Data Hub, seleziona un campo unibile dal menu a discesa. Questa sezione contiene un insieme non esaustivo di esempi.

Questo esempio mostra come utilizzare user_id per unire impressioni, creatività e tabelle di conversione.

Caso d'uso: capire se le campagne di branding generano conversioni incrementali.

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

Questo esempio mostra come utilizzare impression_id per collegare i dati sulle conversioni ai dati sulle impressioni.

Caso d'uso: suddividere le statistiche relative a impressioni e conversioni in base al paese e alle conversioni 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

Questo esempio mostra come unire diverse tabelle su più ID.

Caso d'uso: elencare gli asset collegati a una determinata campagna.

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

Questo esempio mostra come unire le tabelle di metadati.

Caso d'uso: unire una tabella delle impressioni con la tabella dei metadati di stato per mostrare il numero di cookie unici e la frequenza media per stato.

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