Paano Basahin ang isang TCF Consent String: Field Guide para sa Developer
Ano Talaga ang TC String
Ang IAB Transparency & Consent Framework ay gumagawa ng isang compact na token — ang TC string — na lumalakbay kasama ng bawat ad request at sinasabi sa mga vendor nang eksakto kung ano ang sinang-ayunan at hindi sinang-ayunan ng user. Ito ay Base64-URL encoded at nakaimpake sa bit level, kaya mukhang walang kuwenta (CPxy...AAA) ngunit nag-eencode ng tumpak, ma-audit na record.
Ang mga Segment
Ang isang buong TC string ay ilang segment na pinaghihiwalay ng tuldok. Ang una ay ang core string; ang iba ay opsyonal:
- Core — CMP ID, bersyon ng CMP, ang mga timestamp ng pahintulot, ang bersyon ng patakaran, at mahalagang ang mga bitfield ng purpose consents at vendor consents.
- Disclosed vendors — kung aling mga vendor ang ipinakita sa user.
- Publisher TC — mga pahintulot na partikular sa iyo, ang publisher.
Ang mga bitfield ang puso nito: ang bit N na naka-set sa 1 ay nangangahulugang pahintulot para sa purpose N o vendor N. Ang Purpose 1 ay “mag-store/mag-access ng impormasyon sa isang device,” ang purpose 3 at 4 ay sumasaklaw sa mga personalized na ad, at iba pa.
Pag-decode ng Isa sa Praktika
Bihira mong i-decode ang mga bit nang manu-mano. Gamitin ang mga library na ibinibigay ng IAB o isang pampublikong decoder:
- Hatiin sa
.at Base64-URL-decode ang core segment. - Basahin ang mga fixed-width na header field (version, created, lastUpdated, cmpId, cmpVersion).
- Lakaran ang mga bitfield ng purpose at vendor para makita nang eksakto kung alin ang ipinagkaloob.
Sa JavaScript ang tawag na __tcfapi('getTCData', 2, cb) ay nagbabalik ng na-parse na object — ang tcData.purpose.consents at tcData.vendor.consents ay mga map ng id → boolean. Iyon ang iyong ground truth sa runtime.
Ang mga Error na Pumapatay sa Kita
Kapag tahimik na nawala ang personalized na demand, ang TC string ang kadalasang dahilan:
- Nawawalang string — ang ad request ay walang dalang
gdprApplies/TC string, kaya bumababa ang mga sumusunod na SSP sa non-personalized. - Vendor na hindi nagpahintulot — ang vendor ID bit ng iyong demand partner ay 0, kaya hindi sila makakapag-bid nang may personalization.
- Nag-expire o lumang string — ang lumang timestamp ay nagpapawalang-tiwala sa mga downstream na platform.
- Maling CMP ID — ang isang hindi-rehistrado o test CMP ID ay nagpapawalang-bisa sa buong string.
Isang Daloy ng Pag-debug
I-reproduce ang pahintulot ng user, kunin ang live na TC string mula sa __tcfapi o sa ad request, patakbuhin ito sa isang validator, at ihambing ang mga na-decode na purpose/vendor sa kinakailangan ng iyong mga partner. Siyam sa sampung beses ang puwang ay isang vendor bit o isang nawawalang purpose 1.
Kung Saan Pumapasok ang FlexyConsent
Bumubuo ang FlexyConsent ng mga TC string gamit ang sertipikadong CMP ID 317 nito at ibinibigay ang mga ito sa pamamagitan ng __tcfapi, kaya maaari mong i-decode ang kasalukuyang string; ipinapakita ng mga ulat nito ang mga desisyon ayon sa pinagmulan at rehiyon.
Mga Pangunahing Punto
- Ang TC string ay isang bit-packed, ma-audit na record ng bawat pagpili sa pahintulot.
- Ang mga bitfield ng purpose at vendor ang nagdedesisyon kung maaaring maghatid ng personalized na ad ang mga partner.
- Karamihan sa pagbaba ng kita ay nakatutok sa isang nawawalang string, isang vendor na hindi nagpahintulot, o isang luma/invalid na CMP ID.
- I-decode ang live string gamit ang
__tcfapiat i-validate ito laban sa mga kinakailangan ng partner kapag nag-de-debug.