راه اندازی حالت رضایت در وب سایت ها، تنظیم حالت رضایت در وب سایت ها

این صفحه برای توسعه‌دهندگانی است که راهکار رضایت خود را در وب‌سایتشان دارند و می‌خواهند حالت رضایت را ادغام کنند. برای آشنایی با حالت رضایت، مرور کلی حالت رضایت را بخوانید. اگر از یک پلتفرم مدیریت رضایت (CMP) برای دریافت رضایت کاربر استفاده می‌کنید، درباره نحوه راه‌اندازی حالت رضایت با CMP بیشتر بدانید.

شما می‌توانید حالت رضایت را به صورت پایه یا پیشرفته پیاده‌سازی کنید. برای انتخاب روش پیاده‌سازی و تنظیمات پیش‌فرض، دستورالعمل‌های شرکت خود را بررسی کنید. درباره حالت رضایت پایه در مقابل حالت رضایت پیشرفته بیشتر بدانید.

قبل از اینکه شروع کنی

قبل از اجرای حالت رضایت، موارد زیر را در نظر بگیرید:

  • اگر از Tag Manager استفاده می‌کنید و می‌خواهید بنر خودتان را داشته باشید، روش پیشنهادی، بارگذاری بنر از طریق کانتینر Tag Manager است. برای انجام این کار، باید یک الگوی حالت رضایت ایجاد کنید . همچنین می‌توانید از یک الگوی حالت رضایت از گالری الگوهای انجمن استفاده کنید.

  • اگر از gtag.js استفاده می‌کنید، مطمئن شوید که تگ گوگل را در هر صفحه از وب‌سایت خود نصب کرده‌اید. کد حالت رضایت به هر صفحه از وب‌سایت شما اضافه می‌شود.

برای تنظیم حالت رضایت، باید:
  1. قبل از اینکه کاربر رضایت خود را اعلام کند: وضعیت پیش‌فرض رضایت را تنظیم کنید .
  2. وضعیت رضایت را بر اساس تعامل کاربر با تنظیمات رضایت خود به‌روزرسانی کنید .

برای هر نوع رضایتی که استفاده می‌کنید، یک مقدار پیش‌فرض تعیین کنید. به‌طور پیش‌فرض، هیچ مقداری برای حالت رضایت تنظیم نشده است.

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

gtag.js

برای تنظیم قابلیت‌های اندازه‌گیری پیش‌فرض، دستور gtag('consent', 'default', ...) را در هر صفحه از سایت خود، قبل از هر دستوری که داده‌های اندازه‌گیری ارسال می‌کند (مانند config یا event )، فراخوانی کنید.

برای مثال، برای تنظیم عدم پذیرش برای همه پارامترها به طور پیش‌فرض:

gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied'
});

اختیاری: ادغام با پلتفرم‌های مدیریت رضایت غیرهمزمان

اگر بنر شما به صورت ناهمزمان بارگذاری شود، ممکن است همیشه قبل از تگ‌های گوگل شما اجرا نشود. برای مدیریت چنین موقعیت‌هایی، wait_for_update به همراه یک مقدار میلی‌ثانیه برای کنترل مدت زمان انتظار قبل از ارسال داده‌ها مشخص کنید.

برای مثال، برای اینکه ad_storage در یک صفحه خاص به طور پیش‌فرض رد شود، اما به CMP شما اجازه داده شود وضعیت رضایت را به‌روزرسانی کند، از wait_for_update استفاده کنید. در کد زیر، ad_storage به طور پیش‌فرض روی denied قرار دارد و به ابزار رضایت ۵۰۰ میلی‌ثانیه فرصت داده می‌شود تا قبل از فعال شدن تگ‌ها، gtag('consent', 'update', ...) فراخوانی کند:

  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'wait_for_update': 500
  });

مدیر برچسب

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

از APIهای مخصوص Tag Manager برای مدیریت حالت‌های رضایت setDefaultConsentState و updateConsentState استفاده کنید. API gtagSet می‌تواند برای تنظیم اختیاری تنظیمات ads_data_redaction و URL passthrough به صورت مناسب استفاده شود.

gtag.js

برای ارسال وضعیت رضایت کاربر، از دستور update استفاده کنید. از آنجایی که حالت رضایت، انتخاب‌های رضایت را ذخیره نمی‌کند، به محض اینکه کاربر با راهکار مدیریت رضایت شما تعامل کرد، وضعیت رضایت را به‌روزرسانی کنید. پس از اینکه کاربر رضایت خود را اعلام کرد، انتخاب او را حفظ کنید و دستور به‌روزرسانی را بر اساس آن در صفحات بعدی فراخوانی کنید.

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

مثال کد زیر نحوه به‌روزرسانی وضعیت رضایت به granted را در زمانی که کاربر با همه گزینه‌ها موافقت می‌کند، نشان می‌دهد:

<script>
function allConsentGranted() {
  gtag('consent', 'update', {
    'ad_user_data': 'granted',
    'ad_personalization': 'granted',
    'ad_storage': 'granted',
    'analytics_storage': 'granted'
  });
}
</script>
<!-- Invoke your consent function when a user interacts with your banner -->
<body>
  ...
  <button onclick="allConsentGranted()">Yes</button>
  ...
</body>

مدیر برچسب

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

اگر خودتان یک الگوی حالت رضایت می‌سازید، از APIهای مخصوص Tag Manager برای مدیریت حالت‌های رضایت setDefaultConsentState و updateConsentState استفاده کنید. API gtagSet می‌تواند برای تنظیم اختیاری تنظیمات ads_data_redaction و URL passthrough به صورت مناسب استفاده شود.

مثال پیاده‌سازی

مثال زیر پارامترهای حالت رضایت چندگانه را به طور پیش‌فرض روی denied تنظیم می‌کند. پس از اینکه کاربر گزینه‌های رضایت خود را نشان داد، پارامترهای مربوطه به granted به‌روزرسانی می‌شوند.

gtag.js

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

  1. تگ گوگل را بارگذاری کنید. این کد قطعه کد پیش‌فرض شماست. قطعه کد پیش‌فرض باید به‌روزرسانی شود (به پایین مراجعه کنید) تا شامل فراخوانی gtag('consent', 'default', ...) باشد.

  2. راهکار رضایت خود را بارگیری کنید. اگر راهکار رضایت شما به صورت ناهمزمان بارگیری می‌شود، برای اطمینان از اینکه این اتفاق به ترتیب صحیح رخ می‌دهد، به بخش «ادغام با پلتفرم‌های مدیریت رضایت ناهمزمان» مراجعه کنید.

  3. اگر توسط راهکار رضایت شما مدیریت نشد، پس از اعلام رضایت کاربر، تابع gtag('consent', 'update', ...) را فراخوانی کنید.

<script>
// Define dataLayer and the gtag function.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

// Set default consent to 'denied' as a placeholder
// Determine actual values based on your own requirements
gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied'
});
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID">
</script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  gtag('js', new Date());
  gtag('config', 'TAG_ID');
</script>

<!-- Create one update function for each consent parameter -->
<script>
  function consentGrantedAdStorage() {
    gtag('consent', 'update', {
      'ad_storage': 'granted'
    });
  }
</script>
<!-- Invoke your consent functions when a user interacts with your banner -->
<body>
  ...
  <button onclick="consentGrantedAdStorage">Yes</button>
  ...
</body>

مدیر برچسب

برای سایت‌هایی که از مدیریت برچسب (Tag Manager) استفاده می‌کنند، توصیه می‌کنیم از یک CMP برای مدیریت به‌روزرسانی‌های گزینه‌های رضایت بازدیدکنندگان استفاده کنید. CMPها قالب‌هایی را در گالری قالب‌های انجمن ارائه می‌دهند تا یک برچسب برای مدیریت حالت رضایت ایجاد شود.

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

<script>
  // Define dataLayer and the gtag function.
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  // Set default consent to 'denied' as a placeholder
  // Determine actual values based on your own requirements
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'analytics_storage': 'denied'
  });
</script>

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->

<!-- Create one update function for each consent parameter -->
<script>
  function consentGrantedAdStorage() {
    gtag('consent', 'update', {
      'ad_storage': 'granted'
    });
  }
</script>
<!-- Invoke your consent functions when a user interacts with your banner -->
<body>
  ...
  <button onclick="consentGrantedAdStorage()">Yes</button>
  ...
</body>

به عنوان بخشی از تعهد مداوم گوگل به یک اکوسیستم تبلیغات دیجیتال با محوریت حریم خصوصی، ما در حال تقویت اجرای سیاست رضایت کاربر اتحادیه اروپا هستیم.

درباره به‌روزرسانی‌های گوگل برای حالت رضایت برای ترافیک در منطقه اقتصادی اروپا (EEA) بیشتر بدانید.

کاربران حالت رضایت باید علاوه بر ad_storage و analytics_storage دو پارامتر جدید دیگر نیز ارسال کنند:

نام فیلد مقادیر مجاز توضیحات
ad_user_data 'granted' | 'denied' رضایت برای ارسال داده‌های کاربر مربوط به تبلیغات به گوگل را تنظیم می‌کند.
ad_personalization 'granted' | 'denied' رضایت برای تبلیغات شخصی‌سازی‌شده را تعیین می‌کند.

ویژگی‌های رضایت پیشرفته شامل موارد زیر است:

  • با استفاده از رابط کاربری تگ گوگل ، مشخص کنید که داده‌ها را با کدام سرویس‌های گوگل به اشتراک می‌گذارید .
  • تنظیم رفتار برای یک منطقه جغرافیایی.
  • اطلاعات کلیک روی تبلیغ، شناسه مشتری و شناسه جلسه را در URLها ارسال کنید، زمانی که کاربران رضایت خود را برای کوکی‌ها اعلام نکرده‌اند.
  • وقتی کاربران رضایت خود را برای کوکی‌های تبلیغاتی رد می‌کنند، اطلاعات تبلیغات را کاملاً ویرایش (حذف) کنید.

رفتار خاص منطقه

برای تنظیم حالت‌های رضایت پیش‌فرض که برای بازدیدکنندگان از مناطق خاص اعمال می‌شود، یک منطقه (مطابق با ISO 3166-2 ) را در دستور پیش‌فرض رضایت gtag خود مشخص کنید. استفاده از مقادیر منطقه به شما امکان می‌دهد تا از مقررات منطقه‌ای پیروی کنید.

شما می‌توانید برای مناطق خاص، پیش‌فرض تعیین کنید و سپس برای سایر مناطق، پیش‌فرض متفاوتی تعیین کنید. دستور پیش‌فرض gtag consent بدون پارامتر region، پیش‌فرض را برای همه بازدیدکنندگانی که تحت پوشش دستور خاص منطقه دیگری نیستند، تعیین می‌کند.

gtag.js

مثال زیر، analytics_storage را برای کاربران اسپانیا و آلاسکا روی denied و ad_storage را برای همه کاربران روی denied تنظیم می‌کند.

  gtag('consent', 'default', {
    'analytics_storage': 'denied',
    'region': ['ES', 'US-AK']
  });

  gtag('consent', 'default', {
    'ad_storage': 'denied'
  });

مدیر برچسب

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

پارامتر خاص‌تر اولویت دارد

اگر دو دستور رضایت پیش‌فرض در یک صفحه با مقادیر مربوط به یک منطقه و زیرمنطقه رخ دهند، دستوری که منطقه خاص‌تری دارد، اعمال خواهد شد. برای مثال، اگر ad_storage برای منطقه ایالات متحده روی granted و ad_storage را برای منطقه ایالات متحده-کالیفرنیا روی « denied تنظیم کرده باشید، برای بازدیدکننده‌ای از کالیفرنیا، تنظیمات خاص‌تر US-CA اعمال خواهد شد. برای این مثال، این بدان معناست که برای بازدیدکننده‌ای از ایالات متحده-کالیفرنیا، ad_storage روی denied تنظیم می‌شود.

منطقه ad_storage رفتار
ما 'granted' برای کاربرانی در ایالات متحده که در کالیفرنیا نیستند ، اعمال می‌شود
ایالات متحده-کالیفرنیا 'denied' برای کاربران ایالات متحده-کالیفرنیا اعمال می‌شود
نامشخص 'granted' از مقدار پیش‌فرض 'granted' استفاده می‌کند. در این مثال، برای بازدیدکنندگانی که در ایالات متحده یا در ایالات متحده-کالیفرنیا نیستند، اعمال می‌شود.

اطلاعات کلیک روی تبلیغ، شناسه مشتری و شناسه جلسه را در URLها منتقل کنید

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

با این حال، اگر ad_storage روی denied تنظیم شده باشد، این اطلاعات به صورت محلی ذخیره نمی‌شوند. برای بهبود کیفیت اندازه‌گیری کلیک روی تبلیغات هنگام denied ad_storage ، می‌توانید به صورت اختیاری انتخاب کنید که اطلاعات مربوط به کلیک‌های تبلیغاتی از طریق پارامترهای URL در صفحات مختلف با استفاده از URL passthrough منتقل شود.

به طور مشابه، اگر analytics_storage روی denied تنظیم شده باشد، می‌توان از URL passthrough برای ارسال تحلیل‌های مبتنی بر رویداد و جلسه (از جمله رویدادهای کلیدی) بدون کوکی در صفحات مختلف استفاده کرد.

برای استفاده از URL passthrough باید شرایط زیر رعایت شود:

  • برچسب گوگل شما از رضایت کاربر آگاه است و در صفحه موجود است.
  • تبلیغ‌کننده قابلیت عبور از طریق URL را فعال کرده است.
  • حالت رضایت در صفحه پیاده‌سازی شده است.
  • لینک خروجی به همان دامنه‌ای اشاره دارد که دامنه صفحه فعلی در آن قرار دارد.
  • GCLID یا DCLID در URL وجود دارد (فقط تگ‌های Google Ads و Floodlight)

gtag.js

برای فعال کردن این قابلیت، پارامتر url_passthrough را روی true تنظیم کنید. دستور زیر را قبل از هرگونه دستور config به قطعه کد پیش‌فرض اضافه کنید:

gtag('set', 'url_passthrough', true);

مدیر برچسب

اگر از یک الگو برای ایجاد برچسب خود استفاده می‌کنید، ممکن است کنترل‌هایی برای تنظیم گذرگاه URL داشته باشد. اگر خودتان یک برچسب الگو می‌سازید، برای اطلاعات بیشتر در مورد تنظیم گذرگاه URL با استفاده از API الگوی سفارشی gtagSet به ایجاد یک الگوی حالت رضایت مراجعه کنید.

یا می‌توانید از گزینه‌های زیر برای تنظیم آن در Conversion Linker و/یا تگ‌های تحلیلی استفاده کنید.

برای تگ‌های تبلیغات گوگل و Floodlight :

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

برای تگ‌های گوگل آنالیتیکس :

  1. در مدیریت برچسب، به قسمت «فیلدز تو ست» بروید و **پیکربندی برچسب** را انتخاب کنید.

    فیلدهایی که باید تنظیم شوند**.

    1. وقتی بخش «فیلدهای تنظیم» باز شد، روی «افزودن ردیف» کلیک کنید.
    2. برای فیلد نام ، url_passthrough وارد کنید.
    3. برای مقدار ، «true» را وارد کنید.
    4. تگ را ذخیره و منتشر کنید.

    به عنوان یک روش جایگزین، می‌توانید پارامتر url_passthrough را در هر صفحه از سایت خود، قبل از قطعه کد نصب GTM، روی true تنظیم کنید.

    window.dataLayer = window.dataLayer || [];
    function gtag(){window.dataLayer.push(arguments);}
    gtag('set', 'url_passthrough', true);
    

    هنگام استفاده از URL passthrough، ممکن است چند پارامتر پرس‌وجو هنگام پیمایش کاربران در صفحات وب‌سایت شما به لینک‌ها اضافه شوند:

    • gclid
    • dclid
    • gclsrc
    • _gl
    • wbraid

    برای بهترین نتیجه، اطمینان حاصل کنید که:

    1. ریدایرکت‌های سایت شما از تمام پارامترهای کوئری بالا عبور می‌کنند.
    2. ابزارهای تحلیلی شما این پارامترها را در URLهای صفحات نادیده می‌گیرند.
    3. این پارامترها هیچ تداخلی با رفتار سایت شما ندارند.

داده‌های تبلیغات را ویرایش کنید

وقتی ad_storage denied شود، کوکی‌های جدید برای اهداف تبلیغاتی تنظیم نمی‌شوند. علاوه بر این، کوکی‌های شخص ثالث که قبلاً در google.com و doubleclick.net تنظیم شده‌اند، به جز برای اهداف هرزنامه و کلاهبرداری استفاده نخواهند شد. داده‌های ارسالی به گوگل همچنان شامل URL کامل صفحه، از جمله هرگونه اطلاعات کلیک روی تبلیغ در پارامترهای URL، خواهد بود.

gtag.js

برای ویرایش بیشتر داده‌های تبلیغات خود هنگام denied ad_storage ، ads_data_redaction روی true تنظیم کنید.

gtag('set', 'ads_data_redaction', true);

وقتی ads_data_redaction true تنظیم شده باشد و ad_storage denied باشد، شناسه‌های کلیک تبلیغات که در درخواست‌های شبکه توسط Google Ads و برچسب‌های Floodlight ارسال می‌شوند، حذف خواهند شد. درخواست‌های شبکه همچنین از طریق یک دامنه بدون کوکی ارسال می‌شوند.

مدیر برچسب

اگر از یک الگو برای ایجاد برچسب خود استفاده می‌کنید، ممکن است کنترل‌هایی برای ویرایش بیشتر داده‌های تبلیغات داشته باشد. اگر خودتان در حال ساخت یک برچسب الگو هستید، برای اطلاعات بیشتر در مورد ویرایش داده‌های تبلیغات ، به «ایجاد یک الگوی حالت رضایت» مراجعه کنید.

مسائل رایج

وقتی حالت رضایت پیشرفته را پیاده‌سازی می‌کنید، باید در صفحه‌ای که کاربر رضایت خود را اعلام می‌کند، یک دستور به‌روزرسانی فراخوانی کنید.

وقتی صفحه‌ای با عدم رضایت بارگذاری می‌شود و سپس پس از تغییر رضایت، با رضایت پذیرفته‌شده دوباره بارگذاری می‌شود، تگ‌های گوگل ممکن است نکات کلیدی داده را از صفحه اصلی از دست بدهند. هرگونه گزارش بعدی ممکن است ناقص باشد.

برای مثال، در گوگل آنالیتیکس، بسیاری از جلسات با رضایت کاربر ممکن است فاقد رویداد session_start باشند.

برای جلوگیری از این مشکل، هر زمان که وضعیت رضایت کاربر تغییر کرد، دستور update را فراخوانی کنید.

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

در صورت امکان، مطمئن شوید که دستورات به‌روزرسانی قبل از بارگذاری مجدد صفحه، ثبت (log) می‌شوند.

مراحل بعدی

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

اگر از تگ‌های قدیمی مانند ga.js، analytics.js یا conversion.js استفاده می‌کنید، آن‌ها را به gtag.js یا Google Tag Manager به‌روزرسانی کنید.

برای کسب اطلاعات بیشتر در مورد کنترل‌های حریم خصوصی سایر برچسب‌های قدیمی، به مستندات زیر مراجعه کنید: