چگونه یک رشته رضایت 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 ثبتشده تولید میکند، آنها را تازه نگه میدارد، وضعیت رمزگشاییشده را برای عیبیابی نمایش میدهد و گزارش میدهد که کدام اهداف و فروشندگان در سراسر ترافیک شما واقعاً اعطا میشوند — بنابراین میتوانید ببینید، نه حدس بزنید، که رضایت (و درآمد) کجا نشت میکند.
نکات کلیدی
- TC string یک سابقه بیتبستهبندیشده و قابلحسابرسی از هر انتخاب رضایت است.
- فیلدهای بیتی هدف و فروشنده تصمیم میگیرند که آیا شرکا میتوانند تبلیغات شخصیسازیشده ارائه دهند.
- بیشتر افتهای درآمد به یک رشته گمشده، یک فروشنده بدون رضایت یا یک شناسه CMP کهنه/نامعتبر برمیگردد.
- هنگام عیبیابی رشته زنده را با
__tcfapiرمزگشایی کنید و آن را در برابر الزامات شرکا اعتبارسنجی کنید.