سنجه‌های صفر

این راهنما توضیح می‌دهد که چرا ردیف‌های با سنجه‌های صفر در گزارش‌های Google Ads API ظاهر می‌شوند و چگونه آن‌ها را در پُرسمان‌هایتان مستثنی یا مدیریت کنید.

سنجه‌های صفر در نتایج جستجو

وقتی پُرسمانی را اجرا می‌کنید، ممکن است با سنجه‌هایی برای نهادها مواجه شوید که صفر هستند. دلیل آن ممکن است یکی از موارد زیر باشد:

  • نهادها واجدشرایط نمایش نیستند.
  • در محدوده تاریخ گزارش موقتاً متوقف شده باشند.

با نتایج پُرسمان، اغلب می‌خواهید اطلاعاتی درباره نحوه عملکرد پویش‌هایتان به‌دست آورید. در این زمینه، سنجه‌های صفر ممکن است مطلوب نباشد. برای تولید گزارش مفیدتر، می‌توانید سنجه‌های صفر را به‌طور صریح مستثنی کنید.

مستثنی کردن سنجه‌های صفر با گزاره

گزاره عبارتی است که به TRUE، FALSE، یا UNKNOWN ارزیابی می‌شود. گزاره‌ها در شرط جستجوی بندهای WHERE در زبان پُرسمان Google Ads استفاده می‌شوند.

پرس‌وجوی زیر نشان می‌دهد که چگونه می‌توان سنجه‌های صفر را با گزاره به‌طور صریح حذف کرد:

SELECT
  campaign.id,
  metrics.impressions
FROM campaign
WHERE metrics.impressions > 0

کنار گذاشتن سنجه‌های صفر با بخش‌بندی کردن

سنجه‌های صفر همیشه هنگام بخش‌بندی گزارش مستثنی می‌شوند، به‌شرطی که همه سنجه‌های انتخاب‌شده صفر باشند (به ردیف‌های برگردانده‌شده با سنجه‌های صفر مراجعه کنید).

بخش‌بندی گزارش با گنجاندن هر فیلد segments در عبارت SELECT پرسمان جستجو انجام می‌شود (فیلتر کردن روی بخش تاریخ پایه در WHERE بدون انتخاب آن در SELECT گزارش را بخش‌بندی نمی‌کند). برای مثال، اگر گزارشی را براساس segments.date بخش‌بندی کنید، سنجه‌ها با یک ردیف برای هر تاریخ تفکیک می‌شوند. تاریخ‌های بدون سنجه در چنین گزارشی برگردانده نمی‌شوند.

برای پُرسمان زیر، گزارش شامل ردیف‌های سنجه صفر نخواهد بود:

SELECT
  campaign.name,
  metrics.impressions,
  segments.date
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

ردیف‌های برگردانده‌شده با سنجه‌های صفر

ردیف‌هایی که سنجه‌های انتخابی آن‌ها همگی صفر است هنگام بخش‌بندی برگردانده نخواهند شد. برای مثال، پُرسمان زیر را درنظر بگیرید که metrics.impressions، metrics.clicks، و metrics.conversions را انتخاب می‌کند:

SELECT
  ad_group_criterion.criterion_id,
  metrics.impressions,
  metrics.clicks,
  metrics.conversions,
  segments.date
FROM keyword_view
WHERE segments.date BETWEEN '2026-01-01' AND '2026-01-31'

گزارش حاصل حاوی هیچ ردیفی نخواهد بود که در آن هر سه سنجه انتخاب‌شده صفر باشند، اما ردیف‌هایی را برمی‌گرداند که در آن‌ها حداقل یکی از سه سنجه انتخاب‌شده بزرگ‌تر از صفر باشد.

هنگام پُرسمان داده‌های قدیمی فراتر از دوره حفظ داده‌ها، داده‌های دانه‌ای قدیمی‌تر از ۳۷ ماه دردسترس نیست و ردیف‌ها را برنمی‌گرداند. درخواست‌های بخش‌های تاریخ جزئی (segments.date، segments.week، و segments.hour) که محدوده‌های قدیمی‌تر از ۳۷ ماه را پوشش می‌دهند، DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED را در نسخه ۲۴ و جدیدتر (یا DateRangeError.UNKNOWN را در نسخه ۲۳) برمی‌گردانند. داده‌های تجمیعی سطح بالا (segments.month، segments.quarter، و segments.year) به‌مدت ۱۱ سال حفظ می‌شود که با شروع دوره تقویم کامل بعدی مطابقت دارد. برای مثال، اگر حد آستانه ۱۱ ساله بازنگری در 2015-03-22 (یا 2015-03-01) باشد، داده‌های ماهانه از اولین ماه کامل تقویمی پس‌از حد آستانه (2015-04-01) دردسترس است. برای جزئیات، محدوده تاریخ را ببینید.

حذف سنجه دسترسی و مقادیر صفر

علاوه‌بر نهادهایی که ظهور نکرده‌اند، سنجه‌های دسترسی (مانند metrics.unique_users و سنجه‌های دسته فراوانی metrics.unique_users_two_plus تا metrics.unique_users_ten_plus) می‌توانند به‌صورت صفر نشان داده شوند یا وقتی داده‌های دسترسی حذف می‌شوند، این سنجه‌ها نیز حذف شوند. سنجه metrics.unique_users (و metrics.unique_users_info) در پویش‌های «شبکه تبلیغات»، «ویدیویی»، «تولید تقاضا»، و «برنامه» پشتیبانی می‌شود، درحالی‌که سنجه‌های دسته فراوانی metrics.unique_users_*_plus (و metrics.unique_users_*_plus_info) برای پویش‌های «ویدیویی» اعمال می‌شود.

سرکوب دسترسی به چند دلیل اتفاق می‌افتد:

  • آستانه‌های حریم خصوصی: وقتی تعداد کاربران به آستانه‌های حریم خصوصی (مانند k-گمنامی) نرسد، داده‌های دسترسی برای محافظت از هویت کاربر سرکوب می‌شود.
  • آستانه‌های کیفیت: اگر داده‌ها استانداردهای کیفیت را برآورده نکنند، ممکن است داده‌های «دسترسی» ارائه نشوند.
  • حفظ داده‌ها: داده‌های دسترسی گذشته به‌مدت ۳ سال (۳۶ ماه) حفظ می‌شود. پرس‌وجوهایی که تاریخ آن‌ها فراتر از این پنجره نگهداری ۳ ساله باشد نمی‌توانند سنجه‌های دسترسی را برگردانند. درحالی‌که پرسمان‌های پوشش‌دهنده تاریخ‌های بین ۳۶ و ۳۷ ماه پیش بدون برگرداندن DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED شرح‌داده‌شده در بخش قبلی موفق می‌شوند، سنجه‌های دسترسی را حذف می‌کنند (و DATE_RANGE_BEYOND_RETENTION را هنگام انتخاب فراداده دسترسی همراه برمی‌گردانند).

در نسخه ۲۶ و نسخه‌های جدیدتر، هر سنجه دسترسی کاربر منحصربه‌فرد دارای یک فیلد فراداده همراه از نوع ReachMetricInfo (مانند metrics.unique_users_info و metrics.unique_users_two_plus_info تا metrics.unique_users_ten_plus_info) است.

در «زبان پُرسمان Google Ads»‏ (GAQL)، فیلدهای دسترسی همراه MESSAGE سنجه‌هایی هستند که مستقیماً در عبارت SELECT انتخاب شده‌اند (برای مثال، metrics.unique_users_info). .reach_metric_states را در عبارت SELECT اضافه نکنید، زیرا انتخاب فیلدهای پیام تودرتو در GAQL با UNRECOGNIZED_FIELD ناموفق می‌شود. درعوض، انتخاب metrics.unique_users_info پیام ReachMetricInfo حاوی فیلد enum تکراری reach_metric_states از نوع ReachMetricState را برمی‌گرداند، که توضیح می‌دهد آیا سنجه سرکوب شده است یا کامل است.

هرگاه سنجه دسترسی سرکوب شود یا خارج از پنجره نگهداری باشد (PRIVACY_SUPPRESSION، QUALITY_SUPPRESSION، یا DATE_RANGE_BEYOND_RETENTION)، فیلد optional int64 آن در Metrics تنظیم‌نشده است (که اگر حضور فیلد بررسی نشود، به 0 ارزیابی می‌شود)، درحالی‌که LOW_QUALITY همچنان سنجه عددی را پر می‌کند:

  • ‫COMPLETE: سنجه دسترسی بدون هیچ‌گونه حذفی کامل است.
  • PRIVACY_SUPPRESSION: داده‌های دسترسی به‌دلیل محدودیت‌های حریم خصوصی حذف شد.
  • QUALITY_SUPPRESSION: داده‌های دسترسی به‌دلیل کیفیت داده‌ها حذف شد.
  • LOW_QUALITY: سنجه دسترسی محاسبه شده است اما به‌عنوان کیفیت پایین پرچم‌گذاری شده است.
  • DATE_RANGE_BEYOND_RETENTION: سنجه‌های «دسترسی» دردسترس نیستند زیرا محدوده تاریخ خارج از حد مجاز ۳ ساله حفظ داده‌ها برای داده‌های دسترسی است.

با انتخاب سنجه دسترسی و فیلد فراداده همراه آن، برنامه شما می‌تواند بین دسترسی صفر واقعی و مقادیر دسترسی که سرکوب شده‌اند تمایز قائل شود:

SELECT
  campaign.id,
  campaign.name,
  metrics.unique_users,
  metrics.unique_users_info,
  metrics.unique_users_two_plus,
  metrics.unique_users_two_plus_info,
  metrics.unique_users_ten_plus,
  metrics.unique_users_ten_plus_info
FROM campaign
WHERE campaign.advertising_channel_type = 'VIDEO'
  AND segments.date DURING LAST_30_DAYS