إعداد وضع الموافقة في المواقع الإلكترونية

هذه الصفحة مخصّصة للمطوّرين الذين يحافظون على حلّ طلب الموافقة الخاص بهم على موقعهم الإلكتروني ويريدون دمج "وضع الموافقة". للحصول على مقدّمة عن "وضع الموافقة"، اطّلِع على نظرة عامة على "وضع الموافقة". إذا كنت تستخدِم منصّة لإدارة الموافقة (CMP) للحصول على موافقة المستخدِم، يمكنك الاطّلاع على مزيد من المعلومات عن كيفية إعداد "وضع الموافقة" باستخدام منصّة لإدارة الموافقة.

يمكنك تنفيذ ميزة "وضع الموافقة" بطريقة أساسية أو متقدّمة. اطّلِع على إرشادات شركتك لاختيار طريقة التنفيذ والإعداد التلقائي. مزيد من المعلومات عن مقارنة بين ميزة "وضع الموافقة" الأساسية وميزة "وضع الموافقة" المتقدّمة

قبل البدء

يُرجى مراعاة ما يلي قبل تنفيذ "وضع الموافقة":

  • إذا كنت تستخدِم أداة "إدارة العلامات من Google" وتريد الاحتفاظ ببانر خاص بك، فإنّ الأسلوب المُقترَح هو تحميل البانر من خلال حاوية أداة "إدارة العلامات من Google". ولإجراء ذلك، عليك إنشاء نموذج لميزة "وضع الموافقة". بدلاً من ذلك، يمكنك استخدام نموذج وضع الموافقة من معرض نماذج المنتدى.

  • إذا كنت تستخدم مقتطف gtag.js، تأكَّد من تثبيت علامة Google في كل صفحة من صفحات موقعك الإلكتروني. تتم إضافة رمز وضع الموافقة إلى كل صفحة من صفحات موقعك الإلكتروني.

لإعداد "وضع الموافقة"، عليك تنفيذ ما يلي:
  1. قبل أن يمنح المستخدم موافقته: اضبط الحالة التلقائية للموافقة.
  2. تعديل حالة الموافقة استنادًا إلى تفاعل المستخدِم مع إعدادات الموافقة

اضبط قيمة تلقائية لكل نوع موافقة تستخدمه. لا يتم تلقائيًا ضبط أي قيم لوضع الموافقة.

من أفضل الممارسات ضبط إعدادات الموافقة التلقائية على المناطق التي تعرض فيها بانر الموافقة للزوّار. يساعد ذلك في الحفاظ على القياس في المناطق التي تتطلّب عرض بانر الموافقة وتعديل علامات Google سلوكها وفقًا لذلك. يمكنك أيضًا منع أيّ فقدان في القياس في حال عدم توفّر بانر موافقة أو عدم تطبيق بانر الموافقة. راجِع السلوك المرتبط بمنطقة معيّنة.

لضبط إمكانات القياس التلقائية، استخدِم الأمر gtag('consent', 'default', ...) في كل صفحة من صفحات موقعك الإلكتروني قبل أي أوامر تؤدي إلى إرسال بيانات القياس (مثل config أو event).

على سبيل المثال، لضبط الموافقة على "رفض" لجميع المَعلمات تلقائيًا:

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

اختياري: الدمج مع منصّات إدارة الموافقة غير المتزامنة

إذا كان التحميل في البانر غير متزامن، قد لا يتم تشغيله في بعض الأحيان قبل علامات Google. لحلّ هذه المشاكل، حدِّد wait_for_update مع قيمة ملي ثانية للتحكّم في المدة التي يجب الانتظار خلالها قبل إرسال البيانات.

على سبيل المثال، لرفض ad_storage على صفحة معيّنة تلقائيًا، ولكن السماح لمنصّة إدارة الموافقة بتعديل حالة الموافقة، استخدِم wait_for_update. في الرمز المعروض أدناه، تكون القيمة التلقائية للمتغيّر ad_storage هي denied، ويتم منح أداة الموافقة مهلة تبلغ 500 مللي ثانية للاتّصال بـ gtag('consent', 'update', ...) قبل تنشيط العلامات:

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

عند استخدام أداة "إدارة العلامات من Google"، أنشئ نموذجك الخاص باستخدام واجهات برمجة تطبيقات Consent API في أداة "إدارة العلامات من Google". يمكنك الرجوع إلى المثال التالي كمرجع لتحديد نقطة البداية.

استخدِم واجهات برمجة التطبيقات الخاصة بأداة "إدارة العلامات من Google" لإدارة حالتَي الموافقة setDefaultConsentState وupdateConsentState. يمكن استخدام واجهة برمجة التطبيقات gtagSet لضبط إعدادات السماح بمرور ads_data_redaction وعنوان URL بشكل اختياري حسب الحاجة.

لإرسال حالة موافقة المستخدم، استخدِم الأمر update. بما أنّ "وضع الموافقة" لا يحفظ خيارات الموافقة، عليك تعديل حالة الموافقة فور تفاعل أحد المستخدِمين مع حلّ إدارة الموافقات. بعد أن يمنح أحد المستخدِمين الموافقة، يجب الاحتفاظ بخياره واستدعاء أمر التعديل وفقًا لذلك في الصفحات اللاحقة.

عليك التأكّد من ضبط القيم الصحيحة لجميع أنواع الموافقة. للاطّلاع على التفاصيل الكاملة عن الأنواع المتوافقة، يُرجى قراءة مرجع واجهة برمجة التطبيقات.

يوضّح مثال الرمز البرمجي التالي كيفية تعديل حالة الموافقة إلى 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>

عند استخدام نموذج "وضع الموافقة"، من المفترض أن يتم تعديل موافقة المستخدِم تلقائيًا عند تفاعله مع البانر.

إذا أنشأت نموذجًا لميزة "وضع الموافقة" بنفسك، استخدِم واجهات برمجة التطبيقات الخاصة بأداة "إدارة العلامات من Google" لإدارة حالتَي الموافقة setDefaultConsentState و updateConsentState. يمكن استخدام واجهة برمجة التطبيقات gtagSet لضبط إعدادات ads_data_redaction وإعدادات تمرير عنوان URL اختياريًا حسب الاقتضاء.

مثال على التنفيذ

يضبط المثال التالي مَعلمات متعددة لوضع الموافقة على denied بشكلٍ تلقائي. بعد أن يشير المستخدِم إلى خيارات الموافقة، تتم معالجة المَعلمات ذات الصلة وتعديلها إلى granted.

إنّ ترتيب الرمز هنا مهم جدًا. إذا تمّ استدعاء رمز الموافقة خارج الترتيب، لن تعمل الإعدادات التلقائية للموافقة. استنادًا إلى متطلبات النشاط التجاري، قد تختلف التفاصيل، ولكن بشكل عام، يجب تنفيذ الرمز بالترتيب التالي:

  1. حمِّل علامة Google. هذا هو رمز المقتطف التلقائي. يجب تعديل مقتطف التلقائي (راجِع المعلومات أدناه) لتضمين طلب إلى 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>

بالنسبة إلى المواقع الإلكترونية التي تستخدم أداة "إدارة العلامات من Google"، ننصحك باستخدام منصّة إدارة الموافقة (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 على "وضع الموافقة" في ما يتعلّق بزيارات المنطقة الاقتصادية الأوروبية.

على مستخدِمي "وضع الموافقة" إرسال مَعلمتَين جديدتَين بالإضافة إلى ad_storage وanalytics_storage:

اسم الحقل القيم المسموح بها الوصف
ad_user_data 'granted' | 'denied' لضبط الموافقة على إرسال بيانات المستخدِمين المرتبطة بالإعلانات إلى Google
ad_personalization 'granted' | 'denied' لضبط الموافقة على الإعلانات المخصّصة

تشمل ميزات الموافقة المتقدّمة إمكانية تنفيذ ما يلي:

  • ضبط خدمات Google التي تشارك البيانات معها باستخدام واجهة مستخدم علامة Google
  • ضبط السلوك لمنطقة جغرافية
  • تمرير معلومات النقر على الإعلان ورقم تعريف العميل ورقم تعريف الجلسة في عناوين URL عندما لا يمنح المستخدمون الموافقة على ملفات تعريف الارتباط
  • إخفاء معلومات الإعلانات بالكامل (إزالتها) عندما يرفض المستخدمون الموافقة على ملفات تعريف ارتباط الإعلانات

السلوك الخاص بالمنطقة

لتغيير السلوك التلقائي لعلاماتك للمستخدمين من مناطق معيّنة، حدِّد منطقة في أمر الموافقة. من خلال تقديم قيمة منطقة، يمكنك تحسين الإعدادات التلقائية استنادًا إلى المواقع الجغرافية للمستخدِمين. اطّلِع على المعرّفات الجغرافية للحصول على مزيد من المعلومات عن تحديد المناطق.

في المثال التالي، يتم ضبط 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 للمنطقة الولايات المتحدة-كاليفورنيا، سيتم تطبيق الإعداد الأكثر تحديدًا "الولايات المتحدة-كاليفورنيا" على الزائر من كاليفورنيا. في هذا المثال، يعني ذلك أنّ القيمة ad_storage ستُضبط على denied للزائر من الولايات المتحدة وكندا.

المنطقة ad_storage السلوك
الولايات المتحدة 'granted' تنطبق على المستخدمين في الولايات المتحدة الذين لا يقيمون في كندا
الولايات المتحدة-كندا 'denied' ينطبق على المستخدمين في الولايات المتحدة وكندا
غير محدّد 'granted' يتم استخدام القيمة التلقائية 'granted'. في المثال، ينطبق ذلك على الزوّار الذين لا يقيمون في الولايات المتحدة أو في الولايات المتحدة وكندا.

تمرير معلومات النقرة على الإعلان ورقم تعريف العميل ورقم تعريف الجلسة في عناوين URL

عندما يصل المستخدِم إلى موقعك الإلكتروني بعد النقر على إعلان، قد تتم إضافة معلومات عن الإعلان إلى عناوين URL لصفحاتك المقصودة كمَعلمة طلب بحث. لتحسين دقة الأحداث الرئيسية، يتم عادةً تخزين هذه المعلومات في ملفات تعريف الارتباط للطرف الأول على نطاقك.

ومع ذلك، في حال ضبط القيمة ad_storage على denied، لن يتم تخزين هذه المعلومات على الجهاز. لتحسين جودة قياس النقرات على الإعلانات عندما يكون ad_storage‏= denied، يمكنك اختياريًا تمرير معلومات عن النقرات على الإعلانات من خلال مَعلمات عناوين URL على مستوى الصفحات باستخدام ميزة تمرير عنوان URL.

وبالمثل، في حال ضبط analytics_storage على denied، يمكن استخدام ميزة تمرير عناوين URL لإرسال إحصاءات مستندة إلى الأحداث والجلسات (بما في ذلك الأحداث الرئيسية) بدون ملفات تعريف الارتباط على مستوى الصفحات.

يجب استيفاء الشروط التالية لاستخدام ميزة "تمرير عنوان URL":

  • أن تكون علامة Google مدركة للموافقة ومعروضة على الصفحة
  • فعَّل المعلِن ميزة تمرير عنوان URL.
  • تم تنفيذ "وضع الموافقة" على الصفحة.
  • يشير الرابط الصادر إلى النطاق نفسه الذي يشير إليه نطاق الصفحة الحالية.
  • توفُّر معرّف النقرة من Google ‏(GCLID) أو معرّف النقرة على DoubleClick ‏(DCLID) في عنوان URL (علامات "إعلانات Google" وFloodlight فقط)

لتفعيل هذه الميزة، اضبط المَعلمة url_passthrough على true. أضِف الأمر التالي إلى المقتطف التلقائي قبل أي أوامر config:

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

إذا كنت تستخدِم نموذجًا لإنشاء علامتك، قد يحتوي على عناصر التحكّم اللازمة لتحديد السماح بمرور عنوان URL. إذا كنت بصدد إنشاء علامة نموذج بنفسك، اطّلِع على إنشاء نموذج وضع الموافقة للحصول على مزيد من المعلومات عن ضبط gtagSet

أو يمكنك استخدام الخيارات التالية لضبطها في "علامة ربط الإحالات الناجحة" و/أو علامات تحليلات Google.

بالنسبة إلى علامات إعلانات Google وFloodlight:

لتفعيل هذه الميزة، أنشئ علامة رابط إحالة ناجحة (أو استخدِم علامة حالية) وتأكّد من وضع علامة في المربّع بجانب تفعيل الربط في جميع عناوين URL للصفحات. اطّلِع على الإعداد الأساسي للحصول على تعليمات عن كيفية إنشاء علامة ربط إحالة ناجحة.

بالنسبة إلى علامات إحصاءات Google:

  1. في أداة "إدارة العلامات من Google"، انتقِل إلى الحقول المطلوب إعدادها واختَر إعدادات العلامة > الحقول المطلوب إعدادها.
  2. عند توسيع قسم "الحقول المطلوب ضبطها"، انقر على إضافة صف.
  3. بالنسبة إلى اسم الحقل، أدخِل url_passthrough.
  4. بالنسبة إلى القيمة، أدخِل "صحيح".
  5. احفظ العلامة وانشرها.

بدلاً من ذلك، يمكنك ضبط المَعلمة url_passthrough على true في كل صفحة من صفحات موقعك الإلكتروني قبل مقتطف تثبيت أداة "إدارة العلامات من Google".

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.

لمزيد من إخفاء بيانات إعلاناتك عندما يكون ad_storage هو denied، اضبط ads_data_redaction على true.

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

عندما يكون ads_data_redaction هو true وad_storage هو denied، سيتم إخفاء معرّفات النقرات على الإعلانات المُرسَلة في طلبات الشبكة من خلال علامات "إعلانات Google" وFloodlight. سيتم أيضًا إرسال طلبات الشبكة من خلال نطاق لا يتضمّن ملفات تعريف ارتباط.

إذا كنت تستخدِم نموذجًا لإنشاء علامتك، قد يحتوي على عناصر التحكّم اللازمة لمزيد من إخفاء بيانات الإعلانات. إذا كنت بصدد إنشاء علامة نموذج بنفسك، اطّلِع على مقالة إنشاء نموذج "وضع الموافقة" للحصول على مزيد من المعلومات عن إخفاء data الإعلانات.

المشاكل الشائعة

عند تنفيذ وضع الموافقة المتقدّم، عليك استدعاء أمر تعديل في الصفحة التي يمنح فيها المستخدِم موافقته.

عند تحميل صفحة مع رفض الموافقة ثم إعادة تحميلها بعد منح الموافقة بعد تغيير الموافقة، قد تفقد علامات Google نقاط البيانات الرئيسية من الصفحة الأصلية. قد تكون أي تقارير لاحقة غير مكتملة.

على سبيل المثال، في "إحصاءات Google"، قد لا يتوفّر حدث session_start في العديد من الجلسات التي حصلت على موافقة.

لتجنُّب هذه المشكلة، استخدِم الأمر update عند تغيُّر حالة موافقة المستخدِم.

في بعض الحالات، عندما يتم تعديل نوع الموافقة من مرفوضة إلى مُمنوحة، قد تُرسِل علامات Google قياسات استنادًا إلى هذا التعديل. إذا تمّت دعوة الأمر update أثناء إزالة تحميل الصفحة، قد يلغي المتصفّح عدد الزيارات إلى الشبكة هذا قبل اكتماله. قد تكون أي تقارير لاحقة غير مكتملة.

تأكَّد، إن أمكن، من تسجيل أوامر التعديل قبل إغلاق الصفحة.

الخطوات التالية

عناصر التحكّم في العلامات القديمة

إذا كنت تستخدِم علامات قديمة، مثل ga.js أو analytics.js أو conversion.js، عليك الترقية إلى gtag.js أو "إدارة العلامات من Google".

لمعرفة المزيد من المعلومات عن عناصر التحكّم في الخصوصية الأخرى للعلامات القديمة، يمكنك الاطّلاع على المراجع التالية: