TCF رضامندی اسٹرنگ کیسے پڑھیں: ڈویلپرز کے لیے عملی رہنمائی
TC string دراصل کیا ہے
IAB Transparency & Consent Framework ایک واحد مختصر ٹوکن تیار کرتا ہے — TC string — جو ہر اشتہاری درخواست کے ساتھ سفر کرتا ہے اور وینڈرز کو بالکل بتاتا ہے کہ صارف کس بات سے متفق ہے اور کس سے نہیں۔ یہ Base64-URL میں انکوڈ شدہ اور بٹ کی سطح پر پیک شدہ ہے، لہٰذا یہ بے معنی نظر آتا ہے (CPxy...AAA) لیکن ایک درست، قابلِ آڈٹ ریکارڈ انکوڈ کرتا ہے۔
سیگمنٹس
ایک مکمل TC string کئی نقطے سے جدا کیے گئے سیگمنٹس پر مشتمل ہوتا ہے۔ پہلا کور اسٹرنگ (core string) ہے؛ باقی اختیاری ہیں:
- Core — CMP ID، CMP ورژن، رضامندی کے ٹائم اسٹیمپس، پالیسی ورژن، اور اہم طور پر مقصد کی رضامندیوں اور وینڈر کی رضامندیوں کے bitfields۔
- Disclosed vendors — صارف کو کون سے وینڈرز دکھائے گئے۔
- Publisher TC — آپ، یعنی ناشر، کے لیے مخصوص رضامندیاں۔
bitfields اس کا دل ہیں: بٹ N کا 1 پر سیٹ ہونا مقصد N یا وینڈر N کے لیے رضامندی کا مطلب ہے۔ مقصد 1 “کسی آلے پر معلومات محفوظ کرنا/رسائی” ہے، مقاصد 3 اور 4 ذاتی نوعیت کے اشتہارات کا احاطہ کرتے ہیں، اور اسی طرح۔
عملی طور پر ایک کو ڈی کوڈ کرنا
آپ شاذ و نادر ہی بٹس کو ہاتھ سے ڈی کوڈ کرتے ہیں۔ IAB کی فراہم کردہ لائبریریاں یا کوئی عوامی ڈی کوڈر استعمال کریں:
.پر تقسیم کریں اور core سیگمنٹ کو Base64-URL ڈی کوڈ کریں۔- مقررہ چوڑائی والے ہیڈر فیلڈز پڑھیں (version، created، lastUpdated، cmpId، cmpVersion)۔
- یہ دیکھنے کے لیے کہ بالکل کون سے منظور ہیں، مقصد اور وینڈر bitfields میں سے گزریں۔
JavaScript میں __tcfapi('getTCData', 2, cb) کال پہلے سے پارس شدہ آبجیکٹ واپس کرتی ہے — tcData.purpose.consents اور tcData.vendor.consents id → boolean کے نقشے ہیں۔ یہ رن ٹائم پر آپ کی بنیادی حقیقت ہے۔
وہ غلطیاں جو آمدنی کو ختم کرتی ہیں
جب ذاتی نوعیت کی طلب خاموشی سے غائب ہو جاتی ہے، تو عام طور پر TC string ہی وجہ ہوتا ہے:
- غائب اسٹرنگ — اشتہاری درخواست میں کوئی
gdprApplies/TC string نہیں ہوتا، لہٰذا مطابق SSPs غیر ذاتی نوعیت پر گر جاتے ہیں۔ - وینڈر بغیر رضامندی — آپ کے طلب کے شراکت دار کی وینڈر ID بٹ 0 ہے، لہٰذا وہ ذاتی نوعیت کے ساتھ بولی نہیں لگا سکتے۔
- میعاد ختم یا پرانا اسٹرنگ — ایک پرانا ٹائم اسٹیمپ نیچے کی طرف کے پلیٹ فارمز کو اس پر اعتماد نہ کرنے پر مجبور کرتا ہے۔
- غلط CMP ID — ایک غیر رجسٹرڈ یا ٹیسٹ CMP ID پورے اسٹرنگ کو غیر مؤثر کر دیتا ہے۔
ڈی بگنگ ورک فلو
صارف کی رضامندی دوبارہ پیدا کریں، __tcfapi یا اشتہاری درخواست سے لائیو TC string حاصل کریں، اسے کسی ویلیڈیٹر سے گزاریں، اور ڈی کوڈ شدہ مقاصد/وینڈرز کا موازنہ اس سے کریں جو آپ کے شراکت داروں کو درکار ہے۔ دس میں سے نو بار خلا ایک ہی وینڈر بٹ یا ایک غائب مقصد 1 ہوتا ہے۔
FlexyConsent کہاں فٹ ہوتا ہے
FlexyConsent اپنی تصدیق شدہ CMP ID 317 کے ساتھ TC سٹرنگز بناتا ہے اور انہیں __tcfapi کے ذریعے فراہم کرتا ہے، اس لیے آپ موجودہ سٹرنگ کو ڈی کوڈ کر سکتے ہیں؛ اس کی رپورٹیں فیصلوں کو ماخذ اور خطے کے لحاظ سے دکھاتی ہیں۔
اہم نکات
- TC string ہر رضامندی کے انتخاب کا بٹ-پیک شدہ، قابلِ آڈٹ ریکارڈ ہے۔
- مقصد اور وینڈر bitfields یہ طے کرتے ہیں کہ آیا شراکت دار ذاتی نوعیت کے اشتہارات پیش کر سکتے ہیں۔
- زیادہ تر آمدنی کی کمی ایک غائب اسٹرنگ، ایک غیر راضی وینڈر، یا ایک پرانے/غیر مؤثر CMP ID کی طرف اشارہ کرتی ہے۔
- ڈی بگنگ کے دوران لائیو اسٹرنگ کو
__tcfapiسے ڈی کوڈ کریں اور اسے شراکت دار کی ضروریات کے مقابلے میں ویلیڈیٹ کریں۔