هذه الصفحة مخصّصة للمطوّرين الذين يستخدمون حلّاً خاصًا بهم لطلب الموافقة على مواقعهم الإلكترونية ويريدون دمج "وضع الموافقة". للحصول على مقدّمة عن "وضع الموافقة"، يمكنك الاطّلاع على نظرة عامة على "وضع الموافقة". إذا كنت تستخدم منصّة إدارة موافقة (CMP) للحصول على موافقة المستخدمين، يمكنك الاطّلاع على مزيد من المعلومات حول كيفية إعداد "وضع الموافقة" باستخدام منصّة إدارة الموافقة.
يمكنك تنفيذ "وضع الموافقة" بطريقة أساسية أو متقدّمة. راجِع إرشادات شركتك لاختيار طريقة التنفيذ والإعدادات التلقائية التي يجب ضبطها. مزيد من المعلومات عن الفرق بين "وضع الموافقة" الأساسي والمتقدّم
قبل البدء
يُرجى مراعاة ما يلي قبل تنفيذ "وضع الموافقة":
إذا كنت تستخدم أداة "إدارة العلامات من Google" وتريد الاحتفاظ بالبانر الخاص بك، ننصحك بتحميل البانر من خلال حاوية "إدارة العلامات من Google". لإجراء ذلك، عليك إنشاء نموذج "وضع الموافقة". بدلاً من ذلك، يمكنك استخدام نموذج "وضع الموافقة" من معرض نماذج المنتدى.
إذا كنت تستخدم gtag.js، تأكَّد من تثبيت "علامة Google" على كل صفحة من صفحات موقعك الإلكتروني. يتمّ إضافة رمز "وضع الموافقة" إلى كل صفحة من صفحات موقعك الإلكتروني.
إعداد وضع الموافقة
لإعداد "وضع الموافقة"، عليك تنفيذ ما يلي:- قبل أن يمنح المستخدِم موافقته، عليك ضبط حالة الموافقة التلقائية.
- تعديل حالة الموافقة استنادًا إلى تفاعل المستخدم مع إعدادات الموافقة
ضبط حالة الموافقة التلقائية
اضبط قيمة تلقائية لكل نوع موافقة تستخدمه. لا يتم ضبط أي قيم لوضع الموافقة تلقائيًا.
من أفضل الممارسات تحديد نطاق إعدادات الموافقة التلقائية ليشمل المناطق التي تعرض فيها بانرات الموافقة لزوّارك. يساعد ذلك في الحفاظ على إمكانية القياس في المناطق التي تتطلّب بانرات الموافقة، وتعدّل علامات Google سلوكها وفقًا لذلك. يمكنك أيضًا منع أي فقدان للبيانات في الحالات التي لا تتوفّر فيها بانرات الموافقة أو لا تنطبق فيها بانرات الموافقة. اطّلِع على السلوك الخاص بكل منطقة.
gtag.js
لضبط إمكانات القياس التلقائية، استخدِم الأمر 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"، يمكنك إنشاء نموذجك الخاص باستخدام واجهات برمجة التطبيقات الخاصة بميزة "وضع الموافقة" في "إدارة العلامات من Google". يتوفّر المثال التالي للاستعانة به كنقطة بداية.
استخدِم واجهات برمجة التطبيقات الخاصة بأداة "إدارة العلامات من Google" لإدارة حالات الموافقة setDefaultConsentState وupdateConsentState. يمكن استخدام واجهة برمجة التطبيقات gtagSet لضبط إعدادات ads_data_redaction وتمرير عنوان URL بشكل اختياري حسب الاقتضاء.
تعديل حالة الموافقة
gtag.js
لإرسال حالة موافقة المستخدم، استخدِم الأمر 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.
gtag.js
ترتيب الرمز هنا مهم للغاية. إذا تم استدعاء رمز الموافقة بترتيب غير صحيح، لن تعمل الإعدادات التلقائية للموافقة. قد تختلف التفاصيل حسب متطلبات النشاط التجاري، ولكن بشكل عام، يجب أن يتم تنفيذ الرمز بالترتيب التالي:
حمِّل علامة Google. هذا هو رمز المقتطف التلقائي. يجب تعديل المقتطف التلقائي (انظر أدناه) ليشمل طلبًا إلى
gtag('consent', 'default', ...).حمِّل حلّ الموافقة. إذا كانت حلول الموافقة يتم تحميلها بشكل غير متزامن، اطّلِع على مقالة التكامل مع منصات إدارة الموافقة غير المتزامنة لمعرفة كيفية التأكّد من حدوث ذلك بالترتيب الصحيح.
إذا لم يتم التعامل معها من خلال حلّ الموافقة، استخدِم الأمر
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"، ننصح باستخدام منصّة إدارة موافقة للتعامل مع تعديلات خيارات موافقة الزوّار. توفّر منصّات إدارة الموافقة نماذج في معرض نماذج المنتدى لإنشاء علامة لإدارة "وضع الموافقة".
إذا لم يكن من الممكن استخدام نموذج، يمكنك بدلاً من ذلك تعديل الرمز على صفحتك باتّباع الخطوات التالية. ترتيب الرمز هنا مهم للغاية. إذا تم استدعاء رمز الموافقة بترتيب غير صحيح، لن تعمل الإعدادات التلقائية للموافقة.
<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>
الترقية إلى الإصدار 2 من "وضع الموافقة"
في إطار التزام Google المستمرّ بتوفير منظومة متكاملة للإعلانات الرقمية تركّز على الخصوصية، نعمل على تنفيذ سياسة موافقة المستخدم في الاتحاد الأوروبي بشكل أكثر صرامة.
على مستخدمي "وضع الموافقة" إرسال مَعلمتَين جديدتَين بالإضافة إلى ad_storage
وanalytics_storage:
| اسم الحقل | القيم المسموح بها | الوصف |
|---|---|---|
ad_user_data
|
'granted' | 'denied'
|
لضبط الموافقة على إرسال بيانات المستخدمين المرتبطة بالإعلانات إلى Google |
ad_personalization
|
'granted' | 'denied'
|
من أجل ضبط الموافقة على الإعلانات المخصَّصة. |
المزيد من ميزات "وضع الموافقة"
تشمل ميزات الموافقة المتقدّمة إمكانية تنفيذ ما يلي:
- تحديد خدمات Google التي تشارك البيانات معها باستخدام واجهة مستخدم "علامة Google"
- ضبط السلوك لمنطقة جغرافية
- تمرير معلومات النقرات على الإعلانات ومعرّف العميل ومعرّف الجلسة في عناوين URL عندما لا يوافق المستخدمون على استخدام ملفات تعريف الارتباط
- إخفاء معلومات الإعلان بالكامل (إزالتها) عندما يرفض المستخدمون الموافقة على ملفات تعريف ارتباط الإعلانات
السلوك الخاص بالمنطقة
لضبط حالات الموافقة التلقائية التي تنطبق على الزوّار من مناطق معيّنة، حدِّد منطقة (وفقًا لمعيار ISO 3166-2) في أمر الموافقة التلقائي الخاص بعلامة الموقع الشاملة (gtag). يتيح لك استخدام قيم المناطق الالتزام باللوائح التنظيمية الخاصة بكل منطقة.
يمكنك ضبط قيم تلقائية لمناطق معيّنة، ثم ضبط قيمة تلقائية مختلفة لجميع المناطق الأخرى. يؤدي أمر الموافقة التلقائي في gtag بدون مَعلمة منطقة إلى ضبط الإعداد التلقائي لجميع الزوّار غير المشمولين بأمر آخر خاص بمنطقة معيّنة.
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 للمنطقة US وad_storage على denied للمنطقة US-CA، سيتم تطبيق الإعداد الأكثر تحديدًا US-CA على الزائر من كاليفورنيا. في هذا المثال، يعني ذلك أنّ الزائر من الولايات المتحدة وكاليفورنيا سيتم ضبط قيمة ad_storage على denied.
| المنطقة | ad_storage |
السلوك |
|---|---|---|
| الولايات المتحدة | 'granted' |
ينطبق على المستخدمين في الولايات المتحدة الذين ليسوا في كاليفورنيا |
| US-CA | 'denied' |
ينطبق على المستخدمين في الولايات المتحدة وكندا |
| غير محدّد | 'granted' |
يتم استخدام القيمة التلقائية 'granted'. في المثال، ينطبق ذلك على الزوّار الذين لا يقيمون في الولايات المتحدة أو في الولايات المتحدة وكندا
|
نقل معلومات النقرة على الإعلان ومعرّف العميل ومعرّف الجلسة في عناوين URL
عندما يصل مستخدم إلى موقعك الإلكتروني بعد النقر على إعلان، قد تتم إضافة معلومات عن الإعلان إلى عناوين URL الخاصة بصفحتك المقصودة كمَعلمة طلب بحث. لتحسين دقة الأحداث الرئيسية، يتم عادةً تخزين هذه المعلومات في ملفات تعريف الارتباط الخاصة بالطرف الأول على نطاقك.
ومع ذلك، إذا تم ضبط ad_storage على denied، لن يتم تخزين هذه المعلومات محليًا. لتحسين جودة قياس النقرات على الإعلانات عندما تكون قيمة ad_storage هي denied،
يمكنك اختياريًا اختيار تمرير معلومات عن النقرات على الإعلانات من خلال
مَعلمات عناوين URL على مستوى الصفحات باستخدام ميزة "تمرير عناوين URL".
وبالمثل، إذا تم ضبط analytics_storage على denied، يمكن استخدام ميزة "تمرير المَعلمات في عناوين URL" لإرسال الإحصاءات المستندة إلى الأحداث والجلسات (بما في ذلك الأحداث الرئيسية) بدون ملفات تعريف الارتباط على مستوى الصفحات.
يجب استيفاء الشروط التالية لاستخدام ميزة "تمرير عنوان URL":
- تتضمّن صفحتك علامة Google التي تراعي الموافقة.
- فعّل المعلِن ميزة "تمرير عنوان URL".
- تم تنفيذ "وضع الموافقة" على الصفحة.
- يشير الرابط الصادر إلى النطاق نفسه الذي يشير إليه نطاق الصفحة الحالية.
يتوفّر معرّف النقرة من Google أو معرّف النقرة من DoubleClick في عنوان URL (علامات "إعلانات Google" وFloodlight فقط)
gtag.js
لتفعيل هذه الإمكانية، اضبط المَعلمة url_passthrough على true.
أضِف الأمر التالي إلى المقتطف التلقائي قبل أي أوامر config:
gtag('set', 'url_passthrough', true);
إدارة العلامات
إذا كنت تستخدم نموذجًا لإنشاء علامتك، قد يتضمّن عناصر التحكّم اللازمة لضبط ميزة "تمرير عنوان URL". إذا كنت بصدد إنشاء علامة نموذج بنفسك، اطّلِع على إنشاء نموذج "وضع الموافقة" للحصول على مزيد من المعلومات حول إعداد نقل البيانات عبر عنوان URL باستخدام واجهة برمجة التطبيقات المخصّصة gtagSet.
أو يمكنك استخدام الخيارات التالية لضبطها في "علامة ربط الإحالة الناجحة" و/أو علامات الإحصاءات
بالنسبة إلى علامات إعلانات Google وFloodlight:
لتفعيل هذه الإمكانية، أنشئ علامة ربط الإحالة الناجحة (أو استخدِم علامة حالية) وتأكَّد من وضع علامة في مربّع الاختيار تفعيل الربط في جميع عناوين URL للصفحات. اطّلِع على الإعداد الأساسي للحصول على تعليمات حول كيفية إنشاء علامة ربط إحالة ناجحة.
بالنسبة إلى علامات إحصاءات Google:
في أداة "إدارة العلامات من Google"، انتقِل إلى الحقول المطلوب ضبطها واختَر **إعدادات العلامة.
الحقول المطلوب ضبطها**.
- عند توسيع قسم "الحقول المطلوب ضبطها"، انقر على إضافة صف.
- بالنسبة إلى اسم الحقل، أدخِل
url_passthrough. - بالنسبة إلى القيمة، أدخِل "صحيح".
- احفظ العلامة وانشرها.
بدلاً من ذلك، يمكنك ضبط المَعلمة
url_passthroughعلىtrueفي كل صفحة من صفحات موقعك الإلكتروني قبل مقتطف التثبيت الخاص بـ "إدارة العلامات من Google".window.dataLayer = window.dataLayer || []; function gtag(){window.dataLayer.push(arguments);} gtag('set', 'url_passthrough', true);عند استخدام ميزة "تمرير عنوان URL"، قد تتم إضافة بعض مَعلمات طلب البحث إلى الروابط أثناء تنقّل المستخدمين بين صفحات موقعك الإلكتروني:
gcliddclidgclsrc_glwbraid
للحصول على أفضل النتائج، تأكَّد ممّا يلي:
- يجب أن تتضمّن عمليات إعادة التوجيه على موقعك الإلكتروني جميع مَعلمات طلب البحث المذكورة أعلاه.
- تتجاهل أدوات الإحصاء هذه المَعلمات في عناوين URL للصفحات.
- لا تتداخل هذه المَعلمات مع سلوك موقعك الإلكتروني.
إخفاء بيانات الإعلانات
عندما تكون قيمة ad_storage هي denied، لن يتم ضبط ملفات تعريف ارتباط جديدة لأغراض إعلانية. بالإضافة إلى ذلك، لن يتم استخدام ملفات تعريف الارتباط الخارجية التي تم إعدادها سابقًا على google.com وdoubleclick.net إلا لأغراض مكافحة الرسائل غير المرغوب فيها والاحتيال. ستظل البيانات المرسَلة إلى Google تتضمّن عنوان URL الكامل للصفحة، بما في ذلك أي معلومات عن النقر على الإعلان في مَعلمات عنوان URL.
gtag.js
لإخفاء المزيد من بيانات إعلاناتك عندما تكون قيمة ad_storage هي denied، اضبط قيمة ads_data_redaction على true.
gtag('set', 'ads_data_redaction', true);
عندما تكون قيمة ads_data_redaction هي true وقيمة ad_storage هي denied، سيتم إخفاء معرّفات النقرات على الإعلانات التي ترسلها علامات "إعلانات Google" وFloodlight في طلبات الشبكة. سيتم أيضًا إرسال طلبات الشبكة من خلال نطاق لا يستخدم ملفات تعريف الارتباط.
إدارة العلامات
إذا كنت تستخدم نموذجًا لإنشاء علامتك، قد يتضمّن عناصر التحكّم اللازمة لإخفاء المزيد من بيانات الإعلانات. إذا كنت بصدد إنشاء علامة نموذج بنفسك، اطّلِع على إنشاء نموذج "وضع الموافقة" لمزيد من المعلومات حول إخفاء بيانات الإعلانات.
المشاكل الشائعة
عدم تعديل الموافقة على صفحة انتقالية
عند تنفيذ "وضع الموافقة" المتقدّم، عليك استدعاء أمر تعديل في الصفحة التي يمنح فيها المستخدِم موافقته.
عندما يتم تحميل صفحة مع رفض الموافقة ثم إعادة تحميلها مع منح الموافقة بعد تغيير الموافقة، قد تفقد علامات Google نقاط بيانات رئيسية من الصفحة الأصلية. وقد تكون أي تقارير لاحقة غير مكتملة.
على سبيل المثال، في "إحصاءات Google"، قد لا يتوفّر حدث session_start في العديد من الجلسات التي تمّت الموافقة عليها.
لتجنُّب هذه المشكلة، استخدِم أمر التعديل كلّما تغيّرت حالة موافقة أحد المستخدِمين.
تعديل الموافقة مباشرةً قبل إعادة تحميل الصفحة
في بعض الحالات، عندما يتم تعديل نوع الموافقة من "مرفوضة" إلى "ممنوحة"، قد ترسل علامات Google قياسات استنادًا إلى هذا التعديل. إذا تم استدعاء أمر التحديث عندما يتم إلغاء تحميل الصفحة، قد يلغي المتصفح حركة بيانات الشبكة هذه قبل اكتمالها. وقد تكون أي تقارير لاحقة غير مكتملة.
إذا كان ذلك ممكنًا، تأكَّد من تسجيل أوامر التحديث قبل إلغاء تحميل الصفحة بوقت كافٍ.
الخطوات التالية
عناصر التحكّم في العلامات القديمة
إذا كنت تستخدم علامات قديمة، مثل ga.js أو analytics.js أو conversion.js، عليك الترقية إلى gtag.js أو "إدارة العلامات من Google".
لمزيد من المعلومات حول عناصر التحكّم الأخرى في الخصوصية الخاصة بالعلامات القديمة، راجِع المستندات التالية: