Kako brati TCF niz privolitve: terenski vodnik za razvijalce
Kaj TC string dejansko je
IAB Transparency & Consent Framework ustvari en sam kompakten žeton — TC string — ki potuje z vsako oglaševalsko zahtevo in ponudnikom natančno pove, s čim se je uporabnik strinjal in s čim ne. Kodiran je v Base64-URL in zapakiran na ravni bitov, zato je videti kot nesmisel (CPxy...AAA), a kodira natančen, preverljiv zapis.
Segmenti
Poln TC string je sestavljen iz več segmentov, ločenih s piko. Prvi je jedrni niz; ostali so neobvezni:
- Jedro — ID CMP, različica CMP, časovne oznake privolitve, različica politike in ključno bitna polja privolitve za namene in privolitve za ponudnike.
- Disclosed vendors — kateri ponudniki so bili prikazani uporabniku.
- Publisher TC — privolitve, značilne za vas, izdajatelja.
Bitna polja so srž vsega: bit N, nastavljen na 1, pomeni privolitev za namen N ali ponudnika N. Namen 1 je “shranjevanje/dostop do informacij na napravi,” namena 3 in 4 zajemata personalizirane oglase in tako naprej.
Dekodiranje enega v praksi
Bitov le redko dekodirate ročno. Uporabite knjižnice, ki jih ponuja IAB, ali javni dekoder:
- Razdelite po
.in Base64-URL-dekodirajte jedrni segment. - Preberite polja glave s fiksno širino (version, created, lastUpdated, cmpId, cmpVersion).
- Sprehodite se skozi bitna polja namenov in ponudnikov, da vidite natančno, katera so odobrena.
V JavaScriptu klic __tcfapi('getTCData', 2, cb) vrne že razčlenjeni objekt — tcData.purpose.consents in tcData.vendor.consents sta preslikavi id → boolean. To je vaša temeljna resnica med izvajanjem.
Napake, ki ubijajo prihodek
Ko personalizirano povpraševanje tiho izgine, je TC string običajno razlog:
- Manjkajoč niz — oglaševalska zahteva ne nosi nobenega
gdprApplies/TC string, zato skladni SSP-ji padejo na nepersonalizirano. - Ponudnik brez privolitve — bit ID-ja ponudnika vašega partnerja povpraševanja je 0, zato ne morejo licitirati s personalizacijo.
- Potekel ali zastarel niz — stara časovna oznaka povzroči, da platforme nižje v verigi ne zaupajo vanj.
- Napačen ID CMP — neregistriran ali testni ID CMP razveljavi celoten niz.
Potek dela za odpravljanje napak
Reproducirajte uporabnikovo privolitev, pridobite živ TC string iz __tcfapi ali oglaševalske zahteve, ga preženite skozi validator in primerjajte dekodirane namene/ponudnike s tem, kar zahtevajo vaši partnerji. Devetkrat od desetih je vrzel en sam bit ponudnika ali manjkajoč namen 1.
Kam se umešča FlexyConsent
FlexyConsent ustvarja TC stringe, veljavne po specifikaciji, z registriranim ID-jem CMP, jih ohranja sveže, izpostavi dekodirano stanje za odpravljanje napak in poroča, kateri nameni in ponudniki so dejansko odobreni v vašem prometu — tako da lahko vidite, ne ugibate, kje privolitev (in prihodek) pušča.
Ključne ugotovitve
- TC string je bitno zapakiran, preverljiv zapis vsake izbire privolitve.
- Bitna polja namenov in ponudnikov odločajo, ali lahko partnerji strežejo personalizirane oglase.
- Večina padcev prihodka vodi do manjkajočega niza, ponudnika brez privolitve ali zastarelega/neveljavnega ID-ja CMP.
- Dekodirajte živ niz z
__tcfapiin ga med odpravljanjem napak validirajte glede na zahteve partnerjev.