TCF 동의 문자열 읽는 법: 개발자를 위한 실전 가이드

TC string이 실제로 무엇인가

IAB Transparency & Consent Framework는 하나의 간결한 토큰 — TC string — 을 생성하며, 이는 모든 광고 요청과 함께 이동하면서 사용자가 무엇에 동의했고 동의하지 않았는지를 벤더에게 정확히 알려줍니다. Base64-URL로 인코딩되고 비트 수준으로 패킹되어 있어 횡설수설처럼 보이지만(CPxy...AAA) 정확하고 감사 가능한 기록을 인코딩합니다.

세그먼트

완전한 TC string은 점으로 구분된 여러 세그먼트입니다. 첫 번째는 코어 문자열(core string)이며, 나머지는 선택 사항입니다:

비트필드가 핵심입니다: 비트 N이 1로 설정되면 목적 N 또는 벤더 N에 대한 동의를 의미합니다. 목적 1은 “기기에 정보 저장/접근”이고, 목적 3과 4는 개인화 광고를 다루는 식입니다.

실전에서 디코딩하기

비트를 손으로 디코딩하는 경우는 거의 없습니다. IAB에서 제공하는 라이브러리나 공개 디코더를 사용하십시오:

JavaScript에서 __tcfapi('getTCData', 2, cb) 호출은 이미 파싱된 객체를 반환합니다 — tcData.purpose.consentstcData.vendor.consents는 id → 불리언의 맵입니다. 이것이 런타임에서의 진실입니다.

수익을 죽이는 오류들

개인화 수요가 조용히 사라질 때, 대개 TC string이 원인입니다:

디버깅 워크플로

사용자의 동의를 재현하고, __tcfapi 또는 광고 요청에서 실시간 TC string을 가져와 검증기를 통과시킨 뒤, 디코딩된 목적/벤더를 파트너가 요구하는 것과 비교하십시오. 열 번 중 아홉 번은 격차가 단일 벤더 비트 하나 또는 누락된 목적 1입니다.

FlexyConsent의 역할

FlexyConsent는 등록된 CMP ID로 사양에 맞는 TC string을 생성하고, 신선하게 유지하며, 디버깅을 위해 디코딩된 상태를 노출하고, 귀하의 트래픽 전반에서 실제로 어떤 목적과 벤더가 부여되고 있는지 보고합니다 — 따라서 동의(그리고 수익)가 어디서 새고 있는지 추측이 아니라 직접 볼 수 있습니다.

핵심 요약

← 블로그 전체 읽기 →