إعداد TrustArc للحصول على موافقة المستخدم

للحصول على إحصاءات قيّمة مع الحفاظ على خصوصية المستخدمين في الوقت نفسه، عليك جمع موافقات مستخدمي موقعك الإلكتروني. ننصحك باستخدام منصّة لإدارة الموافقة (CMP) أو التعاون مع نظام إدارة المحتوى (CMS) الذي تستخدمه لجمع الموافقات وإرسالها إلى Google.

الخطوة 1: إعداد بانر موافقة

  1. إذا كنت تستخدِم الإصدار المتقدّم من خدمة "إدارة الشؤون التجارية والعقود" (الخدمة المُدارة)، سيتولّى المدير التقني للحسابات (TAM) إعداد البانر وفقًا للمتطلّبات وإرشادات النمط.
  2. إذا كنت تستخدِم الإصدار المحترف من "إدارة الشؤون التجارية والعقود" (منصّة إدارة موافقة (CMP) ذاتية الخدمة)، ستزوّدك TrustArc بعنوان URL لتسجيل الدخول إلى البوابة وإعداد البانر باستخدام النماذج المحدَّدة مسبقًا في المعالج.
  3. تأكَّد من توافق البانر مع المتطلّبات الواردة في "سياسة موافقة المستخدم في الاتّحاد الأوروبي" (EUUCP) من Google. لمزيد من التفاصيل عن إعداد بانر TrustArc، اطّلِع على قسم "البدء" في دليل المستخدِم.
  4. أدرِج عناصر <div> المسؤولة عن عرض البانر ورابط منصّة إدارة الموافقة، وذلك في الرمز البرمجي لموقعك الإلكتروني أو من خلال "إدارة العلامات من Google".

الخطوة 2: إعداد "وضع الموافقة"

استخدام "إدارة العلامات من Google"

  1. افتح إدارة العلامات من Google وانتقِل إلى حاويتك.
  2. في "العلامات"، انقر على "جديدة"، وأدخِل اسمًا لعلامتك.
  3. انقر على إعدادات العلامات، ثمّ انقر على "استكشاف المزيد من أنواع العلامات في معرض نماذج المنتدى". من المعرض، ابحث عن منصّة إدارة الموافقة من TrustArc (وضع الموافقة)، ثمّ ثبِّتها باستخدام TrustArc.
  4. اضبط الإعدادات التلقائية التي تريد استخدامها ضمن "إعدادات وضع الموافقة التلقائي" (Default Consent Mode settings).
  5. حدِّد الخيار نشر النصّ البرمجي لمنصّة إدارة الموافقة باستخدام النموذج (Deploy CMP Script using the template).
    1. في حقل رقم تعريف منصّة إدارة الموافقة (CMP ID)، أدخِل رقم تعريف المثيل المتاح في الخطوة 4. انسخ مقتطف الرمز لبوابة الإصدار المحترف من "إدارة الشؤون التجارية والعقود". إذا كنت تستخدم الإصدار المتقدّم من "إدارة الشؤون التجارية والعقود"، يستطيع مدير الحسابات التقنية منحك هذه المعلومات.
    2. في الحقل مَعلمات إضافية (Additional parameters)، أدخِل إعدادات إضافية للمثيل. تُستخدم هذه الإعدادات لإلغاء إعدادات الخلفية، مثل اللغة ورصد الموقع الجغرافي وروابط سياسة الخصوصية وما إلى ذلك.
  6. عليك إعداد عملية دمج "وضع الموافقة" من Google من خلال تفعيل خيار دمج منصّة إدارة الموافقة مع "وضع الموافقة" من Google‏ (Integrate CMP with Google Consent Mode).
  7. أبلِغ عن عملية الربط لأنواع الموافقة والخيارات المفضّلة للمستخدم وفقًا لإعداداتك. بالنسبة إلى كلّ نوع موافقة تستخدمه، اربطه برقم التعريف المقابل لحزمة قبول ملفّات تعريف الارتباط (المطلوبة أو الوظيفية أو الإعلانية). في حقل ملفّات تعريف الارتباط للإعدادات المفضّلة (Preferences Cookie)، اربط ملفّات تعريف الارتباط الخاصّة بالطرف الأوّل مع السمة cmapi_cookie_privacy. في حقل ملفّ تعريف ارتباط السلوك (Behavior Cookie)، اربط ملفّات تعريف الارتباط الخاصّة بالطرف الأوّل مع السمة notice_behavior.
  8. انقر على "التشغيل" (Triggering) > "إعداد الموافقة" (Consent Initialization) - "جميع الصفحات" (All Pages) > "حفظ" (Save).
  9. اختبِر الحاوية عن طريق النقر على معاينة (Preview) في أعلى يسار الصفحة (اطّلِع على تعليمات الاختبار أدناه).
  10. انشر حاويتك.

استخدام منصّات أخرى أو تعديل رمز الموقع الإلكتروني مباشرةً 

  1. سجِّل الدخول إلى بوابة دعم TrustArc‏ (TrustArc Support portal)، وافتح دليل "تنفيذ وضع الموافقة من Google في TrustArc"‏ (TrustArc Google Consent Mode Implementation Guide) منهذا الرابط، ثمّ اتّبِع التعليمات الواردة في قسم​​ دمج "وضع الموافقة" باستخدام JavaScript‏ (Integrating the Consent Mode Using JavaScript).
  2. إذا كنت تستخدم إحدى أدوات إنشاء المواقع الإلكترونية، راجِع مستنداتها لمعرفة كيفية تنفيذ الرمز في علامة Head لكلّ صفحة. وإلّا يمكنك التخطّي مباشرة إلى الخطوة 3.
  3. إذا كنت تستخدم الإصدار المتقدّم من "إدارة الشؤون التجارية والعقود"، يُرجى اتّباع هذه الخطوة. وإلّا يمكنك التخطّي مباشرة إلى الخطوة 4. في علامة Head لكلّ صفحة (راجع الخطوة 2 إذا كنت تستخدِم إحدى أدوات إنشاء المواقع الإلكترونية)، انسخ الرمز أدناه والصقه، ويليه النصّ البرمجي لمنصّة إدارة الموافقة الذي نسخته في الخطوة 1 في أعلى علامة Head. يُرجى العلم بأنّ هذا الإجراء مهمّ لضمان عمل منصّة إدارة الموافقة بشكلٍ سليم.

    <script>

    window.dataLayer = window.dataLayer || [];‎

    function gtag(){dataLayer.push(arguments);}

     

    gtag('js', new Date());‎

    gtag('config', 'AW-YYYYYY');‎

     

    // ضبط أنواع الموافقة التلقائية على "مرفوضة" كعنصر نائب

    // تحديد القيم الفعلية استنادًا إلى متطلّباتك الخاصّة

    // يُرجى حذف أنواع الموافقة التي لا يتمّ استخدامها

    gtag('consent', 'default', {‎

    ‎'ad_storage': 'denied',‎

    ‎'ad_user_data': 'denied',‎

    ‎'ad_personalization': 'denied',‎

    ‎'analytics_storage': 'denied',‎

    ‎'functionality_storage': 'denied',‎

    ‎'personalization_storage': 'denied',‎

    ‎'security_storage': 'denied',‎

    ‎'wait_for_update': 500

    });

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

    gtag('set', 'developer_id.dNTIxZG', true);‎

    </script>

    <!--Banner script here!-->

  4. إذا كنت تستخدم الإصدار الاحترافي من "إدارة الشؤون التجارية والعقود"، يُرجى اتّباع هذه الخطوة. في علامة Head لكلّ صفحة (راجع الخطوة 2 إذا كنت تستخدِم إحدى أدوات إنشاء المواقع الإلكترونية)، انسخ الرمز أدناه والصقه، ويليه النصّ البرمجي لمنصّة إدارة الموافقة الذي نسخته في الخطوة 1 في أعلى علامة Head. يُرجى العلم بأنّ هذا الإجراء مهمّ لضمان عمل منصّة إدارة الموافقة بشكلٍ سليم. يُرجى التأكُّد من تعديل الارتباط بين حِزم منصّة إدارة الموافقة وأنواع الموافقة.

    window.dataLayer = window.dataLayer || [];‎

    function gtag() { dataLayer.push(arguments); }

    gtag('js', new Date());‎

    gtag('config', 'GA_MEASUREMENT_ID');‎

    gtag('set', 'developer_id.dNTIxZG', true);‎

    // قائمة المهام: يمكن تغييرها حسب احتياجات العميل ووفقًا للإعدادات

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

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

    //حالة "وضع الموافقة"

    const ConsentType = {‎

    DENIED: 'denied',‎

    GRANTED: 'granted',‎

    };

     

    const convertBooleanToGrantedOrDenied = (boolean) => boolean ?‎ ConsentType.GRANTED : ConsentType.DENIED;‎

     

    /*

    قائمة المهام: يمكنك هنا ضبط "وضع الموافقة" من Google وربط تصنيف منصّة إدارة الموافقة والقيم التلقائية لإعداد الموافقة

    تنصح Google بالتعليق على الأنواع التي لن تستخدمها.

    */

    const domain = 'your_domain.com';‎ // قائمة المهام: تحديث

    // ربط الحزمة

    const REQUIRED = 1;‎

    const FUNCTIONAL = 2;‎

    const ADVERTISING = 3;‎

    const consentTypesMapped = {‎

    ‎'ad_storage': ADVERTISING,‎

    'ad_user_data': ADVERTISING,

    ‎'ad_personalization': FUNCTIONAL,‎

    ‎'analytics_storage': FUNCTIONAL,‎

    ‎'functionality_storage': FUNCTIONAL,‎

    ‎'personalization_storage': FUNCTIONAL,‎

    ‎'security_storage': REQUIRED‏

    }

    const getConsentState = (prefCookie) => {‎

    var consentStates = {};‎

    var noticeBehavior = window.truste.util.readCookie("notice_behavior");‎

    /*

    قائمة المهام: يمكن تغييرها حسب احتياجات العميل ووفقًا للإعدادات

    */

    var impliedLocation = noticeBehavior && noticeBehavior.includes("na");‎

    for (const consentType in consentTypesMapped) {‎

    var id = consentTypesMapped[consentType];‎

     

    if(prefCookie && !prefCookie.includes(0)) {‎

    console.log("Existing consent..");‎

    consentStates[consentType] = convertBooleanToGrantedOrDenied(prefCookie && prefCookie.includes(id));‎

    } else {

    console.log("Non Existing consent..");‎

    consentStates[consentType] = convertBooleanToGrantedOrDenied(impliedLocation);‎

    ;}

    ;}

    consentStates['wait_for_update'] = 500;‎

    console.log(consentStates);‎

    return consentStates;‎

    };

    /*

    دالّة مساعد لإرسال حدث GCM حسب الخيارات المفضّلة للمستخدم في النصّ البرمجي ضمن TrustArc

    الموافقة: سيكون عنصر الموافقة مصفوفة من القيم [1، 2، 3، n]، وتشير القيمة 1 إلى أنّ المستخدم وافق على طلب الموافقة، والقيمة 2 إلى التفعيل، وما إلى ذلك.

    يجب تخصيص هذه الدالّة وفقًا لعمليات الربط المطلوبة عند العميل. على سبيل المثال: يتمّ ربط ‎'ad_storage': returnGrantedOrDenied(advertisingAccepted) بالإعلانات. إذا تمّ تعيينها إلى دالّة، نحتاج فقط إلى تغيير متغيّر الحزمة الذي تبحث عنه. 

    */

     

    var runOnceGCM = 0;‎

    الدالّة handleConsentDecisionForGCM(consent) {‎

    //يؤدّي هذا الرمز إلى إعداد "وضع الموافقة"

    const consentStates = getConsentState(consent.consentDecision);‎

    var defaultOrUpdate;‎

    if (runOnceGCM == 0) {‎

    defaultOrUpdate = 'default';‎

    runOnceGCM++;‎

    } else {

    console.log('يتمّ تعديل الموافقة');

    defaultOrUpdate = 'تعديل';

    }

    console.log(consentStates);‎

    //بعد تغيير الموافقة، سنرسل آخر المعلومات 

    gtag('consent', defaultOrUpdate, {‎

    consentStates

    });

    }

     

    // يكون هذا الرمز مسؤولاً عن الاستماع إلى أيّ تغييرات في الموافقة من خلال مثيل "إدارة الشؤون التجارية والعقود" الذي يخصّ TrustArc.

    // وإرسال تغييرات الموافقة إلى dataLayer وفقًا لعملية ربط موافقة العميل

    // من أجل التحميل الأوّلي. إذا حصل المستخدم على موافقة مختلفة عن القيم التلقائية، يكون هذا لإرسال تعديل إلى datalayer. 

    // بعد تحميل "إدارة الشؤون التجارية والعقود". 

    var interval = setInterval(() => {‎

    if (window.truste) {‎

    var consentDecision = truste.cma.callApi("getGDPRConsentDecision", domain);‎

    handleConsentDecisionForGCM(consentDecision);‎

    clearInterval(interval);‎

    console.log("running once...");‎

    }

    ‎}, 100);‎

     

    // بدء الاستماع عند إرسال المستخدمين لإعداداتهم المفضّلة  

    window.addEventListener("message", (event) => {‎

    let eventDataJson = null;‎

    // نهتمّ فقط بأحداث TrustArc في هذه المرحلة. وقد تمّ أيضًا ترميز TrustArc بتنسيق JSON

    try {‎

    eventDataJson = JSON.parse(event.data);‎

    } catch {

    // بعض الأحداث الأخرى التي ليست بتنسيق JSON. 

    // تعمل TrustArc على ترميز البيانات بتنسيق JSON

    // console.log(event.data);‎

    }

     

    // الحماية للتأكُّد من أنّنا نتلقّى الأحداث من TrustArc فقط

    if (eventDataJson && eventDataJson.source === "preference_manager") {‎

    // يعني أنّ المستخدم قد أرسل إعداداته المفضّلة

    if (eventDataJson.message === "submit_preferences") {‎

    console.log("Event Data: ", eventDataJson);‎

    // الانتظار لمدّة نصف ثانية للتأكُّد من ظهور الإعدادات المفضّلة للمستخدم. 

    setTimeout(() => {‎

    var consentDecision = truste.cma.callApi("getGDPRConsentDecision", domain);‎

    console.log("Consent Decision: ", consentDecision);‎

    handleConsentDecisionForGCM(consentDecision);‎

    ‎}, 500);‎

    }

    }

    ‎}, false);‎

    <!--Banner script here!-->

إجراء الاختبارات باستخدام Tag Assistant

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

هل كان ذلك مفيدًا؟

كيف يمكننا تحسينها؟

هل تحتاج إلى مزيد من المساعدة؟

جرِّب الخطوات التالية:

true
بحث
محو البحث
إغلاق البحث
تطبيقات Google
القائمة الرئيسية
8727173443521561891
true
مركز مساعدة البحث
false
true
true
true
true
true
102259
false
false
false
false