به طور کلی، فیلدهایی با نام یکسان در یک درب خرید می توانند در جداول به یکدیگر متصل شوند. به عنوان مثال، adh.google_ads_impressions.impression_id
را می توان با adh.google_ads_clicks.impression_id
ملحق کرد. در این مثال، Google Display Ads درب رایج خرید است، impression_id
فیلد مشترک است، و google_ads_impressions
و google_ads_clicks
دو جدول متفاوت هستند.
پیچیدگی هایی وجود دارد که می تواند اتصال داده ها را در بین درهای خرید دشوار کند. محصولات مختلف Google از شناسههای کاربری متفاوتی استفاده میکنند و شناسههای کاربر نیز میتوانند در یک محصول واحد بر اساس وضعیت ورود به سیستم متفاوت باشند.
از جدول زیر به عنوان دستورالعملی برای پیوستن به محصولات استفاده کنید. اتصالات درون هر درب خرید معمولاً کار میکنند، در حالی که اتصالات بین دربهای خرید معمولاً کار نمیکنند.
خرید درب | محصولات | جداول | شناسه های قابل عضویت |
---|---|---|---|
تبلیغات نمایشی گوگل | Google Video Partners (به استثنای YouTube) | adh.google_ads_* | |
پلتفرم بازاریابی گوگل | از طریق انتقال داده: نمایش و ویدیو 360 Campaign Manager 360 | adh.dv360_dt_* adh.cm_dt_* | |
یوتیوب گوگل فروخته شد | YouTube Reserve یوتیوب (در تبلیغات گوگل) YouTube (در Display & Video 360) | adh.yt_reserve_* adh.google_ads_* adh.dv360_youtube_* | |
شریک YouTube فروخته شد | Google Ad Manager چرخ آزاد | adh.partner_sold_cross_sell_* adh.freewheel_* | |
کلید | user_id | external_cookie | device_id_md5 |
نمونه ها
علاوه بر شناسه های کاربر و دستگاه، می توانید با استفاده از تعدادی فیلد دیگر به جداول بپیوندید. برای یادگیری نحوه پیوستن به جداول در Ads Data Hub، یک فیلد قابل اتصال را از منوی کشویی انتخاب کنید. این بخش شامل مجموعه ای غیر جامع از مثال ها می باشد.
این مثال نحوه استفاده از user_id
را برای پیوستن به جدولهای نمایش، خلاقیت و تبدیل نشان میدهد.
مورد استفاده: درک کنید که آیا کمپین های برندسازی باعث افزایش تبدیل می شوند یا خیر.
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
را برای پیوند دادههای تبدیل به دادههای impressions نشان میدهد.
مورد استفاده: برش آمار نمایش و تبدیل بر اساس کشور و 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