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

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

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

قبل از شروع

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

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

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

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

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

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

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

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

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

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

اگر بنر شما به صورت ناهمزمان بارگیری می شود، ممکن است همیشه قبل از تگ های Google اجرا نشود. برای رسیدگی به چنین شرایطی، 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
  });

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

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

برای ارسال وضعیت رضایت کاربر، از دستور 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 استفاده کنید. از gtagSet API می توان برای تنظیم اختیاری تنظیمات ads_data_redaction و URL به صورت مناسب استفاده کرد.

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

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

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

  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>

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

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

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

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

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

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

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

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

مثال زیر 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' برای کاربرانی در ایالات متحده که در CA نیستند اعمال می شود
US-CA 'denied' برای کاربران US-CA اعمال می شود
نامشخص 'granted' از مقدار پیش‌فرض 'granted' استفاده می‌کند. در مثال، برای بازدیدکنندگانی که در ایالات متحده یا ایالات متحده آمریکا نیستند، اعمال می‌شود

اطلاعات کلیک آگهی، شناسه مشتری، و شناسه جلسه را در URL ها ارسال کنید

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

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

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

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

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

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

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

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

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

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

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

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

  1. در Tag Manager به قسمت Fields to Set بروید و Tag Configuration > Fields to Set را انتخاب کنید.
  2. وقتی بخش Fields to Set بزرگ شد، روی Add Row کلیک کنید.
  3. برای نام فیلد ، url_passthrough وارد کنید.
  4. برای مقدار ، «true» را وارد کنید.
  5. برچسب را ذخیره و منتشر کنید.

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

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

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

  • gclid
  • dclid
  • gclsrc
  • _gl
  • wbraid

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

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

ویرایش داده های تبلیغات

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

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

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

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

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

مسائل رایج

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

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

به عنوان مثال، در Google Analytics، بسیاری از جلسات با رضایت ممکن است یک رویداد session_start را از دست بدهند.

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

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

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

مراحل بعدی

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

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

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