بهطورکلی، فیلدهایی با نام یکسان در یک درگاه خرید میتوانند در جداول مختلف به هم متصل شوند. بهعنوانمثال، adh.google_ads_impressions.impression_id میتواند با adh.google_ads_creative_conversions.impression_id ادغام شود. در این مثال، Google Display Ads درگاه خرید مشترک، impression_id فیلد مشترک و google_ads_impressions و google_ads_creative_conversions دو جدول متفاوت هستند.
پیچیدگیهایی وجود دارد که میتواند اتصال دادهها را بین درگاههای خرید دشوار کند. محصولات مختلف گوگل از شناسههای کاربری متفاوتی استفاده میکنند و شناسههای کاربری نیز میتوانند در یک محصول واحد بر اساس وضعیت ورود به سیستم متفاوت باشند.
از جدول زیر به عنوان راهنما برای اتصال بین محصولات استفاده کنید. اتصال بین هر درب خرید معمولاً کار میکند، در حالی که اتصال بین دربهای خرید معمولاً کار نمیکند.
| خرید درب | محصولات | جداول | شناسههای قابل اتصال |
|---|---|---|---|
| تبلیغات نمایشی گوگل | شرکای ویدیوی گوگل (به جز یوتیوب) | adh.google_ads_* | |
| پلتفرم بازاریابی گوگل | از طریق انتقال داده: نمایش و ویدئو ۳۶۰ مدیر کمپین ۳۶۰ | adh.dv360_dt_*adh.cm_dt_* | |
| یوتیوب به گوگل فروخته شد | رزرو یوتیوب یوتیوب (در تبلیغات گوگل) یوتیوب (در بخش نمایش و ویدئو ۳۶۰) | adh.yt_reserve_*adh.google_ads_*adh.dv360_youtube_* | |
| یوتیوب پارتنر فروخته شد | مدیر تبلیغات گوگل چرخ آزاد | adh.partner_sold_cross_sell_*adh.freewheel_* | |
| کلید | user_id | external_cookie | device_id_md5 |
مثالها
علاوه بر شناسههای کاربر و دستگاه، میتوانید جداول را با استفاده از تعدادی فیلد دیگر به هم متصل کنید. برای یادگیری نحوه اتصال جداول در Ads Data Hub، یک فیلد قابل اتصال را از منوی کشویی انتخاب کنید. این بخش شامل مجموعهای ناقص از مثالها است.
این مثال نحوه استفاده از user_id را برای اتصال جداول impressions، creatives و conversions نشان میدهد.
مورد استفاده: درک کنید که آیا کمپینهای برندسازی باعث افزایش تبدیلها میشوند یا خیر.
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 را برای پیوند دادن دادههای تبدیل به دادههای نمایش نشان میدهد.
مورد استفاده: آمار نمایش و تبدیل را بر اساس کشور و 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
این مثال نحوهی اتصال چندین جدول با چندین شناسه (ID) را نشان میدهد.
مورد استفاده: فهرست کردن داراییهای مرتبط با یک کمپین خاص.
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