چگونه یک رشته رضایت TCF را بخوانیم: راهنمای میدانی توسعهدهنده
TC string واقعاً چیست
چارچوب IAB Transparency & Consent Framework یک توکن فشرده واحد تولید میکند — TC string — که با هر درخواست تبلیغاتی همراه میشود و دقیقاً به فروشندگان میگوید کاربر با چه چیزی موافقت کرده و با چه چیزی موافقت نکرده است. با Base64-URL رمزگذاری شده و در سطح بیت بستهبندی شده است، بنابراین مانند مهملات به نظر میرسد (CPxy...AAA) اما یک سابقه دقیق و قابلحسابرسی را رمزگذاری میکند.
بخشها
یک TC string کامل چند بخش است که با نقطه جدا شدهاند. اولی رشته هسته است؛ بقیه اختیاری هستند:
- هسته — شناسه CMP، نسخه CMP، مهرهای زمانی رضایت، نسخه سیاست و مهمتر از همه فیلدهای بیتی رضایتهای هدف و رضایتهای فروشنده.
- فروشندگان افشاشده — اینکه کدام فروشندگان به کاربر نشان داده شدند.
- Publisher TC — رضایتهای مخصوص شما، ناشر.
فیلدهای بیتی قلب کار هستند: بیت N که روی 1 تنظیم شده یعنی رضایت برای هدف N یا فروشنده N. هدف ۱ “ذخیره/دسترسی به اطلاعات روی یک دستگاه” است، اهداف ۳ و ۴ تبلیغات شخصیسازیشده را پوشش میدهند و غیره.
رمزگشایی یکی در عمل
شما بهندرت بیتها را با دست رمزگشایی میکنید. از کتابخانههای ارائهشده توسط IAB یا یک رمزگشای عمومی استفاده کنید:
- روی
.تقسیم کنید و بخش هسته را با Base64-URL رمزگشایی کنید. - فیلدهای سرآیند با عرض ثابت را بخوانید (version, created, lastUpdated, cmpId, cmpVersion).
- فیلدهای بیتی هدف و فروشنده را پیمایش کنید تا دقیقاً ببینید کدامها اعطا شدهاند.
در جاوااسکریپت فراخوانی __tcfapi('getTCData', 2, cb) شیء از قبل تجزیهشده را برمیگرداند — tcData.purpose.consents و tcData.vendor.consents نگاشتهایی از id → boolean هستند. این حقیقت پایه شما در زمان اجرا است.
خطاهایی که درآمد را میکشند
وقتی تقاضای شخصیسازیشده بیصدا ناپدید میشود، معمولاً TC string دلیل آن است:
- رشته گمشده — درخواست تبلیغاتی هیچ
gdprApplies/TC string حمل نمیکند، بنابراین SSPهای منطبق به غیرشخصیسازیشده میافتند. - فروشنده بدون رضایت — بیت شناسه فروشنده شریک تقاضای شما 0 است، بنابراین نمیتواند با شخصیسازی پیشنهاد دهد.
- رشته منقضی یا کهنه — یک مهر زمانی قدیمی باعث میشود پلتفرمهای پاییندستی به آن بیاعتماد شوند.
- شناسه CMP اشتباه — یک شناسه CMP ثبتنشده یا آزمایشی کل رشته را بیاعتبار میکند.
یک گردشکار عیبیابی
رضایت کاربر را بازتولید کنید، TC string زنده را از __tcfapi یا درخواست تبلیغاتی بگیرید، آن را از یک اعتبارسنج بگذرانید و اهداف/فروشندگان رمزگشاییشده را با آنچه شرکای شما نیاز دارند مقایسه کنید. نه بار از ده بار شکاف یک بیت فروشنده واحد یا یک هدف ۱ گمشده است.
جایگاه FlexyConsent
FlexyConsent رشتههای TC را با شناسه CMP تأییدشده 317 خود تولید میکند و از طریق __tcfapi ارائه میدهد، بنابراین میتوانید رشته فعلی را رمزگشایی کنید؛ گزارشهای آن تصمیمها را بر اساس منبع و منطقه نشان میدهند.
نکات کلیدی
- TC string یک سابقه بیتبستهبندیشده و قابلحسابرسی از هر انتخاب رضایت است.
- فیلدهای بیتی هدف و فروشنده تصمیم میگیرند که آیا شرکا میتوانند تبلیغات شخصیسازیشده ارائه دهند.
- بیشتر افتهای درآمد به یک رشته گمشده، یک فروشنده بدون رضایت یا یک شناسه CMP کهنه/نامعتبر برمیگردد.
- هنگام عیبیابی رشته زنده را با
__tcfapiرمزگشایی کنید و آن را در برابر الزامات شرکا اعتبارسنجی کنید.