TCF सहमति स्ट्रिंग कैसे पढ़ें: एक डेवलपर की फ़ील्ड गाइड
TC string वास्तव में क्या है
IAB Transparency & Consent Framework एक एकल संक्षिप्त टोकन उत्पन्न करता है — TC string — जो हर विज्ञापन अनुरोध के साथ यात्रा करता है और विक्रेताओं को ठीक-ठीक बताता है कि उपयोगकर्ता ने किस बात पर सहमति दी है और किस पर नहीं। यह Base64-URL एन्कोडेड है और बिट स्तर पर पैक किया गया है, इसलिए यह बकवास जैसा दिखता है (CPxy...AAA) लेकिन एक सटीक, ऑडिट करने योग्य रिकॉर्ड एन्कोड करता है।
खंड
एक पूर्ण TC string कई बिंदु-पृथक खंड होते हैं। पहला कोर स्ट्रिंग है; अन्य वैकल्पिक हैं:
- कोर — CMP ID, CMP संस्करण, सहमति टाइमस्टैम्प, नीति संस्करण, और महत्वपूर्ण रूप से उद्देश्य सहमतियाँ और विक्रेता सहमतियाँ बिटफ़ील्ड।
- प्रकट विक्रेता — कौन से विक्रेता उपयोगकर्ता को दिखाए गए थे।
- 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 गैर-वैयक्तिकृत पर गिर जाते हैं। - विक्रेता असहमत — आपके मांग भागीदार का विक्रेता ID बिट 0 है, इसलिए वे वैयक्तिकरण के साथ बोली नहीं लगा सकते।
- समाप्त या बासी स्ट्रिंग — एक पुराना टाइमस्टैम्प डाउनस्ट्रीम प्लेटफ़ॉर्म को इस पर अविश्वास कराता है।
- गलत CMP ID — एक गैर-पंजीकृत या परीक्षण CMP ID पूरी स्ट्रिंग को अमान्य कर देता है।
एक डीबगिंग वर्कफ़्लो
उपयोगकर्ता की सहमति को पुन: प्रस्तुत करें, __tcfapi या विज्ञापन अनुरोध से लाइव TC string प्राप्त करें, इसे एक वैलिडेटर के माध्यम से चलाएँ, और डिकोड किए गए उद्देश्यों/विक्रेताओं की तुलना उससे करें जो आपके भागीदारों को चाहिए। दस में से नौ बार अंतराल एक एकल विक्रेता बिट या एक गुम उद्देश्य 1 होता है।
FlexyConsent कहाँ फिट बैठता है
FlexyConsent एक पंजीकृत CMP ID के साथ स्पेक-मान्य TC string उत्पन्न करता है, उन्हें ताज़ा रखता है, डीबगिंग के लिए डिकोड की गई स्थिति को उजागर करता है, और रिपोर्ट करता है कि आपके ट्रैफ़िक में कौन से उद्देश्य और विक्रेता वास्तव में प्रदान किए जा रहे हैं — ताकि आप देख सकें, अनुमान न लगाएँ, कि सहमति (और राजस्व) कहाँ रिस रहा है।
मुख्य निष्कर्ष
- TC string हर सहमति पसंद का एक बिट-पैक, ऑडिट करने योग्य रिकॉर्ड है।
- उद्देश्य और विक्रेता बिटफ़ील्ड तय करते हैं कि भागीदार वैयक्तिकृत विज्ञापन परोस सकते हैं या नहीं।
- अधिकांश राजस्व गिरावट एक गुम स्ट्रिंग, एक असहमत विक्रेता, या एक बासी/अमान्य CMP ID का पता लगाती है।
- डीबग करते समय
__tcfapiके साथ लाइव स्ट्रिंग डिकोड करें और इसे भागीदार आवश्यकताओं के विरुद्ध मान्य करें।