ช่องที่เข้าร่วมได้ใน Ads Data Hub

โดยทั่วไป ช่องที่มีชื่อเดียวกันภายในประตูซื้อเดียวกันจะเชื่อมต่อกันได้ในตาราง ตัวอย่างเช่น adh.google_ads_impressions.impression_id คุณจะเข้าร่วมด้วย adh.google_ads_clicks.impression_id ได้ ในตัวอย่างนี้ โฆษณา Display ของ Google เป็นช่องทางการซื้อทั่วไป impression_id คือช่องร่วมทั่วไป และ google_ads_impressions และ google_ads_clicks เป็นตารางที่ต่างกัน 2 ตาราง

ความซับซ้อนที่อาจทำให้รวมข้อมูลในการซื้อประตูต่างๆ ได้ยาก ผลิตภัณฑ์ต่างๆ ของ Google จะใช้รหัสผู้ใช้ที่แตกต่างกัน และรหัสผู้ใช้อาจแตกต่างกันไปในผลิตภัณฑ์หนึ่งๆ ด้วย ทั้งนี้ขึ้นอยู่กับสถานะการลงชื่อเข้าใช้

ใช้ตารางต่อไปนี้เป็นแนวทางในการรวมผลิตภัณฑ์ต่างๆ โดยทั่วไป การเข้าร่วมภายในช่องทางการซื้อแต่ละช่องทางจะได้ผล แต่การเข้าร่วมระหว่างประตูการซื้อแต่ละช่องทางมักจะไม่ได้ผล

การซื้อ ประตู ผลิตภัณฑ์ ตาราง รหัสที่เข้าร่วมได้
โฆษณา ดิสเพลย์ของ Google Google Video Partners (ไม่รวม YouTube) adh.google_ads_*
แพลตฟอร์ม การตลาดของ Google ผ่าน การโอนข้อมูล:
Display & Video 360
Campaign Manager 360
adh.dv360_dt_*
adh.cm_dt_*
YouTube ที่ Google เป็นผู้ขาย YouTube จอง
YouTube (ใน Google Ads)
YouTube (ใน Display & Video 360)
adh.yt_reserve_*
adh.google_ads_*
adh.dv360_youtube_*
YouTube พาร์ทเนอร์ ขาย Google Ad Manager
FreeWheel
adh.partner_sold_cross_sell_*
adh.freewheel_*
คีย์ user_id external_cookie device_id_md5

ตัวอย่าง

นอกจากรหัสผู้ใช้และอุปกรณ์แล้ว คุณสามารถรวมตารางได้โดยใช้ช่องอื่นๆ อีกจำนวนหนึ่ง หากต้องการดูวิธีรวมตารางใน Ads Data Hub ให้เลือกช่องที่เข้าร่วมได้จากเมนูแบบเลื่อนลง ส่วนนี้มีชุดตัวอย่างโดยสังเขป

ตัวอย่างนี้สาธิตวิธีใช้ user_id เพื่อเข้าร่วมตารางการแสดงผล ครีเอทีฟโฆษณา และ Conversion

กรณีการใช้งาน: ทำความเข้าใจว่าแคมเปญการสร้างแบรนด์กระตุ้นให้เกิด Conversion เพิ่มขึ้นหรือไม่

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

ตัวอย่างนี้สาธิตวิธีใช้ impression_id เพื่อลิงก์ข้อมูล Conversion กับข้อมูลการแสดงผล

กรณีการใช้งาน: ส่วนแบ่งการแสดงผลและสถิติ Conversion ตามประเทศและ 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

ตัวอย่างนี้แสดงวิธีรวมตารางหลายตารางด้วยหลายรหัส

กรณีการใช้งาน: แสดงเนื้อหาที่ลิงก์กับแคมเปญที่เฉพาะเจาะจง

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

ตัวอย่างนี้แสดงวิธีการรวมตารางข้อมูลเมตา

กรณีการใช้งาน: รวมตารางการแสดงผลกับตารางข้อมูลเมตาสถานะเพื่อแสดงจำนวนคุกกี้ที่ไม่ซ้ำและความถี่เฉลี่ยตามสถานะ

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