تجنب العقوبات من خلال تنفيذ نافذة منبثقة للموافقة للامتثال للائحة العامة لحماية البيانات (GDPR). إطار عمل الشفافية والموافقة 2.0 (TCF2.0) دليل الامتثال لتحقيق الدخل من المزيد من الناشرين

نشرت: 2022-06-06
دليل امتثال TCF لتحقيق الدخل من المزيد من الناشرين

تم تحديث هذا المنشور مؤخرًا في 17 نوفمبر 2022

اعتبارًا من 15 أكتوبر 2020 - سيدعم مقدمو الإعلانات مبادرة TCF2.0 ويمكنهم التوقف عن تقديم العطاءات لمستخدمي الاتحاد الأوروبي على المواقع التي لا يتم فيها اكتشاف إشارات الموافقة. لذلك ، يجب أن يكون جميع الناشرين متوافقين مع TCF2.0 أو يتوقعون انخفاضًا في عائدات الإعلانات. اقرأ مقالة مركز مساعدة Google هنا.

اقرأ الأسئلة الشائعة هنا:
https://www.monetizemore.com/blog/frequently-asked-questions-gdpr-and-eprivacy-directive/

إذا كان لديك أي رموز مضمنة مثل AdSense أو Ad Exchange أو GAM header & body أو Google Analytics ، فيجب على مستخدمي الاتحاد الأوروبي منح الموافقة صراحةً قبل تقديم أي من هذه العلامات التي تجمع المعلومات الشخصية.

إذا كنت تعمل مع MonetizeMore ، فإليك دليل سريع حول كيفية تحويل رموز الصفحة الخاصة بك لتكون متوافقة مع TCF2.0:

تحقق من شفرة المصدر الخاصة بك إذا كان لا يزال لديك هذه العلامة:

<script src = ”https://cdn.pubguru.com/pg.js” />

إذا كانت الإجابة بنعم ، فقم بتعطيلها أو إزالتها! ثم تابع أدناه بناءً على رموز الصفحة التي تقوم بتشغيلها:

AdSense

نموذج كود خام (غير متوافق مع TCF2.0):

<script async src = ”https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js” </script>
<! - adsense_320x50 ->
<ins class = ”adsbygoogle”
style = "display: inline-block ؛ width: 320px ؛ height: 50px"
data-ad-client = ”ca-pub-12345
data-ad-slot = ”123 ″> </ins>
<script>
(adsbygoogle = window.adsbygoogle || []). push ({})؛
</script>

كود متوافق مع TCF2.0:

يمكن الانتقال إما في العنوان أو النص (سيتم توفيره لك بواسطة MonetizeMore):

<script src = ”// m2d.m2.ai/PUBDOMAIN.js” غير متزامن> </script>

الجسم:

<ins class = ”adsbygoogle”
style = "display: inline-block ؛ width: 320px ؛ height: 50px"
data-ad-client = ”ca-pub-12345
data-ad-slot = ”123 ″> </ins>

ما الذي تغير في الكود لجعله متوافقًا؟

برنامج AdSense TCF

إعلانات AdSense التلقائية

نموذج كود خام (غير متوافق مع TCF2.0):

<script async src = ”// pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”> </script>
<script type = ”text / javascript”>
(adsbygoogle = window.adsbygoogle || []). ادفع ({
google_ad_client: "ca-pub-XXXXXXXXXXXXXXX" ،
enable_page_level_ads: صحيح
}) ؛
</script>

كود متوافق مع TCF2.0:

<script type = ”text / javascript”>
window.pg = window.pg || []؛ pg.atq = pg.atq || []؛
pg.atq.push (الوظيفة () {
// إعلانات Google Adsense التلقائية
(adsbygoogle = window.adsbygoogle || []). ادفع ({
google_ad_client: "ca-pub-XXXXXXXXXXXXXXXX" ،
enable_page_level_ads: صحيح
}) ؛
}) ؛
</script>
<script src = ”// m2d.m2.ai/PUBDOMAIN.js” غير متزامن> </script>

ما الذي تغير في الكود لجعله متوافقًا؟

إعلانات AdSense التلقائية TCF

تبادل اعلاني

نموذج كود خام (غير متوافق مع TCF2.0):

<script type = ”text / javascript”>
google_ad_client = "ca-pub-12345" ؛
/ * sample.com_desktop_300X250 * /
google_ad_slot = "123" ؛
google_ad_width = 300 ؛
google_ad_height = 250 ؛
</script>
<script type = ”text / javascript” src = ”// pagead2.googlesyndication.com/pagead/show_ads.js”>
</script>

كود متوافق مع TCF2.0:

يمكن الانتقال إما في العنوان أو النص (سيتم توفيره لك بواسطة MonetizeMore):

<script src = ”// m2d.m2.ai/PUBDOMAIN.js” غير متزامن> </script>

الجسم:

<ins class = ”adsbygoogle”
style = "display: inline-block؛ width: 300px؛ height: 250px"
data-ad-client = ”ca-pub-12345
data-ad-slot = ”123 ″> </ins>

ما الذي تغير في الكود لجعله متوافقًا؟

مدير إعلانات جوجل

نموذج كود خام (غير متوافق مع TCF2.0):

رئيس:

<script>
var googletag = googletag || {} ؛
googletag.cmd = googletag.cmd || [] ؛
googletag.cmd.push (الوظيفة () {

googletag.defineSlot ('/ 55555 / ad1_sample'، [[728، 90]، [300، 250]]، 'div-gpt-ad-22222-0'). addService (googletag.pubads ())؛

googletag.defineSlot ('/ 55555 / ad2_sample'، [[970، 90]، [728، 90]]، 'div-gpt-ad-33333-0'). addService (googletag.pubads ())؛

googletag.pubads (). enableSingleRequest () ؛
googletag.enableServices () ،
}) ؛
</script>

الجسم:

<div id = 'div-gpt-ad-22222-0 ′>
<script>
googletag.cmd.push (function () {googletag.display ('div-gpt-ad-22222-0')؛})؛
</script>
</div>

<div id = 'div-gpt-ad-33333-0 ′>
<script>
googletag.cmd.push (function () {googletag.display ('div-gpt-ad-33333-0')؛})؛
</script>
</div>

كود متوافق مع TCF2.0:

يذهب أي شيء متعلق بالإعلان إلى وظيفة pg.atq إذا كان الناشر يقوم بتشغيل Traffic Cop (كتلة).

رئيس:

<script>
var googletag = googletag || {} ؛
googletag.cmd = googletag.cmd || [] ؛
window.pg = window.pg || []؛ pg.atq = pg.atq || []؛ // بناء قائمة انتظار الموافقة
pg.atq.push (الوظيفة () {
// GAM Tag
googletag.cmd.push (الوظيفة () {

googletag.defineSlot ('/ 12345 / ad1_sample'، [[728، 90]، [300، 250]]، 'div-gpt-ad-22222-0'). addService (googletag.pubads ())؛

googletag.defineSlot ('/ 12345 / ad2_sample'، [[970، 90]، [728، 90]]، 'div-gpt-ad-33333-0'). addService (googletag.pubads ())؛

googletag.pubads (). enableSingleRequest () ؛
googletag.enableServices () ،
}) ؛
}) ؛
</script>
<script src = ”// m2d.m2.ai/pghb.domain.com.js” غير متزامن> </script>

الجسم:

<div id = 'div-gpt-ad-22222-0 ′>
<script>
pg.atq.push (function () {window.googletag.cmd.push (function () {googletag.display ('div-gpt-ad-22222-0')؛})})؛
</script>
</div>

<div id = 'div-gpt-ad-33333-0 ′>
<script>
pg.atq.push (function () {window.googletag.cmd.push (function () {googletag.display ('div-gpt-ad-33333-0')؛})})؛
</script>
</div>

ما الذي تغير في الكود لجعله متوافقًا؟

مدير إعلانات Google TCF2

تحليلات كوكل

نموذج كود خام (غير متوافق مع TCF2.0):

<! - علامة الموقع الشاملة (gtag.js) - Google Analytics ->
<script async src = ”https://www.googletagmanager.com/gtag/js؟id=UA-12345-1 ″ </script>
<script>
window.dataLayer = window.dataLayer || [] ؛
دالة gtag () {dataLayer.push (arguments)؛}
gtag ('js' ، تاريخ جديد ()) ؛
gtag ('config'، 'UA-12345-1') ؛
</script>

كود متوافق مع TCF2.0:

<script>
window.pg = window.pg || []؛ pg.acq = pg.acq || []؛ // بناء قائمة انتظار الموافقة
pg.acq.push (الوظيفة () {
// علامة الموقع الشاملة (gtag.js)
pg.loadJS ("https://www.googletagmanager.com/gtag/js؟id=UA-12345-1") ؛
window.dataLayer = window.dataLayer || [] ؛
دالة gtag () {dataLayer.push (arguments)؛}
gtag ('js' ، تاريخ جديد ()) ؛
gtag ('config'، 'UA-12345-1') ؛
}) ؛
</script>

ما الذي تغير في الكود لجعله متوافقًا؟

تحليلات جوجل TCF

GAM + Google Analytics

كود متوافق مع TCF2.0:

رئيس:
<script>
var googletag = googletag || {} ؛
googletag.cmd = googletag.cmd || [] ؛
window.pg = window.pg || []؛ pg.acq = pg.acq || []؛
pg.acq.push (الوظيفة () {
// GAM Tag
googletag.cmd.push (الوظيفة () {
googletag.defineSlot ('/ 55555 / sample_ad1'، [[728، 90]، [300، 250]]، 'div-gpt-ad-22222-0'). addService (googletag.pubads ())؛

googletag.pubads (). enableSingleRequest () ؛
googletag.enableServices () ،
}) ؛

//تحليلات كوكل
pg.loadJS (“https://www.googletagmanager.com/gtag/js؟id=UA-147580335-1 ″) ؛ window.dataLayer = window.dataLayer || [] ؛
دالة gtag () {dataLayer.push (arguments)؛}
gtag ('js' ، تاريخ جديد ()) ؛
gtag ('config'، 'UA-147580335-1') ؛
}) ؛
</script>
<script src = ”// m2d.m2.ai/PUBDOMAIN.js” غير متزامن> </script>

الجسم:
<div id = 'div-gpt-ad-22222-0 ′>
<script>
pg.acq.push (function () {window.googletag.cmd.push (function () {googletag.display ('div-gpt-ad-22222-0')؛})})؛
</script>
<div>

يحتاج Google Analytics أو Facebook Pixels أو أي رمز تتبع للمستخدم إلى الدخول داخل وظيفة pg.acq في جميع السيناريوهات سواء كان الناشر يشغل TC أم لا.

كيفية اختبار PubGuru DataGuard بشكل صحيح:

https://www.monetizemore.com/blog/how-properly-test-pubguru-dataguard-gdpr-consent-management/