광고 수익을 조용히 죽이는 동의 문자열 오류

조용한 수익 누출

여러분의 eCPM이 매달 몇 퍼센트씩 하락할 때, 원인이 인벤토리나 하한가인 경우는 드뭅니다. 더 흔히 그것은 손상된 TC string — 모든 광고 요청과 함께 이동하는 IAB Transparency & Consent Framework(TCF) 신호 — 입니다. 형식이 잘못되었거나 누락된 문자열은 요란한 오류를 던지지 않습니다. 대신 광고 서버가 조용히 비개인화 광고로 폴백하고, 수요 파트너가 빠져나가며, 단 하나의 경고도 없이 수익이 흘러나갑니다. EEA 및 영국에서 수익을 창출하는 앱 및 게임 퍼블리셔에게 이것은 가장 간과되는 수익 손실 원인입니다.

TC String이 실제로 담고 있는 것

TC string은 여러분의 Consent Management Platform(CMP)이 생성하는 base64 인코딩된 블롭입니다. 이는 사용자의 선택을 인코딩합니다: 동의된 목적, 허용된 벤더, 여러분의 CMP ID, 정책 버전, 타임스탬프. 구매자는 이를 밀리초 단위로 디코딩하여 개인화 타겟팅으로 입찰할 수 있는지 결정합니다. 두 가지 신호가 그만큼 중요합니다:

이 중 어느 하나라도 잘못되면 수요가 증발합니다 — 사용자가 실제로 동의했더라도 말입니다.

조용히 여러분의 돈을 앗아가는 다섯 가지 오류

1. 누락되거나 만료된 문자열. CMP가 문자열을 전혀 작성하지 않거나, 캐시된 동의가 재요청 기간을 넘어 오래되면 요청이 신호 없이 나갑니다. 구매자는 "문자열 없음"을 "동의 없음"으로 취급하여 낮은 eCPM의 맥락적 수요로만 입찰하거나 경매를 건너뜁니다.

2. 잘못된 CMP ID. 모든 인증 CMP는 문자열에 내장된 등록 ID를 가지고 있습니다. 인식되지 않는 ID가 작성되면 Google과 IAB 벤더가 이를 거부합니다 — 기존 SDK가 여전히 번들된 마이그레이션 후에 흔히 발생합니다.

3. 선언되지 않은 벤더. 수요 파트너가 완전한 동의를 가지고 있더라도, 해당 벤더 ID가 허용 벤더 목록에 없으면 개인화 입찰을 할 수 없습니다. 퍼블리셔는 파트너를 추가한 후 목록 업데이트를 자주 잊습니다.

4. 형식이 잘못된 gdprApplies. 정수 대신 문자열 "1"을 전달하거나, 명백히 EEA에 있는 사용자에 대해 undefined로 두면 구매자를 혼란스럽게 합니다. 잘못된 gdprApplies=0겉으로는 괜찮아 보이면서도 규정 준수 위험에 노출시킬 수 있습니다.

5. Consent Mode 신호가 발동하지 않음. TCF 문자열은 완벽할 수 있지만 Consent Mode는 기본 거부 상태로 남아 있을 수 있습니다 — 예를 들어 동의가 해결되기 전에 SDK가 광고를 로드할 때입니다. 그러면 Google은 TC string과 관계없이 비개인화 광고를 게재합니다.

단계별 디버깅 워크플로

기기에서 광고 서버 방향으로 작업하고, 깨끗한 상태에서 재현하세요 — 오래된 동의가 여러분을 오도하지 않도록 앱 데이터를 지우거나 새 브라우저 프로필을 사용하세요.

근본 원인 해결

잘못된 요청 하나를 패치하는 것은 쉽습니다. 다음 것을 예방하는 것이 진짜 일입니다. 초기화 전에 광고가 동의를 기다리게 하고, 벤더 목록을 수요 스택과 동기화 상태로 유지하며, 개인화 대 비개인화 노출의 비율을 추적하세요 — 그곳의 변화가 여러분의 가장 빠른 경고입니다.

바로 여기서 Google 인증 CMP가 제값을 합니다. FlexyConsent는 올바른 CMP ID와 벤더 선언으로 유효한 IAB TCF 2.3 문자열을 방출하고, ad_user_dataad_personalization이 사용자의 선택을 추적하도록 Consent Mode v2 신호를 발동하며, 웹, Android, iOS에 걸쳐 동의율 분석을 표면화합니다 — 그래서 손상된 문자열이 여러분의 지급액이 아니라 대시보드에 나타납니다.

핵심 요점

← 블로그 전체 읽기 →