وبلاگ
CookiePass و Google Consent Mode: بنر رضایت با ترافیک شما چه میکند
منتشرشده · بهروزشده · 5 دقیقه مطالعه
ما روی همین سایت از CookiePass استفاده میکنیم. این یک سرویس رضایت کوکی است که Google Consent Mode v2 را دقیقاً همانطور که Google مشخص کرده پیادهسازی میکند، و معلوم میشود این ویژگی از رنگهای بنر مهمتر است: تعیین میکند تگ Google شما در هر بازدید صفحه چه چیزی بفرستد — پیش از آنکه بازدیدکننده پاسخ دهد، پس از اینکه بله بگوید و پس از اینکه نه بگوید. این نوشته نشان میدهد این موضوع از سمت سرور چه شکلی دارد، جایی که تکتک این هیتها از کانتینر شما عبور میکنند.
Consent Mode در عمل چه چیزی را تغییر میدهد
Consent Mode (حالت رضایت) کلید روشن/خاموش تگهای شما نیست. وقتی برقرار باشد، تگ Google در هر صفحه همچنان اجرا میشود؛ آنچه تغییر میکند یک نشانگر روی هر هیت است، و کاری که Google بهخاطر آن با هیت انجام میدهد. وقتی analytics_storage رد (denied) شده باشد، تگ هیچ کوکیای نمیگذارد، شناسه کلاینت را بین صفحهها نگه نمیدارد و چیزی را میفرستد که Google آن را پینگ بدون کوکی مینامد — هیتی که GA4 برای مدلسازی از آن استفاده میکند، نه برای گزارشهایی که شما میخوانید.
این نشانگر یک پارامتر کوئری به نام gcs است. از دو نویسه و دو رقم تشکیل شده: رقم اول ad_storage است و رقم دوم analytics_storage؛ 1 یعنی مجاز (granted) و 0 یعنی رد (denied).
gcs=G100 ad_storage denied, analytics_storage denied
gcs=G101 ad_storage denied, analytics_storage granted
gcs=G110 ad_storage granted, analytics_storage denied
gcs=G111 both granted
(no gcs) no Consent Mode on the page — treated as grantedخط آخر همان است که معمولاً از چشمها پنهان میماند. صفحهای که اصلاً Consent Mode ندارد هیچ پارامتر gcs نمیفرستد و Google هر هیت آن را دارای رضایت در نظر میگیرد. پس افزودن بنری که Consent Mode را پیادهسازی میکند، آنچه را ارسال میشود کم نمیکند — بلکه از آن به بعد حقیقت را دربارهاش میگوید.
CookiePass چطور آن را برقرار میکند
Consent Mode v2 به یک توالی نیاز دارد، نه یک تنظیم. وضعیت پیشفرض باید پیش از بارگذاری تگ Google اعلام شود — denied، برای هر کسی که هنوز انتخاب نکرده — و درست در لحظهای که بازدیدکننده تصمیم میگیرد، یک update باید پشت سرش بیاید و سپس در هر بازدید بعدی بازیابی شود. اگر ترتیب را اشتباه کنید، اولین بازدید صفحه در هر نشست، پیش از آنکه بنر حتی نمایش داده شود، بهعنوان دارای رضایت ارسال میشود.
این توالیای است که CookiePass از اسکریپت خودش تولید میکند، پس هیچ بخشی از آن به کانتینر Tag Manager شما راه پیدا نمیکند:
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
wait_for_update: 500
});
// …the visitor accepts…
gtag('consent', 'update', {
ad_storage: 'granted',
analytics_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted'
});کل یکپارچهسازی همین است. تگهای خود Google بهطور خودکار به وضعیت رضایت پایبندند، و این شامل تگهایی هم میشود که SignalHost در کانتینر وب شما منتشر میکند. هیچ چیز در کانتینر سرور شما به شرط رضایت نیاز ندارد — افزودن دستی چنین شرطی همان راهی است که به یک تگ Google مشروط میرسد با تگهای رویداد نامشروط در کنارش، که داده را مستقیماً به Google میفرستند.
کانتینر سرور شما پیش و پس از انتخاب چه میبیند
هر هیت همچنان همان مسیر را طی میکند: مرورگر آن را به نام میزبان خود شما ارسال میکند، لبه (edge) آن را به کانتینر سرور شما میرساند و کانتینر آن را به GA4 میفرستد. تفاوت تماماً در محتوای هیت است.
- پیش از انتخاب: gcs=G100 روی هر هیت، بدون کوکی _ga و با شناسه کلاینت تازه در هر صفحه. GA4 یک پینگ بدون کوکی دریافت میکند؛ کانتینر شما یک درخواست میشمارد.
- پس از پذیرش: gcs=G111، کوکیها گذاشته میشوند و نشست به هم پیوند میخورد. از اینجا به بعد، هیتها همانهایی هستند که گزارشهای شما از آنها ساخته میشوند.
- پس از رد کردن: gcs=G100 در هر صفحه، تا وقتی آن انتخاب پابرجاست. رویدادهای Enhanced measurement — scroll، file_download و بقیه — از همان قاعده page_view پیروی میکنند.
به همین دلیل است که وقتی بنری برقرار باشد، صفحه کانتینر برای هر رویداد دو عدد نشان میدهد: به رنگ سبز، هیتهایی که با رضایت تحلیلی ارسال شدهاند — یعنی آنچه Analytics بهعنوان کاربران و نشستها گزارش خواهد کرد — و کنارش به رنگ خاکستری و با علامت مثبت، پینگهای بدون کوکی که Analytics از گزارشهایش کنار میگذارد. نوار هر رویداد هم به همین شکل تقسیم شده است. session_start و first_visit در هیچکدام ظاهر نمیشوند؛ Analytics آنها را از نشانگرهای روی اولین page_view استخراج میکند، نه اینکه آنها را بهصورت رویداد دریافت کند.
این برای اعداد ترافیک شما چه معنایی دارد
انتظار داشته باشید این دو ستون با هم همخوانی نداشته باشند، و انتظار داشته باشید فاصله میانشان مفیدترین عدد صفحه باشد.
- Analytics تعداد کاربران و نشستها را کمتر از تعداد درخواستهایی که کانتینر شما میشمارد گزارش میکند. این تفاوت سهم بازدیدکنندگانی است که رضایت ندادند یا هرگز پاسخ ندادند — نرخ رضایت شما، اندازهگیریشده و نه حدسزده.
- GA4 میتواند بخشی از این فاصله را با مدلسازی رفتاری پر کند، به شرطی که ویژگی به آستانههای Google برسد. داده مدلسازیشده در گزارشها ظاهر میشود؛ اما هرگز در کانتینر شما ظاهر نمیشود، چون هرگز ارسال نمیشود.
- وقتی ad_storage رد شده باشد، ردیابی تبدیل Google Ads چیزی برای نسبت دادن تبدیل به آن ندارد و Conversion Linker هم چیزی برای پیوند دادن ندارد. کانتینر سرور این را تغییر نمیدهد و نباید هم بدهد: شخص اول بودن به معنای بینیازی از رضایت نیست.
- طراحی بنر حالا یک تصمیم اندازهگیری است. نرخ رضایت 60% و 85% میتواند همان سایت با دکمههای متفاوت باشد، و فاصله میان دو ستون جایی است که میبینید کدام را دارید.
چکلیست
- اسکریپت رضایت را پیش از تگ Google بارگذاری کنید. وضعیت پیشفرض باید پیش از اولین هیت وجود داشته باشد.
- صفحهای را بدون پاسخ دادن به بنر باز کنید و مقدار gcs را در یک درخواست /g/collect در پنل Network مرورگرتان بخوانید. باید G100 باشد.
- بپذیرید و در صفحه بعد دوباره آن را بخوانید. باید G111 باشد.
- به هیچ چیزی در کانتینر سرور تریگر رضایت اضافه نکنید. تگ وب از قبل وضعیت را با خود دارد.
- یک روز بعد به صفحه کانتینر برگردید و دو عدد page_view را بخوانید. عدد سبز تقسیم بر مجموع هر دو، نرخ رضایت شماست.
ما CookiePass را انتخاب کردیم چون دقیقاً توالی بالا را اجرا میکند، در یک بعدازظهر روی این سایت راه افتاد و اجازه میدهد بنر رنگهای خود سایت را بگیرد. اعداد بخش قبل همان چیزی است که نشان میدهد درست کار میکند.

