কীভাবে একটি TCF সম্মতি স্ট্রিং পড়বেন: একটি ডেভেলপারের ফিল্ড গাইড
TC স্ট্রিং আসলে কী
IAB Transparency & Consent Framework একটি একক কম্প্যাক্ট টোকেন তৈরি করে — TC string — যা প্রতিটি বিজ্ঞাপন অনুরোধের সাথে ভ্রমণ করে এবং ভেন্ডরদের ঠিক বলে দেয় একজন ব্যবহারকারী কীসে সম্মত হয়েছেন এবং কীসে হননি। এটি Base64-URL এনকোডেড এবং বিট স্তরে প্যাক করা, তাই এটি দেখতে অর্থহীন (CPxy...AAA) মনে হয় কিন্তু একটি সুনির্দিষ্ট, নিরীক্ষাযোগ্য রেকর্ড এনকোড করে।
সেগমেন্টগুলি
একটি সম্পূর্ণ TC স্ট্রিং কয়েকটি ডট-পৃথক সেগমেন্ট। প্রথমটি হলো কোর স্ট্রিং; অন্যগুলি ঐচ্ছিক:
- কোর — CMP ID, CMP সংস্করণ, সম্মতির টাইমস্ট্যাম্প, পলিসি সংস্করণ, এবং সবচেয়ে গুরুত্বপূর্ণভাবে উদ্দেশ্য সম্মতি এবং ভেন্ডর সম্মতি বিটফিল্ড।
- প্রকাশিত ভেন্ডর — ব্যবহারকারীকে কোন ভেন্ডর দেখানো হয়েছিল।
- পাবলিশার 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 স্ট্রিং সাধারণত এর কারণ:
- অনুপস্থিত স্ট্রিং — বিজ্ঞাপন অনুরোধ কোনো
gdprApplies/TC স্ট্রিং বহন করে না, তাই কমপ্লায়েন্ট SSP নন-পার্সোনালাইজডে নেমে যায়। - ভেন্ডর সম্মতি নেই — আপনার ডিমান্ড পার্টনারের ভেন্ডর ID বিট 0, তাই তারা ব্যক্তিগতকরণসহ বিড করতে পারে না।
- মেয়াদোত্তীর্ণ বা বাসি স্ট্রিং — একটি পুরনো টাইমস্ট্যাম্প ডাউনস্ট্রিম প্ল্যাটফর্মগুলিকে এটিকে অবিশ্বাস করায়।
- ভুল CMP ID — একটি অ-নিবন্ধিত বা পরীক্ষামূলক CMP ID পুরো স্ট্রিংকে অবৈধ করে দেয়।
একটি ডিবাগিং ওয়ার্কফ্লো
ব্যবহারকারীর সম্মতি পুনরুৎপাদন করুন, __tcfapi বা বিজ্ঞাপন অনুরোধ থেকে লাইভ TC স্ট্রিং নিন, এটি একটি ভ্যালিডেটরের মধ্য দিয়ে চালান, এবং আপনার পার্টনারদের যা প্রয়োজন তার সাথে ডিকোড করা উদ্দেশ্য/ভেন্ডর তুলনা করুন। দশবারের মধ্যে নয়বার ফাঁকটি হলো একটি একক ভেন্ডর বিট বা একটি অনুপস্থিত উদ্দেশ্য 1।
FlexyConsent কোথায় ফিট করে
FlexyConsent একটি নিবন্ধিত CMP ID সহ স্পেক-বৈধ TC স্ট্রিং তৈরি করে, সেগুলি তাজা রাখে, ডিবাগিংয়ের জন্য ডিকোড করা অবস্থা প্রকাশ করে, এবং আপনার ট্র্যাফিক জুড়ে কোন উদ্দেশ্য এবং ভেন্ডর আসলে মঞ্জুর করা হচ্ছে তা রিপোর্ট করে — যাতে আপনি দেখতে পারেন, অনুমান নয়, কোথায় সম্মতি (এবং রাজস্ব) ফাঁস হচ্ছে।
মূল বিষয়সমূহ
- TC স্ট্রিং হলো প্রতিটি সম্মতির পছন্দের একটি বিট-প্যাকড, নিরীক্ষাযোগ্য রেকর্ড।
- উদ্দেশ্য এবং ভেন্ডর বিটফিল্ড নির্ধারণ করে পার্টনাররা ব্যক্তিগতকৃত বিজ্ঞাপন পরিবেশন করতে পারবে কিনা।
- বেশিরভাগ রাজস্ব হ্রাস একটি অনুপস্থিত স্ট্রিং, একটি সম্মতিহীন ভেন্ডর, বা একটি বাসি/অবৈধ CMP ID-তে ফিরে যায়।
- ডিবাগিংয়ের সময়
__tcfapiদিয়ে লাইভ স্ট্রিং ডিকোড করুন এবং পার্টনার প্রয়োজনীয়তার বিপরীতে এটি যাচাই করুন।