IAB TCF v2.2 থেকে v2.3 মাইগ্রেশন গাইড: কী বদলেছে এবং CMP গুলো কীভাবে আপগ্রেড করবে
IAB Europe Transparency and Consent Framework (TCF) ইউরোপীয় প্রোগ্রাম্যাটিক বিজ্ঞাপনে সবচেয়ে বেশি ব্যবহৃত consent signal। ফ্রেমওয়ার্কের প্রতিটি সংস্করণই কেবল উপরের দিকের বদল নয় — প্রতিটি সংস্করণই নিয়ন্ত্রক প্রতিক্রিয়া, প্রয়োগমূলক পদক্ষেপ, এবং বাস্তবে প্রকাশক ও ভেন্ডররা কীভাবে কাজ করে তার থেকে শেখা অভিজ্ঞতার প্রতিফলন। TCF v2.2 থেকে v2.3 এ যাওয়াও এর ব্যতিক্রম নয়।
এই গাইডে ব্যাখ্যা করা হয়েছে v2.3 আসলে কী কী পরিবর্তন এনেছে, কেন এই পরিবর্তনগুলো আনা হয়েছে, এবং কীভাবে একটি production CMP-কে এমনভাবে মাইগ্রেট করবেন যাতে consent দেওয়া inventory না হারায় এবং ট্রানজিশন পিরিয়ডের সময় Policies লঙ্ঘন না হয়।
The Short Version
TCF v2.3 মূলত v2.2-এর একটি বিবর্তন, সম্পূর্ণ নতুন গঠন নয়। TC String ফরম্যাট সামঞ্জস্যপূর্ণ আছে, বিদ্যমান purposes এবং features বজায় রয়��ছে, এবং প্রকাশক-মুখী অধিকাংশ UI চাহিদা অপরিবর্তিতভাবে বহাল আছে। কার্যকরী পরিবর্তনগুলো চারটি ক্ষেত্রেই বেশি কেন্দ্রীভূত:
- vendor information এবং retention periods কীভাবে CMP গুলো উপস্থাপন করবে সে বিষয়ে আরও স্পষ্ট নিয়ম।
- ২০২২ সালের বেলজিয়ান DPA সিদ্ধান্তের পর থেকে নিয়ন্ত্রক যেসব বিশদ second-layer নিয়ন্ত্রণ চাইছিলেন, সেগুলোর জন্য নতুন প্রয়োজনীয়তা।
- policy enforcement আরও কঠোর করা — dark pattern, equal prominence, এবং আগে থেকেই টিক দেওয়া অপশনগুলোর বিরুদ্ধে।
- Global Vendor List (GVL) স্কিমা এবং vendor disclosure flow-তে সামঞ্জস্য আনা।
Why v2.3 Exists
প্রতিটি TCF সংস্করণই মূলত তিনটি পক্ষের মধ্যে এক ধরণের সমঝোতা: প্রকাশকরা যারা মনিটাইজেশন চালু রাখতে চান, ভেন্ডররা যারা স্থিতিশীল প্রযুক্তিগত ইন্টারফেস চান, এবং নিয়ন্ত্রকরা যারা বারবার নির্দিষ্ট কমপ্লায়েন্স ঘাটতি খুঁজে পান। v2.3 মূলত তিন ধরনের চাপের সরাসরি প্রতিক্রিয়া:
- v2.2-এ "legitimate interest" অতিরিক্ত ব্যবহারের বিরুদ্ধে প্রয়োগমূলক পদক্ষেপ। একাধিক ইউরোপীয় DPA মনে করেছে, অনেক ভেন্ডর এমন purposes-এর জন্য LI দাবি করছিল যেখানে বাস্তবে কেবল consent-ই বৈধ আইনি ভিত্তি। v2.3 vendor-declared legal basis disclosure আরও কড়া করেছে এবং সেগুলো consent UI-তে আরও আগে সাম���ে নিয়ে এসেছে।
- dark pattern নিয়ে চলমান অভিযোগ। আপডেট হওয়া Policies equal-prominence নিয়মটিকে আরও স্পষ্ট করেছে এবং second layer-এ আগে থেকেই টিক দেওয়া টগল নিয়ে ফাঁকফোকরগুলো বন্ধ করেছে।
- বড় CMP এবং প্রকাশকদের অপারেশনাল ফিডব্যাক। v2.2 বেশ কিছু বাধ্যতামূলক disclosure এনেছিল যা মোবাইল ও CTV-তে পরিষ্কারভাবে বাস্তবায়ন করা কঠিন ছিল। v2.3 প্রয়োজনীয় disclosure-এর সেটটিকে কিছুটা সরল করেছে এবং এর বেশি অংশ layered view-তে রাখতে দিয়েছে।
TC String Compatibility
TC String নিজেই পূর্ববর্তী সংস্করণের সাথে সামঞ্জস্যপূর্ণ রয়েছে। একটি v2.3 CMP এমন string তৈরি করবে যা v2.2 ভেন্ডররা পড়তে পারবে, এবং একটি v2.3 ভেন্ডর ট্রানজিশন পিরিয়ডে v2.2 string ব্যবহার করতে পারবে। string-এর core segment-এর version indicator দ্বারা বোঝা যায় CMP কোন policy সংস্করণের সাথে কমপ্লায়েন্স দাবি করছে, আর GVL version pointer আলাদাভাবে এগোয়।
এর বাস্তব অর্থ হলো: আপনাকে একসাথে সব ভেন্ডরকে আপডেট করতে হবে না, এবং v2.3 ডিপ্লয় করার দিনই প্রত্যেক ব্যবহারকারীর থেকে নতুন করে consent নিতে CMP-কে বাধ্য করতে হবে না। ধাপে ধাপে rollout করা নিয়ম দ্বারা স্পষ্টভাবে সমর্থিত।
Key Technical Changes
1. Vendor Disclosure and Retention
v2.3 অনুযায়ী CMP গুলোকে layered UI-তে প্রতিটি ভেন্ডরের ডিক্লেয়ার করা data retention period দেখাতে হবে; ক���বল আলাদা vendor list-এ দেখালেই চলবে না। retention মান সবসময়ই GVL-এর অংশ ছিল, কিন্তু v2.2 ব্যবহারকারীদেরকে purposes-এর সাথে পাশাপাশি এটি দেখাতে বাধ্য করত না। নিয়ন্ত্রকেরা যুক্তি দিয়েছিলেন, ব্যবহারকারী যদি না জানে তার ডেটা কতদিন পর্যন্ত থাকবে, তবে সে informed choice করতে পারে না — v2.3 এই ঘাটতি পূরণ করেছে।
2. Stricter Second-Layer Controls
Second layer — অর্থাৎ "manage preferences" ভিউতে — v2.3 স্পষ্টভাবে বলেছে, non-essential purposes এবং ভেন্ডরদের টগলগুলো ডিফল্ট হিসেবে অবশ্যই off অবস্থায় থাকবে। আগে থেকেই টিক দেওয়া বাক্স বা আগে থেকেই চালু থাকা স্লাইডার এখন Policy ভঙ্গের শামিল, এমনকি ব্যবহারকারী ���খনো স্পষ্টভাবে "accept" না ক্লিক করলেও। যারা আগে "soft opt-in" প্যাটার্নের ওপর ভর করে ছিল, সেই CMP গুলোর second layer নতুনভাবে রেন্ডার করতে হবে।
3. Equal Prominence Enforcement
Equal prominence নিয়মটি v2.1 থেকেই ছিল, কিন্তু v2.3 এটিকে এমনভাবে সংজ্ঞায়িত করেছে যাতে ব্যাখ্যার সুযোগ কমে যায়: "reject all" কন্ট্রোলকে "accept all"-এর একই লেয়ারে, একই ভিজ্যুয়াল ওজন, একই color contrast class, এবং একই interaction distance-এ রাখতে হবে। reject বোতামকে লিঙ্কের আড়ালে লুকিয়ে রাখা, ছোট বোতাম বানানো, বা আলাদা সেকেন্ডারি স্ক্রিনে পাঠানো — এখন এগুলো পরিষ্কারভাবে কমপ্লায়েন্স ব্যর্থতা হিসেবে ধরা হবে, ব্যাখ্যার বিষ��় হিসেবে নয়।
4. Legitimate Interest Signalling
যেসব ভেন্ডর v2.3-এর অধীনে legitimate interest কে lawful basis হিসেবে ডিক্লেয়ার করবে, তাদের এখন জানাতে হবে কোন কোন purposes-এর জন্য তারা Legitimate Interests Assessment সম্পন্ন করেছে। CMP গুলোকে এই ডিক্লেয়ারেশন UI পর্যন্ত নিয়ে যেতে হবে, যাতে ব্যবহারকারীরা পুরো তথ্য পেয়ে আপত্তি (object) জানাতে পারে। বাস্তবে এর মানে হলো, এখন "object" flow-তে vendor-specific LIA status দেখাতে হবে, কেবল একটি জেনেরিক টগল নয়।
5. GVL Schema Updates
Global Vendor List স্কিমায় retention granularity, LIA status, এবং প্রতিটি ভেন্ডরের প্রাইভেসি পলিসির সেই অংশের একটি machine-readable লিংক যোগ হয়েছে যেখানে ঘোষিত purposes উল্লেখ থাকে। যার�� GVL cache করে, সেই CMP গুলোকে v2.3 GVL-এ পয়েন্ট করার আগে তাদের স্কিমা parser আপডেট করে এই নতুন ফিল্ডগুলো বুঝতে সক্ষম হতে হবে।
Policy Changes That Affect UX
TCF একইসাথে একটি টেকনিক্যাল স্পেক এবং Policies-এর সেট। v2.3-এর একাধিক Policy পরিবর্তন সরাসরি consent UI-তে প্রভাব ফেলছে:
- "continue without accepting" আর reject-এর সমতুল্য নয় — যদি না এটি ভিজ্যুয়ালি accept বোতামের মতোই হয় এবং একই TC String তৈরি করে যেটা একটি পূর্ণাঙ্গ reject করলে করত।
- Language parity — consent notice সাইটটি যে সব ভাষায় উপলব্ধ, সেসব প্রত্যেক ভাষাতেই পাওয়া যাবে; কেবল ব্যবহারকারীর ব্রাউজার ভাষায় নয়। CMP গুলোকে locale override সমর্থ�� করতে হবে।
- Persistent access — ব্যবহারকারীরা সাইটের প্রতিটি পেইজ থেকেই preferences center-এ যেতে পারবে; কেবল landing page থেকে নয়, এবং অ্যাক্সেস লিংকটিকে এমনভাবে লেবেল করতে হবে যাতে অ-বিশেষজ্ঞ ব্যবহারকারীরাও বুঝতে পারে এটি consent-সম্পর্কিত।
What Publishers Must Do
- আপনার CMP ভেন্ডরের v2.3 সাপোর্ট নিশ্চিত করুন। তাদের v2.3-certified build ঠিক কোন তারিখে পাওয়া যাবে এবং এটি কোন version string রিপোর্ট করবে তা জেনে নিন।
- আপনার GVL cache লজিক রিফ্রেশ করুন। যদি আপনি কোনো self-host করা GVL mirror চালান, v2.3 GVL rollout হওয়ার আগে স্কিমা parser আপডেট করুন, না হলে আপনার CMP নতুন ভেন্ডরগুলো validate করতে ব্যর্থ হবে।
- আপনার second-layer UI আবার লিখুন, যেন প্রতিটি টগল ডিফল্ট হিসেবে off থাকে, equal prominence ভিজ্যুয়ালি প্রয়োগ হয়, এবং retention period গুলো purposes-এর পাশে দেখানো হয়।
- আপনার কমপ্লায়েন্স অডিট আবার চালান। সবচেয়ে সহজ নিয়ন্ত্রক সাফল্য সাধারণত সেই dark-pattern লঙ্ঘনগুলো যেখানে v2.3 এখন স্পষ্টভাবে আঙুল তুলেছে। পরের enforcement review-এর আগে এগুলো ঠিক করুন।
- একটি re-prompt স্ট্র্যাটেজি পরিকল্পনা করুন। TC String পিছনের দিকে সামঞ্জস্যপূর্ণ হলেও Policies বলছে, প্রসেসিং-এর পরিধি বা disclosure অর্থপূর্ণভাবে বদলালে প্রকাশকদের আবার consent নিতে উৎসাহিত করা ��য়। আপনার v2.3 rollout আপনার অডিয়েন্সের জন্য "material" পরিবর্তনের পর্যায়ে পড়ে কি না তা নির্ধারণ করুন।
What Vendors Must Do
- যে প্রতিটি purpose-এ আপনি LI ডিক্লেয়ার করেন, তার জন্য একটি Legitimate Interests Assessment সম্পন্ন করুন, এবং ফলাফল GVL-এ জমা দিন।
- আপনার GVL এন্ট্রি আপডেট করুন v2.3 স্কিমা ফিল্ডগুলো দিয়ে: retention granularity, LIA declaration, এবং privacy-policy deep link।
- আপনার TC String parser ভেরিফাই করুন IAB Europe প্রদত্ত v2.3 রেফারেন্স string গুলোর সাথে মিলিয়ে।
- আপনার CMP পার্টনারদের সাথে সমন্বয় করুন একটি অভিন্ন cutover date নির্ধারণ করতে, যেন v2.3 string-বহনকারী প্রথম buyer request কোনো v2.2-only ভেন্ডরের কাছে না যায়।
Common Migration Pitfalls
- v2.3-কে UI রিডিজাইন করার সুযোগ হিসেবে দেখা। v2.3 rollout-এর সাথে ব্র্যান্ড আপডেট জুড়ে দিতে ইচ্ছে হতে পারে, কিন্তু এতে কমপ্লায়েন্স টেস্টিং জটিল হয়ে যায়। আগে কেবল কমপ্লায়েন্স-কেন্দ্রিক v2.3 রিলিজ শিপ করুন, পরে ডিজাইনে ইটারেশন আনুন।
- retention display requirement মিস করা। অনেক টিম vendor list ভিউ আপডেট করে, কিন্তু ভুলে যায় যে এখন retention-কে purpose-by-purpose layered view-তেও দেখাতে হবে।
- ধরা যে কেবল TC String যথেষ্ট। কোনো non-compliant UI থেকে তৈরি হলেও, একটি "compliant" string-ও আসলে non-compliant হিসেবেই ধরা হবে। নিয়ন্ত্রকেরা বারবার এমন অপারেটরদের জরিমানা করেছে, যাদের string দেখতে ঠিকঠাক ছিল, কিন্তু যাদের ব্যানারে reject বোতাম লুকিয়ে রাখা ছিল।
- CTV এবং মোবাইলকে স্কোপের বাইরে রেখে দেওয়া। v2.3 সেই সব surface-এ প্রযোজ্য যেখানে TCF signal তৈরি হয়। যারা কেবল web আপডেট পাঠিয়ে তাদের CTV বা মোবাইল অ্যাপগুলো অগ্রাহ্য করে, তারা আসলে একটি হাইব্রিড non-compliant পরিবেশ তৈরি করে।
Conclusion
TCF v2.3 v2.2 থেকে কোনো বিচ্ছিন্ন, বিঘ্নকর ভাঙন নয়, কিন্তু এটি সেই নিয়মগুলোর অর্থপূর্ণ কড়াকড়ি যেগুলো ইউরোপিয়ান প্রোগ্রাম্যাটিক ইকোসিস্টেমকে ধরে রেখেছে। গতিপথ স্পষ্ট: আরও বেশি স্বচ্ছতা, ��ম dark pattern, আরও সূক্ষ্ম ব্যবহারকারীনিয়ন্ত্রণ, এবং আগের ফাঁকফোকরগুলোর জন্য কম সহনশীলতা। যারা v2.3-কে কেবল দ্রুত এক প্যাচ হিসেবে দেখবে, তারা অল্প দিনেই আবার নিয়ন্ত্রকের সামনে হাজির হবে। যারা এই মাইগ্রেশনকে second-layer UX পরিষ্কার করার, legitimate-interest শর্টকাট বাদ দেওয়ার, এবং সত্যিকারের equal-prominence consent flow গড়ে তোলার সুযোগ হিসেবে নেবে, তারা v2.3 যুগে এমন inventory নিয়ে বেরোবে যা বাস্তবে ক্লিয়ার হবে — এবং এমন একটি consent posture পাবে যা v2.4 যা-ই নিয়ে আসুক না কেন, তার মধ্যেও টিকে থাকবে।