كيف تحجب السكربتات إلى حين منح الموافقة: مقارنة بين ثلاث طرق
المشكلة: وسوم تعمل مبكرًا جدًا
لا يعمل بانر الموافقة إلا إذا احترمت الوسوم الكامنة وراءه اختيار الزائر. وأكثر الإخفاقات شيوعًا بسيط: يظهر البانر، لكن سكربتات التحليلات والإعلانات تكون قد حُمّلت بالفعل ووضعت معرّفات قبل أن ينقر أي أحد على شيء. ويعني إصلاح ذلك حجب السكربتات إلى حين منح الموافقة. وهناك ثلاث طرق عملية لذلك.
الطريقة 1: إعادة كتابة نوع السكربت
لا تنفّذ المتصفحات عنصر script إلا إذا كان نوعه من أنواع JavaScript. فإذا غيّرت النوع إلى text/plain، يتجاهل المتصفح السكربت. ثم تضيف سمة data تسجّل فئة الموافقة التي ينتمي إليها السكربت:
- غيّر
type="text/javascript"إلىtype="text/plain". - أضف سمة مثل
data-category="analytics". - عندما يوافق الزائر على تلك الفئة، يعيد محمِّل صغير النوع إلى أصله ويُدرج السكربت ليعمل.
مناسبة لـ: عدد قليل من السكربتات المعروفة، المضمَّنة أو الخارجية، في قوالبك. انتبه إلى: السكربتات التي تحقنها سكربتات أخرى، فهي لا تمر بقوالبك ولذلك لا تُعاد كتابتها أبدًا.
الطريقة 2: التحكم بالوسوم في مدير الوسوم
إذا كانت وسومك في Google Tag Manager أو أداة مشابهة، يمكنك ترك الحاوية في الصفحة والتحكم بالتشغيل عبر مشغّلات تراعي الموافقة. يُعطى كل وسم شرط موافقة، ولا يشغّله مدير الوسوم إلا عندما تكون حالة الموافقة المطابقة ممنوحة. الميزة الكبرى هي التحكم المركزي: يستطيع فريق التسويق إضافة وسوم دون المساس بالقوالب، وتنتقل القاعدة مع الوسم.
مناسبة لـ: المواقع ذات الوسوم التسويقية الكثيرة. انتبه إلى: السكربتات المكتوبة مباشرة في الكود خارج الحاوية، ووسوم HTML المخصصة التي تحمّل بدورها سكربتات إضافية.
الطريقة 3: تحميل السكربتات ديناميكيًا عند الموافقة
هنا تزيل وسوم script من الصفحة تمامًا وتكتب دالة تحقنها فقط بعد حدث الموافقة. وهذا هو الخيار الأنظف لتطبيقات الصفحة الواحدة وللمطورين الذين يريدون تحكمًا كاملًا:
- استمع إلى دالة رد النداء الخاصة بالموافقة من الـ CMP.
- تحقق من الفئات التي مُنحت.
- أنشئ عنصر script، وحدد مصدره، وألحقه بالمستند.
- نفّذ أي كود تهيئة في معالج load الخاص بالسكربت.
مناسبة لـ: التطبيقات الحديثة التي لها خطوة بناء. انتبه إلى: نسيان التعامل مع الزائر العائد، إذ يجب أن يؤدي اختياره المخزَّن إلى التحميل عند تحميل الصفحة دون نقرة جديدة.
التعامل مع سحب الموافقة
الحجب قبل الموافقة نصف المهمة فقط. إذا سحب الزائر موافقته لاحقًا، فتوقف عن استدعاء الأدوات وتأكد من أنها لا تواصل قراءة المعرّفات أو كتابتها. وإزالة السكربت من الصفحة لا تزيل الكود الموجود أصلًا في الذاكرة، لذا فإعادة تحميل الصفحة بعد السحب هي غالبًا أبسط نهج موثوق.
أي طريقة تختار؟
- سكربتات قليلة وقوالب تُنتَج على الخادم: الطريقة 1.
- وسوم تسويقية كثيرة يعدّلها غير المطورين: الطريقة 2.
- تطبيق صفحة واحدة أو واجهة أمامية مخصصة: الطريقة 3.
- غالبًا ما تجمع البيئات المختلطة بين طريقتين منها. فقط تأكد من ألا يبقى أي وسم خارج نطاقهما معًا.
كيف تختبر ذلك
- افتح نافذة خاصة بعد مسح ذاكرة التخزين المؤقت.
- افتح أدوات المطور في المتصفح على تبويبَي Network وApplication قبل تحميل الصفحة.
- حمّل الصفحة ولا تلمس البانر. تأكد من عدم إرسال أي طلبات تحليلات أو إعلانات ومن عدم ظهور ملفات ارتباط أو عناصر تخزين متعلقة بها.
- اقبل فئة واحدة فقط وتأكد من تحميل السكربتات المطابقة وحدها.
- ارفض كل شيء، وأعد التحميل، وكرر الفحص الأول.
- اسحب الموافقة وتحقق من السلوك الموصوف أعلاه.
أين يندرج FlexyConsent
يدعم FlexyConsent معيار IAB TCF 2.4 وGoogle Consent Mode v2، وهو CMP معتمد من Google (معرّف CMP ID 317). أيًّا كانت طريقة الحجب التي تختارها، فمهمة البانر أن يعطي كودك إشارة واضحة بما اختاره الزائر. ومهمتك أنت أن تتأكد من أن كل سكربت يلتزم بها.
أهم النقاط
- السكربتات التي تُحمَّل قبل أن يختار الزائر تُبطل الغرض من البانر.
- إعادة كتابة النوع ومشغّلات مدير الوسوم والتحميل الديناميكي، كلٌّ منها يناسب نوعًا مختلفًا من المواقع.
- السكربتات التي تحقنها سكربتات أخرى هي أكثر مصادر التسرب شيوعًا.
- تعامل مع الزوار العائدين وسحب الموافقة، لا مع الزيارة الأولى فقط.
- اختبر في نافذة خاصة نظيفة وأدوات المطور مفتوحة قبل أن تلمس البانر.