Како читати TCF стринг сагласности: практични водич за програмере
Шта TC string заправо јесте
IAB Transparency & Consent Framework производи један компактан токен — TC string — који путује са сваким рекламним захтевом и говори добављачима тачно са чим се корисник сложио, а са чим не. Кодиран је у Base64-URL и упакован на нивоу битова, па изгледа као бесмислица (CPxy...AAA), али кодира прецизан, проверљив запис.
Сегменти
Пун TC string чини неколико сегмената раздвојених тачкама. Први је основни стринг (core string); остали су опциони:
- Core — CMP ID, верзија CMP-а, временске ознаке сагласности, верзија политике и кључно, битска поља сагласности за сврхе и сагласности за добављаче.
- Disclosed vendors — који добављачи су приказани кориснику.
- Publisher TC — сагласности специфичне за вас, издавача.
Битска поља су срж тога: бит N постављен на 1 значи сагласност за сврху N или добављача N. Сврха 1 је “чување/приступ информацијама на уређају”, сврхе 3 и 4 покривају персонализоване рекламе и тако даље.
Декодирање у пракси
Ретко декодирате битове ручно. Користите библиотеке које обезбеђује IAB или јавни декодер:
- Поделите по
.и Base64-URL декодирајте core сегмент. - Прочитајте поља заглавља фиксне ширине (version, created, lastUpdated, cmpId, cmpVersion).
- Прођите кроз битска поља сврха и добављача да видите тачно која су одобрена.
У JavaScript-у, позив __tcfapi('getTCData', 2, cb) враћа већ парсиран објекат — tcData.purpose.consents и tcData.vendor.consents су мапе id → boolean. То је ваша основна истина у време извршавања.
Грешке које убијају приходе
Када персонализована потражња тихо нестане, TC string је обично разлог:
- Недостајући стринг — рекламни захтев не носи
gdprApplies/TC string, па усклађени SSP-ови падају на неперсонализовано. - Добављач без сагласности — бит ID-а добављача вашег партнера потражње је 0, па не може да даје понуду са персонализацијом.
- Истекао или застарео стринг — стара временска ознака чини да платформе низводно немају поверења у њега.
- Погрешан CMP ID — нерегистрован или тест CMP ID поништава цео стринг.
Радни ток дебаговања
Репродукујте сагласност корисника, узмите живи TC string из __tcfapi или рекламног захтева, провуците га кроз валидатор и упоредите декодиране сврхе/добављаче са оним што ваши партнери захтевају. Девет од десет пута јаз је један бит добављача или недостајућа сврха 1.
Где се FlexyConsent уклапа
FlexyConsent генерише TC низове са својим сертификованим CMP ID-јем 317 и даје их преко __tcfapi, па можете да декодирате актуелни низ; његови извештаји приказују одлуке по извору и региону.
Кључни закључци
- TC string је битски упакован, проверљив запис сваког избора сагласности.
- Битска поља сврха и добављача одлучују да ли партнери могу да приказују персонализоване рекламе.
- Већина падова прихода се своди на недостајући стринг, добављача без сагласности или застарео/неважећи CMP ID.
- Декодирајте живи стринг помоћу
__tcfapiи валидирајте га у односу на захтеве партнера приликом дебаговања.