وقتی با Debugview گوگل آنالیتیکس ۴ کار می‌کنی، احتمالاً پارامتر مرموزی به نام non_personalized_ads (با مقداری برابر ۰ یا ۱) رو دیدی. این چیه؟ و چطور کار می‌کنه؟
#### نسخه TL;DR
برای صرفه‌جویی تو زمان، اینجا نسخه کوتاه‌تری از یافته‌هام رو می‌ذارم. ولی اگه می‌خوای همه جزئیات رو بدونی، پست وبلاگی کامل رو بخون.
- non_personalized_ads=0: یعنی کاربر به استفاده از داده‌هاش برای تبلیغات شخصی‌سازی‌شده رضایت داده.
- این ویژگی کاربر تو GA4 عمدتاً توسط کانسنت مود گوگل (Consent Mode) کنترل می‌شه و وضعیت رضایت کاربر در قالب پارامترهای ad_user_data و ad_personalization رو منعکس می‌کنه.
- مقدار non_personalized_ads مستقیماً روی این مورد تاثیر میزاره که داده‌های کاربرای GA4 برای کمپین‌های تبلیغاتی در اکانت های گوگل ادز قابل‌استفاده باشن یا نه.
- خطا داره؟ معمولاً نه. پارامتر non_personalized_ads نشون‌دهنده انتخاب‌های کاربر در مورد کانسنت هست. مقدار معمولش ۱ یا ۰  هست.

پارامتر non_personalized_ads چیه؟
پارامتر non_personalized_ads تو Debugview گوگل آنالیتیکس ۴ بهت کمک می‌کنه فعال شدن شخصی‌سازی تبلیغات برای اون کاربر خاص رو ببینی. وقتی کاربرها به سایتی سر میزنن که روش GA4 و کانسنت مود یا تنظیمات دیگه (مثل allow_ad_personalization_signals) ست شده، می‌تونن انتخاب کنن که براشون تبلیغات شخصی‌سازی‌شده نشون داده بشه یا نه.

- مقدار ۰ : وقتی مقدار پارامتر ۰ باشه، کاربر رضایت داده که تبلیغات شخصی‌سازی‌شده بهش نشون داده بشه.
- مقدار ۱ : وقتی مقدار پارامتر ۱ باشه، کاربر رضایت نداده که تبلیغات شخصی‌سازی‌شده بهش نشون داده بشه.
دو جا هست که می‌تونی تغییر مقدار پارامتر non_personalized_ads رو تست کنی:

- Debugview GA4: ا         Admin > Data display > DebugView
- حالت پریویو GTM: وقتی حالت پریویوی GTM رو لود می‌کنی، دو گزینه تو هدر می‌بینی؛ یکی برای GTM و دیگری برای GA4. به گزینه GA4 برو.

اینجا می‌تونی روی هر hit تو تب سمت چپ کلیک کنی و اطلاعاتی که به GA4 ارسال شده رو چک کنی. دنبال پارامتر «npa» بگرد.

چه چیزهایی روی non_personalized_ads تأثیر داره؟
یکی از ویژگی‌هایی که روی پارامتر non_personalized_ads تأثیر داره، کانسنت مود هست.  «کانسنت مود چیه؟»:
کانسنت مود واسه اطمینان از این هست که داده‌ها فقط زمانی توسط گوگل آنالیتیکس ۴ و گوگل ادز جمع‌آوری بشن که کاربر رضایت داده باشه به جمع‌آوری داده هاش برای تحلیل و تبلیغات، .
کاربرها می‌تونن کانسنت جداگانه ای برای تحلیل داده ها و دریافت تبلیغات شخصی‌سازی‌شده بدن. مثلاً، اگه کاربر به تحلیل داده هاش رضایت بده ولی به تبلیغات شخصی‌سازی‌شده نه بگه، GA4 داده‌ها رو برای تحلیل به‌طور عادی ترکینگ می‌کنه، ولی گوگل ادز داده‌های کاربر رو برای هدف‌گیری تبلیغ جمع‌آوری نمی‌کنه. به‌جای اون، کاربر تبلیغات شخصی‌سازی‌نشده می‌بینه.
اگه از راه‌حل کانسنت شخص ثالث استفاده می‌کنی، می‌تونی از اینتگریشن های داخلی موجود تو GA4 برای فعال کردن  کانسنت مود استفاده کنی.به این مسیر برو: Admin > Data Streams > Consent settings و مراحل ستاپ رو دنبال کن.
علاوه بر این، پارامتر non_personalized_ads می‌تونه توسط تنظیمات تگ‌های GTM تحت تاثیر قرار بگیره، از جمله استفاده از پارامتر allow_ad_personalization_signals، که وقتی مقدارش روی false ست بشه ویژگی‌های شخصی‌سازی تبلیغات رو غیرفعال می‌کنه.

بیایم حالا به چند مثال نگاه کنیم تا بفهمیم متغیرهای کانسنت مود چطور روی مقدار non_personalized_ads تأثیر دارن.


مثال ۱: analytics_storage مجاز ولی  ad_storage، ad_user_data و ad_personalization رد شده
تو این مثال، analytics_storage مجاز و ad_storage و ad_user_data رد شده. نتیجه این ترکیب مقادیر به این صورته:
- analytics_storage = granted: کاربر به ست شدن کوکی‌های تحلیل دیتا رضایت داده، پس GA4 می‌تونه داده‌ها رو برای تحلیل جمع‌آوری کنه.
- ad_storage = denied: کاربر به ست شدن کوکی‌های مرتبط با تبلیغات رضایت نداده.
- ad_user_data = denied: کاربر به اشتراک‌گذاری داده‌هاش برای ترکینگ یا شخصی‌سازی تبلیغات رضایت نداده.
-ad_personalization = denied: کاربر به دریافت تبلیغات شخصی‌سازی‌شده رضایت نداده.
نتیجه اینه که non_personalized_ads مقدار true (یا ۱) رو خواهد داشت، چون کاربر رضایت نداده که کوکی‌های مرتبط با تبلیغات ست بشن یا جمع‌آوری و استفاده از داده‌هاش برای تبلیغات انجام بشه.


مثال ۲: analytics_storage و ad_storage مجاز ولی ad_user_data و ad_personalization رد شده (و بعد مجاز)
تو این مثال، analytics_storage و ad_storage مجاز و ad_user_data رد شده. نتیجه این ترکیب مقادیر به این صورته:
-analytics_storage = granted: کاربر به ست شدن کوکی‌های تحلیل دیتا رضایت داده، پس GA4 می‌تونه داده‌ها رو برای تحلیل جمع‌آوری کنه.
- ad_storage = granted: کاربر به اشتراک‌گذاری داده‌های مرتبط با تبلیغ رضایت داده، که کانورژن ترکینگ و remarketing رو ممکن می‌کنه.
- ad_user_data = denied: کاربر به اشتراک‌گذاری داده‌هاش برای ترکینگ یا شخصی‌سازی تبلیغات رضایت نداده.
- ad_personalization = denied: کاربر به دریافت تبلیغات شخصی‌سازی‌شده رضایت نداده.
با این حال، این هنوز باعث می‌شه مقدار non_personalized_ads معادل true باشه.


حالا اگه کاربر به ad_user_data رضایت بده چی؟
- ad_user_data = granted: کاربر به اشتراک‌گذاری داده‌هاش برای ترکینگ و شخصی‌سازی تبلیغات رضایت داده.
تغییری تو پارامتر non_personalized_ads ایجاد نمی‌شه.


بعد، اگه کاربر به ad_personalization رضایت بده ولی به ad_user_data نه؟
- ad_personalization = granted: کاربر به دریافت تبلیغات شخصی‌سازی‌شده رضایت داده.
باز هم تغییری تو پارامتر non_personalized_ads ایجاد نمی‌شه.

مثال ۳: analytics_storage و ad_storage رد شده ولی ad_user_data و ad_personalization مجاز هست.
با توجه به تعریف هر پارامتر، بیایم یه چیز جدید امتحان کنیم:
- analytics_storage = denied: کاربر به ست شدن کوکی‌های تحلیلی برای GA4 رضایت نداده.
- ad_storage = denied: کاربر به اشتراک‌گذاری داده‌های مرتبط با تبلیغ برای ترکینگ کانورژن و remarketing رضایت نداده.
- ad_user_data = granted: کاربر به اشتراک‌گذاری داده‌هاش برای ترکینگ و شخصی‌سازی تبلیغات رضایت داده.
- ad_personalization = granted: کاربر به دریافت تبلیغات شخصی‌سازی‌شده رضایت داده.
مقدار non_personalized_ads به‌روزرسانی می‌شه و حالا ۰ می‌شه! این یعنی کاربر به ارائه داده‌هاش برای تبلیغات شخصی‌سازی‌شده رضایت داده.


پس، حداقل، کاربر باید به ad_user_data و ad_personalization رضایت بده تا پارامتر non_personalized_ads معادل 0 یا false بشه.

مثال ۴: allow_ad_personalization_signals معادل false هست
هرچند این یکی از پارامترهای کانسنت مود نیست، پارامتر allow_ad_personalization_signals کنترل می‌کنه که گوگل از داده‌ها برای تبلیغات شخصی‌سازی‌شده استفاده کنه یا نه. وقتی مقدار این پارامتر معادل true بشه، ایونت‌هایی که از تگ ارسال می‌شن برای شخصی‌سازی تبلیغات استفاده می‌شن. برعکس، وقتی مقدار این پارامتر روی false ست بشه، اون ایونت‌ها برای شخصی‌سازی تبلیغ استفاده نمی‌شن، ولی ممکنه هنوز برای گزارش‌ های تحلیلی استفاده بشن.
می‌تونی مقدار این پارامتر رو یا تو تگ گوگل یا تو تگ‌های ایونت خاص GA4 تنظیم کنی.

 اگه مقدار allow_ad_personalized_signals معادل false باشه، مقدار non_personalized_ads برابر 1 می‌شه، پس داده‌های کاربر ناشی از همه ایونت‌ها یا اون ایونت خاص برای شخصی‌سازی تبلیغ استفاده نمی‌شه.


مثال ۵: مقدار پارامتر allow_ad_personalization_signals معادل true هست
تو این مثال، می‌خوایم ببینیم وقتی allow_ad_personalization_signals معادل true باشه چه اتفاقی می‌افته.


طبق گفته گوگل، شخصی‌سازی تبلیغ (non_personalized_ads برابر ۰) فقط وقتی اتفاق می‌افته که پارامتر allow_ad_personalization_signals به درستی تنظیم شده باشه و کاربر نهایی نسبت به شخصی‌سازی تبلیغاتش رضایت داده باشه، اگه کانسنت مود رو فعال کرده باشی، این پارامتر لازم نیست ست بشه، چون کانسنت مود خودش روی شخصی‌سازی تبلیغ تأثیر داره.

مثال ۶: تنظیمات رضایت پیش‌فرض به «بله» تنظیم شده
توی گوگل آنالیتیکس ۴، می‌تونی به‌طور خودکار داده‌هایی که از طریق تگ گوگل جمع‌آوری می‌شه رو دارای مارک کانسنت کنی(انگار همه کاربرها با جمع آوری دیتا برای تحلیل و شخصی سازی تبلیغات موافقن). برای فعال کردن این تنظیمات به این مسیر برو:

Admin > Data streams > Web stream > Consent settings > Manage default consent settings for data collection >

 و گزینه «بله» رو انتخاب کن.

می‌بینی بعضی هشدارها هست که باید قبل از انتخاب گزینه Yes بخونی، پس مطمئن شو این کار رو انجام می‌دی.

برای تست این، با فرض اینکه کانسنت مود تو سایت فعال نیست، می‌تونی انتظار داشته باشی non_personalized_ads معادل 0 باشه. به همین دلیل، اگه این ویژگی رو فعال کنی، باید سیستمی داشته باشی که کاربرها قبل از فعال شدن تگ  کانفیگ گوگل کانسنت رو بدن.

حرف آخر:
امیدوارم این مقاله شفافیت بیشتری درباره non_personalized_ads تو گوگل آنالیتیکس ۴ و چطور کنترلش بهت داده باشه. به‌طور خلاصه، می‌تونی مقدار این پارامتر رو با کانسنت مود یا مقدار پارامتر allow_ad_personalization_signals کنترل کنی. علاوه بر این تنظیمات کانسنت پیش‌فرض هم تو GA4 هست،