كيفية قراءة سلسلة موافقة TCF: دليل ميداني للمطورين
ما هي TC string في الواقع
يُنتج IAB Transparency & Consent Framework رمزًا مميزًا واحدًا مدمجًا — TC string — يسافر مع كل طلب إعلان ويُخبر البائعين بالضبط بما وافق عليه المستخدم وما لم يوافق عليه. وهو مُرمَّز بـ Base64-URL ومُحزَّم على مستوى البِت، لذا يبدو كالهراء (CPxy...AAA) لكنه يُرمِّز سجلًا دقيقًا قابلًا للتدقيق.
القطاعات
تتكوّن TC string الكاملة من عدة قطاعات مفصولة بنقاط. الأول هو السلسلة الأساسية؛ والباقي اختياري:
- الأساسية — معرّف CMP، وإصدار CMP، وطوابع وقت الموافقة، وإصدار السياسة، والأهم حقول البِت لـ موافقات الأغراض وموافقات البائعين.
- Disclosed vendors — أي البائعين عُرضوا على المستخدم.
- Publisher TC — الموافقات الخاصة بك أنت، الناشر.
حقول البِت هي جوهر الأمر: البِت N المضبوط على 1 يعني الموافقة على الغرض N أو البائع N. الغرض 1 هو “تخزين/الوصول إلى المعلومات على جهاز،” والغرضان 3 و4 يغطيان الإعلانات المخصّصة، وهكذا.
فك ترميز واحدة عمليًا
نادرًا ما تفك ترميز البِتات يدويًا. استخدم المكتبات التي يوفّرها IAB أو أداة فك ترميز عامة:
- قسّم عند
.وافكك ترميز القطاع الأساسي بـ Base64-URL. - اقرأ حقول الترويسة ثابتة العرض (version, created, lastUpdated, cmpId, cmpVersion).
- تنقّل عبر حقول بِت الأغراض والبائعين لترى بالضبط أيها مُنح.
في JavaScript، يُرجِع الاستدعاء __tcfapi('getTCData', 2, cb) الكائن المُحلَّل بالفعل — tcData.purpose.consents وtcData.vendor.consents هما خرائط من id → boolean. هذه هي حقيقتك الأساسية أثناء وقت التشغيل.
الأخطاء التي تقتل الإيرادات
عندما يختفي الطلب المخصّص بهدوء، تكون TC string عادةً هي السبب:
- سلسلة مفقودة — لا يحمل طلب الإعلان أي
gdprApplies/TC string، لذا تنزل شبكات SSP المتوافقة إلى غير المخصّص. - البائع غير مُوافَق عليه — بِت معرّف بائع شريك الطلب لديك هو 0، لذا لا يمكنهم تقديم عروض مع التخصيص.
- سلسلة منتهية أو قديمة — طابع وقت قديم يجعل المنصات اللاحقة لا تثق بها.
- معرّف CMP خاطئ — معرّف CMP غير مسجّل أو تجريبي يُبطِل السلسلة بأكملها.
سير عمل لتصحيح الأخطاء
أعِد إنتاج موافقة المستخدم، التقط TC string الحية من __tcfapi أو من طلب الإعلان، مرّرها عبر أداة تحقق، وقارن الأغراض/البائعين المُفكَّك ترميزهم بما يتطلبه شركاؤك. في تسع حالات من عشر، تكون الفجوة بِت بائع واحدًا أو غرض 1 مفقودًا.
أين يندرج FlexyConsent
يُولِّد FlexyConsent سلاسل TC strings صالحة وفق المواصفات بمعرّف CMP مسجّل، ويُبقيها حديثة، ويُتيح الحالة المُفكَّك ترميزها لتصحيح الأخطاء، ويُبلِّغ عن الأغراض والبائعين الذين يُمنحون فعليًا عبر حركة المرور لديك — حتى تستطيع أن ترى، لا أن تخمّن، أين تتسرب الموافقة (والإيرادات).
أهم النقاط
- TC string هي سجل مُحزَّم على مستوى البِت وقابل للتدقيق لكل اختيار موافقة.
- تقرّر حقول بِت الأغراض والبائعين ما إذا كان بإمكان الشركاء تقديم إعلانات مخصّصة.
- تعود معظم انخفاضات الإيرادات إلى سلسلة مفقودة، أو بائع غير مُوافَق عليه، أو معرّف CMP قديم/غير صالح.
- افكك ترميز السلسلة الحية بـ
__tcfapiوتحقق منها مقابل متطلبات الشركاء عند تصحيح الأخطاء.