Како читати 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 string-ове валидне према спецификацији са регистрованим CMP ID-ом, одржава их свежим, излаже декодирано стање за дебаговање и извештава које сврхе и добављачи се заиста одобравају широм вашег саобраћаја — тако да можете да видите, а не да нагађате, где сагласност (и приходи) цуре.
Кључни закључци
- TC string је битски упакован, проверљив запис сваког избора сагласности.
- Битска поља сврха и добављача одлучују да ли партнери могу да приказују персонализоване рекламе.
- Већина падова прихода се своди на недостајући стринг, добављача без сагласности или застарео/неважећи CMP ID.
- Декодирајте живи стринг помоћу
__tcfapiи валидирајте га у односу на захтеве партнера приликом дебаговања.