IAB TCF v2.2에서 v2.3으로 마이그레이션 가이드: 무엇이 바뀌었고 CMP는 어떻게 업그레이드해야 하는가
IAB Europe Transparency and Consent Framework(TCF)는 유럽 프로그래매틱 광고에서 가장 널리 채택된 동의 신호입니다. 프레임워크의 각 버전은 단순한 외형 업데이트가 아니라, 규제 기관의 피드백, 집행 사례, 실제 퍼블리셔와 벤더의 운영 방식에서 얻은 교훈을 반영합니다. TCF v2.2에서 v2.3으로의 전환도 예외가 아닙니다.
이 가이드는 v2.3이 실제로 무엇을 변경하는지, 왜 그런 변경이 이루어졌는지, 그리고 프로덕션 CMP를 마이그레이션할 때 동의된 인벤토리를 잃거나 전환 기간 동안 Policies를 위반하지 않고 이전하는 방법을 단계적으로 설명합니다.
요약
TCF v2.3은 v2.2의 진화 버전이지, 재설계가 아닙니다. TC String 포맷은 호환되며, 기존 목적(purposes)과 기능(features)은 유지되고, 대부분의 퍼블리셔 대상 UI 요구사항도 거의 그대로 이어집니다. 의미 있는 변경 사항은 네 가지 영역에 집중됩니다.
- 벤더 정보와 보관 기간(retention period)을 CMP가 어떻게 제시해야 하는지에 대한 보다 명확한 규칙.
- 2022년 벨기에 DPA 결정 이후 규제 기관이 요구해 온 세분화된 2단계(second-layer) 제어에 대한 새로운 요건.
- 다크 패턴, 동등한 눈에 띔(equal prominence), 사전 체크 옵션에 대한 정책 집행 강화.
- Global Vendor List(GVL) 스키마와 벤더 디스클로저 플로우에 대한 조정.
v2.3이 존재하는 이유
모든 TCF 버전은 세 집단 사이의 조율 결과입니다. 수익을 유지해야 하는 퍼블리셔, 안정적인 기술 인터페이스가 필요한 벤더, 그리고 구체적인 컴플라이언스 공백을 계속 찾아내는 규제 기관입니다. v2.3은 특히 세 가지 압력에 대한 직접적인 대응입니다.
- v2.2에서의 "정당한 이���(legitimate interest)" 남용에 대한 집행 조치. 여러 유럽 DPA는 너무 많은 벤더가 실제로는 동의만이 적법한 목적에 대해 LI를 주장했다고 판단했습니다. v2.3은 벤더가 선언하는 법적 근거(legal basis) 디스클로저를 강화하고, 이를 동의 UI에서 더 이른 단계에 노출하도록 요구합니다.
- 다크 패턴에 대한 지속적인 민원. 업데이트된 Policies는 동등한 눈에 띔 규칙을 더 명확히 하고, 2단계 화면에서의 사전 체크 토글에 대한 허점을 차단합니다.
- 대형 CMP와 퍼블리셔의 운영 피드백. v2.2는 모바일과 CTV에서 깔끔하게 구현하기 어려운 필수 디스클로저를 여럿 도입했습니다. v2.3은 필수 디스클로저 세트를 정리하고, 그 상당 부분을 레이어드 뷰에 배치할 수 있도록 허용합니다.
TC String 호환성
TC String 자체는 계속 역호환성을 유지합니다. v2.3 CMP는 v2.2 벤더가 읽을 수 있는 문자열을 생성하고, v2.3 벤더는 전환 기간 동안 v2.2 문자열을 소비할 수 있습니다. 문자열의 코어 세그먼트에 있는 버전 인디케이터는 CMP가 어떤 정책 버전에 따라 컴플라이언스를 주장하는지 식별하며, GVL 버전 포인터는 별도로 앞으로 나아갑니다.
실무적으로 의미하는 바는 다음과 같습니다. 모든 벤더를 동시에 업데이트할 필요가 없고, v2.3을 배포하는 날 모든 사용자에게 강제로 새로운 동의 이벤트를 발생시킬 필요도 없습니다. 단계적 롤아웃이 명시적으로 허용됩니다.
주요 기술 변경 사항
1. 벤더 디스클로저와 보관 기간
v2.3은 CMP가 각 벤더가 선언한 데이터 보관 기간을 별도의 벤더 리스트뿐 아니라 레이어드 UI에서도 노출하도록 요구합니다. 보관 값은 항상 GVL의 일부였지만, v2.2는 사용자가 목적과 함께 이를 보도록 의무화하지 않았습니다. v2.3은 이 공백을 메우는데, 규제 기관은 사용자가 자신의 데이터가 얼마나 오래 보관되는지 모른다면 충분한 정보를 바탕으로 선택할 수 없다고 주장했기 때문입니다.
2. 더 엄격한 2단계 제어
2단계, 즉 "환경 설정 관리" 뷰에서 v2.3은 필수적이지 않은 목적과 벤더에 대한 토글이 기본값으로 꺼짐(off) 상태여야 한다고 명시합니다. 사용자가 "동의"를 명시적으로 클릭하지 않더라도, 사전 체크 박스나 기본 활성 슬라이더는 정책 위반입니다. 이전에 "소프트 옵트인" 패턴에 의존하던 CMP는 2단계 화면을 다시 렌더링해야 합니다.
3. 동등한 눈에 띔(equal prominence) 집행
동등한 눈에 띔 규칙은 v2.1부터 존재했지만, v2.3은 해석의 여지를 줄이도록 이를 정의합니다. "모두 거부" 컨트롤은 "모두 허용"과 동일한 레이어, 동일한 시각적 무게, 동일한 색 대비 클래스, 동일한 상호작용 거리 상에 있어야 합니다. 거부 버튼을 링크 뒤에 숨기거나, 더 작은 버튼으로 만들거나, 2차 화면에 배치하는 것은 이제 판단의 문제가 아니라 명시적인 비준수(compliance failure)입니다.
4. 정당한 이익(Legitimate Interest) 신호
v2.3에서 정당한 이익을 법적 근거로 선언하는 벤더는 이제 어떤 목적에 대해 평가를 수행했고, 어떤 목적에 대해 Legitimate Interests Assessment를 완료했는지도 함께 선언해야 합니다. CMP는 이 선언을 사용자 인터페이스에 그대로 전달하여, 사용자가 충분한 정보를 가지고 이의를 제기할 수 있도록 해야 합니다. 실제로는 "이의 제기(object)" 플로우가 이제 일반적인 토글이 아니라 벤더별 LIA 상태를 ��시한다는 의미입니다.
5. GVL 스키마 업데이트
Global Vendor List 스키마에는 보관 기간의 세분도(retention granularity), LIA 상태, 각 벤더의 프라이버시 정책 중 선언된 목적에 해당하는 섹션으로의 기계 판독 가능한 링크 필드가 추가됩니다. GVL을 캐시하는 CMP는 v2.3 GVL을 가리키기 전에 스키마 파서를 업데이트하여 새 필드를 이해할 수 있어야 합니다.
UX에 영향을 주는 정책 변경
TCF는 기술 사양이자 Policies 집합입니다. v2.3 Policy 변경 중 일부는 동의 UI에 직접적인 영향을 줍니다.
- "동의하지 않고 계속"을 거부와 동등하게 사용하는 것 금지 — 단, 시각적으로 동의 버튼과 동일하고, 전체 거부와 동일한 TC String을 생성하는 경우는 예외입니다.
- 언어 동등성(Language parity) — 동의 알림은 사이트 자체가 제공되는 모든 언어로 제공되어야 하며, 사용자 브라우저 언어만 지원해서는 안 됩니다. CMP는 로케일 오버라이드를 지원해야 합니다.
- 지속적인 접근성(Persistent access) — 사용자는 랜딩 페이지뿐 아니라 사이트의 모든 페이지에서 환경 설정 센터에 접근할 수 있어야 하며, 접근 링크는 비전문 사용자도 동의 관련임을 인지할 수 있는 방식으로 라벨링되어야 합니다.
퍼블리셔가 해야 할 일
- CMP 벤더의 v2.3 지원 여부 확인. v2.3 인증 빌드가 제공되는 정확한 날짜와, 해당 빌드가 보고할 버전 문자열을 요청하세요.
- GVL 캐시 로직 갱신. GVL 미러를 자체 호스팅하는 경우, v2.3 GVL이 롤아웃되기 전에 스키마 파서를 업데이트하지 않으면 CMP가 신규 벤더를 검증하지 못합니다.
- 2단계 UI 재작성. 모든 토글이 기본값으로 꺼짐 상태인지, 동등한 눈에 띔이 시각적으로 보장되는지, 보관 기간이 목적과 나란히 표시되는지 확인하세요.
- 컴플라이언스 감사 재실시. 규제 기관이 가장 쉽게 적발하는 위반은 v2.3에서 명시적으로 지적된 다크 패턴입니다. 다음 집행 점검 전에 이를 먼저 수정하세요.
- 재프롬프트 전략 수립. TC String은 역호환되지만, Policies는 처리 범위나 디스클로저가 실질적으로 변경될 경우 동의를 다시 구하도록 권장합니다. v2.3 롤아웃이 귀하의 ���디언스에 대해 "실질적(material)" 변경에 해당하는지 판단해야 합니다.
벤더가 해야 할 일
- 정당한 이익 평가(Legitimate Interests Assessment) 완료. LI를 선언하는 모든 목적에 대해 LIA를 수행하고, 그 결과를 GVL에 제출하세요.
- GVL 엔트리 업데이트. v2.3 스키마 필드(보관 기간 세분도, LIA 선언, 프라이버시 정책 딥링크)로 GVL 엔트리를 갱신하세요.
- TC String 파서 검증. IAB Europe이 제공하는 v2.3 레퍼런스 문자열에 대해 파서를 검증하세요.
- CMP 파트너와 전환 시점 조율. v2.3 문자열을 담은 첫 번째 바이어 요청이 v2.2만 지원하는 벤더에게 도달하지 않도록, 공통 전환 날짜를 조율하세요.
일반적인 마이그레이션 함정
- v2.3을 UI 리디자인 기회로 취급. v2.3 롤아웃과 브랜드 업데이트를 묶고 싶은 유혹이 있지만, 이는 컴플라이언스 테스트를 복잡하게 만듭니다. 먼저 컴플라이언스 전용 v2.3 릴리스를 배포한 뒤, 디자인을 반복 개선하는 편이 좋습니다.
- 보관 기간 표시 요건 누락. 팀은 종종 벤더 리스트 뷰만 업데이트하고, 이제 보관 기간이 목적별 레이어드 뷰에도 나타나야 한다는 점을 잊습니다.
- TC String만으로 충분하다고 가정. 비준수 UI가 생성한 "형식상으로는" 준수 TC String도 여전히 비준수입니다. 규제 기관은 문자열은 멀쩡해 보였지만 배너가 거부 버튼을 숨긴 운영자에게 반복적으로 벌금을 부과해 왔습니다.
- CTV와 모바일을 범위에서 제외. v2.3은 TCF 신호가 생성되는 모든 서피스에 적용됩니다. 웹만 업데이트하고 CTV나 모바일 앱을 무시하는 퍼블리셔는 하이브리드 비준수 환경을 만들게 됩니다.
결론
TCF v2.3은 v2.2와 단절되는 파괴적 변화는 아니지만, 유럽 프로그래매틱 생태계를 지탱하는 규칙을 의미 있게 조여 놓습니다. 방향성은 분명합니다. 더 많은 투명성, 더 적은 다크 패턴, 더 세분화된 사용자 제어, 그리고 과거에 눈감아 주던 예외 사례에 대한 낮은 관용입니다. v2.3을 단순 패치로 취급하는 CMP와 퍼블리셔는 다시 규제 기관 앞에 서게 될 것입니다. 반대로 이번 마이그레이션을 계기로 2단계 UX를 정비하고, 정당한 이익 편법을 걷어내며, 진정한 동등한 눈에 띔 동의 플로우를 재구축하는 사업자는 v2.3 시대에도 실제로 거래가 성사되는 인벤토리를 확보하고, 앞으로 등장할 v2.4에서도 버틸 수 있는 동의 체계를 갖추게 될 것입니다.