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 کے ساتھ تصریح کے مطابق درست TC strings تیار کرتا ہے، انہیں تازہ رکھتا ہے، ڈی بگنگ کے لیے ڈی کوڈ شدہ حالت ظاہر کرتا ہے، اور رپورٹ کرتا ہے کہ آپ کے ٹریفک میں واقعی کون سے مقاصد اور وینڈرز منظور ہو رہے ہیں — تاکہ آپ دیکھ سکیں، اندازہ نہ لگائیں، کہ رضامندی (اور آمدنی) کہاں سے رِس رہی ہے۔
اہم نکات
- TC string ہر رضامندی کے انتخاب کا بٹ-پیک شدہ، قابلِ آڈٹ ریکارڈ ہے۔
- مقصد اور وینڈر bitfields یہ طے کرتے ہیں کہ آیا شراکت دار ذاتی نوعیت کے اشتہارات پیش کر سکتے ہیں۔
- زیادہ تر آمدنی کی کمی ایک غائب اسٹرنگ، ایک غیر راضی وینڈر، یا ایک پرانے/غیر مؤثر CMP ID کی طرف اشارہ کرتی ہے۔
- ڈی بگنگ کے دوران لائیو اسٹرنگ کو
__tcfapiسے ڈی کوڈ کریں اور اسے شراکت دار کی ضروریات کے مقابلے میں ویلیڈیٹ کریں۔