Jak číst řetězec souhlasu TCF: Praktický průvodce pro vývojáře
Co TC string vlastně je
IAB Transparency & Consent Framework vytváří jediný kompaktní token — TC string — který putuje s každým reklamním požadavkem a přesně sděluje dodavatelům, s čím uživatel souhlasil a s čím ne. Je zakódován v Base64-URL a zabalen na úrovni bitů, takže vypadá jako blábol (CPxy...AAA), ale kóduje přesný, auditovatelný záznam.
Segmenty
Úplný TC string je několik segmentů oddělených tečkou. První je jádrový řetězec; ostatní jsou volitelné:
- Jádro — ID CMP, verze CMP, časové značky souhlasu, verze zásad a klíčová bitová pole souhlasů s účely a souhlasů s dodavateli.
- Zveřejnění dodavatelé — kteří dodavatelé byli uživateli zobrazeni.
- Publisher TC — souhlasy specifické pro vás, vydavatele.
Bitová pole jsou jádrem celé věci: bit N nastavený na 1 znamená souhlas pro účel N nebo dodavatele N. Účel 1 je “uchovávání/přístup k informacím na zařízení,” účely 3 a 4 pokrývají personalizovanou reklamu a tak dále.
Dekódování v praxi
Bity dekódujete ručně jen zřídka. Použijte knihovny dodané IAB nebo veřejný dekodér:
- Rozdělte podle
.a dekódujte jádrový segment z Base64-URL. - Přečtěte pole hlavičky s pevnou šířkou (version, created, lastUpdated, cmpId, cmpVersion).
- Projděte bitová pole účelů a dodavatelů, abyste viděli přesně, které jsou uděleny.
V JavaScriptu volání __tcfapi('getTCData', 2, cb) vrací již rozparsovaný objekt — tcData.purpose.consents a tcData.vendor.consents jsou mapy id → boolean. To je vaše pravda za běhu.
Chyby, které zabíjejí příjmy
Když personalizovaná poptávka tiše zmizí, obvykle za to může TC string:
- Chybějící řetězec — reklamní požadavek nenese žádný
gdprApplies/TC string, takže vyhovující SSP klesnou na nepersonalizované. - Dodavatel bez souhlasu — bit ID dodavatele vašeho partnera poptávky je 0, takže nemůže přihazovat s personalizací.
- Vypršelý nebo zastaralý řetězec — stará časová značka způsobí, že navazující platformy mu nedůvěřují.
- Nesprávné ID CMP — neregistrované nebo testovací ID CMP zneplatní celý řetězec.
Postup ladění
Reprodukujte uživatelův souhlas, získejte živý TC string z __tcfapi nebo reklamního požadavku, proveďte jej validátorem a porovnejte dekódované účely/dodavatele s tím, co vyžadují vaši partneři. Devětkrát z deseti je mezerou jediný bit dodavatele nebo chybějící účel 1.
Kam FlexyConsent zapadá
FlexyConsent generuje TC stringy platné podle specifikace s registrovaným ID CMP, udržuje je čerstvé, vystavuje dekódovaný stav pro ladění a hlásí, které účely a dodavatelé jsou ve vašem provozu skutečně udělovány — takže můžete vidět, ne hádat, kde souhlas (a příjmy) uniká.
Klíčové poznatky
- TC string je bitově zabalený, auditovatelný záznam každé volby souhlasu.
- Bitová pole účelů a dodavatelů rozhodují, zda partneři mohou poskytovat personalizovanou reklamu.
- Většina poklesů příjmů pochází z chybějícího řetězce, dodavatele bez souhlasu nebo zastaralého/neplatného ID CMP.
- Při ladění dekódujte živý řetězec pomocí
__tcfapia validujte jej oproti požadavkům partnerů.