Как читать строку согласия TCF: практическое руководство для разработчиков

Что на самом деле такое TC String

IAB Transparency & Consent Framework создаёт единый компактный токен — TC string — который путешествует с каждым рекламным запросом и точно сообщает поставщикам, на что пользователь согласился, а на что нет. Он закодирован в Base64-URL и упакован на уровне битов, поэтому выглядит как бессмыслица (CPxy...AAA), но кодирует точную, пригодную для аудита запись.

Сегменты

Полная TC string — это несколько разделённых точками сегментов. Первый — это core string; остальные необязательны:

Битовые поля — это его сердце: бит N, установленный в 1, означает согласие на цель N или поставщика N. Цель 1 — это “хранить/получать доступ к информации на устройстве,” цели 3 и 4 охватывают персонализированную рекламу и так далее.

Декодирование одной на практике

Вы редко декодируете биты вручную. Используйте предоставленные IAB библиотеки или публичный декодер:

В JavaScript вызов __tcfapi('getTCData', 2, cb) возвращает уже разобранный объект — tcData.purpose.consents и tcData.vendor.consents являются картами id → boolean. Это ваша истина в основе во время выполнения.

Ошибки, убивающие доход

Когда персонализированный спрос тихо исчезает, обычно причина — TC string:

Рабочий процесс отладки

Воспроизведите согласие пользователя, получите живую TC string из __tcfapi или рекламного запроса, прогоните её через валидатор и сравните декодированные цели/поставщиков с тем, что требуют ваши партнёры. В девяти случаях из десяти пробел — это один бит поставщика или отсутствующая цель 1.

Где вписывается FlexyConsent

FlexyConsent генерирует TC string, действительные по спецификации, с зарегистрированным CMP ID, держит их свежими, предоставляет декодированное состояние для отладки и сообщает, какие цели и поставщики действительно предоставляются в вашем трафике — так что вы можете видеть, а не гадать, где утекает согласие (и доход).

Ключевые выводы

← Блог Читать все →