কীভাবে একটি 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 317 দিয়ে TC স্ট্রিং তৈরি করে এবং __tcfapi-এর মাধ্যমে সেগুলো দেয়, ফলে আপনি বর্তমান স্ট্রিং ডিকোড করতে পারেন; এর রিপোর্টগুলো সিদ্ধান্তগুলো উৎস ও অঞ্চল অনুযায়ী দেখায়।
মূল বিষয়সমূহ
- TC স্ট্রিং হলো প্রতিটি সম্মতির পছন্দের একটি বিট-প্যাকড, নিরীক্ষাযোগ্য রেকর্ড।
- উদ্দেশ্য এবং ভেন্ডর বিটফিল্ড নির্ধারণ করে পার্টনাররা ব্যক্তিগতকৃত বিজ্ঞাপন পরিবেশন করতে পারবে কিনা।
- বেশিরভাগ রাজস্ব হ্রাস একটি অনুপস্থিত স্ট্রিং, একটি সম্মতিহীন ভেন্ডর, বা একটি বাসি/অবৈধ CMP ID-তে ফিরে যায়।
- ডিবাগিংয়ের সময়
__tcfapiদিয়ে লাইভ স্ট্রিং ডিকোড করুন এবং পার্টনার প্রয়োজনীয়তার বিপরীতে এটি যাচাই করুন।