DEV Community

Cover image for Data Clean Room 입문 — Meta Advanced Analytics, Google ADH, AWS Clean Rooms 비교
HyunSeok Jeong
HyunSeok Jeong

Posted on • Originally published at blog.trysitely.com

Data Clean Room 입문 — Meta Advanced Analytics, Google ADH, AWS Clean Rooms 비교

"우리 고객 데이터랑 매체의 노출 데이터를 합쳐서 진짜 기여도를 보고 싶은데, 개인정보 때문에 서로 raw를 줄 수가 없어요." 쿠키가 사라지고 ATT·GDPR이 조여 오면서, 마케팅 데이터의 가장 어려운 질문이 됐습니다. Data Clean Room은 이 딜레마의 업계 표준 답입니다. 두 회사가 서로의 raw 데이터를 보지 못한 채, 공통된 유저에 대한 집계 결과만 안전하게 주고받는 잠긴 방이죠. 이 글은 clean room의 본질, 주요 플랫폼 다섯 곳의 차이, 그리고 마케터가 실제로 무엇에 쓰는지를 정리합니다.

Clean Room이 왜 지금 필요한가

예전에는 서드파티 쿠키 하나로 매체 노출과 자사 전환을 이어 붙였습니다. 이제 그 다리가 끊겼습니다. 세 가지가 동시에 일어났기 때문입니다. iOS ATT로 기기 식별자가 막히고, 브라우저가 서드파티 쿠키를 없애고, GDPR·국내 개인정보보호법이 데이터 결합에 동의·최소수집을 요구합니다.

그래서 "raw 데이터를 서로 넘기는" 방식은 법적으로도 기술적으로도 불가능해졌습니다. 대신 필요한 건, 서로의 데이터를 보지 않고도 겹치는 부분만 계산하는 방법입니다. 그게 clean room입니다.

📌 한 문장 정의

Data Clean Room은 둘 이상의 당사자가 각자의 데이터를 통제된 환경에 올려, 미리 합의된 집계·분석만 실행하고, raw 행은 누구도 꺼내 갈 수 없게 하는 privacy-preserving 분석 공간입니다.

본질 — privacy-preserving join과 k-익명성

clean room의 심장은 "프라이버시를 지키는 조인(join)"입니다. 두 데이터셋을 공통 키(이메일 해시, 전화번호 해시 등)로 매칭하되, 개별 유저가 식별되지 않게 만듭니다.

A사와 B사의 데이터가 각자 잠긴 채 clean room 안에서 공통 유저만 집계로 만나고, raw 행은 밖으로 나가지 않는 구조
두 데이터는 방 안에서만 만난다 — 매칭은 일어나되 raw 행은 누구도 가지고 나갈 수 없다.

핵심 안전장치는 k-익명성(k-anonymity)입니다. 어떤 집계 결과든 최소 k명 이상이 묶여야만 출력됩니다. 예를 들어 "서울 강남구 25세 여성, 어제 우리 광고 본 사람"이 3명뿐이면 그 결과는 막힙니다. 개인이 역추적될 수 있기 때문입니다.

출력 허용    (각 결과 그룹의 인원수)k \text{출력 허용} \iff (\text{각 결과 그룹의 인원수}) \ge k

여기에 차등 프라이버시(differential privacy) 노이즈를 더해, 한 사람이 데이터에 있고 없고가 결과를 거의 바꾸지 못하게 만들기도 합니다. 그래서 clean room의 결과는 늘 "집계"이고, 절대 "유저 한 명의 행"이 아닙니다.

플랫폼 Clean Room — Meta, Google, Amazon

매체들이 각자 자기 데이터를 중심으로 한 clean room을 운영합니다. 공통점은 "매체가 가진 노출·클릭 데이터 + 광고주의 자사 데이터"를 그 매체 환경 안에서 결합한다는 것입니다.

Meta Advanced Analytics는 Meta의 노출·전환 데이터와 광고주의 자사 데이터를 결합해, 플랫폼 대시보드보다 깊은 기여도·여정 분석을 제공합니다. 대형 광고주 중심으로 열립니다.

Google Ads Data Hub(ADH)는 Google·YouTube 광고의 이벤트 레벨 데이터를 BigQuery 위에서 SQL로 분석하게 해 줍니다. 단, 출력은 집계만 되고 행 단위 추출은 막혀 있습니다. 가장 SQL 자유도가 높은 편입니다.

Amazon Marketing Cloud(AMC)는 Amazon 광고·구매 신호를 SQL로 분석합니다. 리테일 미디어 맥락에서 구매 데이터까지 닿는다는 게 강점입니다.

인프라 Clean Room — AWS, Snowflake

매체가 아니라 데이터 인프라 사업자가 제공하는 중립 clean room도 있습니다. 특정 매체에 묶이지 않고, 광고주와 파트너(또는 두 브랜드)가 자기들끼리 데이터를 결합할 때 씁니다.

AWS Clean Rooms는 여러 당사자가 각자의 S3·데이터를 AWS 안에서 결합하되, 미리 정한 분석 규칙(allowed queries, 출력 제약)만 실행하게 합니다. Snowflake Data Clean Room은 Snowflake에 이미 데이터가 있는 회사들이 데이터를 복제·이동 없이 공유 분석하게 해 줍니다.

Clean Room 데이터 중심 분석 방식 매칭 키 비고
Meta Advanced Analytics Meta 광고 매체 제공 도구 자사 PII 해시 대형 광고주
Google ADH Google·YouTube BigQuery SQL Google 식별자 SQL 자유도 높음
Amazon AMC Amazon 광고·구매 SQL Amazon 식별자 리테일 미디어
AWS Clean Rooms 중립(당사자) 규칙 기반 쿼리 합의 키 매체 비종속
Snowflake 중립(당사자) 공유 분석 합의 키 이동 없는 공유

💡 둘로 나눠 기억하기

매체 clean room(Meta·Google·Amazon)은 "그 매체의 효과를 깊게 보려고", 인프라 clean room(AWS·Snowflake)은 "매체에 안 묶이고 우리끼리(또는 파트너와) 결합하려고" 씁니다.

분석 가능한 SQL의 제약

clean room에서 SQL을 짤 수 있다고 해서 일반 데이터 웨어하우스처럼 자유로운 건 아닙니다. 제약을 모르면 "왜 결과가 안 나오지?"로 시간을 버립니다.

  • 집계만 출력: 개별 유저 행을 SELECT 할 수 없습니다. 늘 GROUP BY 뒤의 합계·평균만 나옵니다
  • 최소 인원 임계: 결과 그룹이 k명 미만이면 그 행은 자동으로 가려지거나 노이즈가 섞입니다
  • 허용된 함수·조인만: 플랫폼이 미리 승인한 연산만 가능하고, 임의 UDF나 외부 반출은 막힙니다
  • 쿼리 횟수·결과 재조합 제한: 작은 그룹을 여러 번 쪼개 역추적하는 걸 막기 위해 차분 공격 방어가 걸립니다

{/* TODO_HUNY: clean room SQL을 실제로 짜 본 경험이 있다면(ADH·AMC 등), k-익명성 임계에 막혀 고생한 사례나 우회 설계 팁을 한 단락 넣어주세요. 실무자만 아는 디테일이 이 섹션의 가치를 만듭니다. */}

1st party data 매칭률 올리기

clean room의 효과는 결국 얼마나 많은 유저가 양쪽에서 매칭되느냐에 달려 있습니다. 자사 데이터의 품질이 곧 분석의 해상도입니다.

매칭률을 올리는 핵심은 매칭 키의 품질입니다. 이메일·전화번호를 정규화(소문자·공백 제거·국가코드 통일)한 뒤 해시하고, 가능한 여러 키를 함께 제출합니다. 이건 Meta CAPI의 EMQ(Event Match Quality) 점수를 올리는 작업과 같은 원리입니다. 동의를 받은 1st party 데이터를 풍부하게 쌓아 둘수록 매칭률이 오릅니다.

⚠️ 동의 없는 데이터는 독

매칭률을 올리겠다고 동의 범위를 벗어난 데이터를 올리면, clean room이 오히려 컴플라이언스 리스크가 됩니다. 수집·결합 동의가 명확한 데이터만 올리는 게 전제입니다.

실무 use case — 마케터는 이걸로 뭘 하나

clean room이 추상적으로 들린다면, 실제로 답할 수 있는 질문들로 보면 명확해집니다.

  • Incrementality 측정: 매체 노출 데이터와 자사 매출을 결합해, 광고를 본 사람과 안 본 사람의 실제 매출 차이를 봅니다
  • Audience overlap: 두 매체(또는 두 브랜드)의 도달이 얼마나 겹치는지 봐서 예산 중복을 줄입니다
  • MMM 입력 데이터: clean room에서 나온 채널별 집계 기여도를 marketing mix model의 입력으로 씁니다
  • Frequency·reach 분석: 크로스 채널에서 한 사람이 광고를 몇 번 봤는지(중복 제거된 빈도)를 집계로 봅니다

{/* TODO_HUNY: 위 use case 중 실제로 시도했거나 도입을 검토한 게 있다면, 어떤 비즈니스 질문에서 출발했는지 한 단락 넣어주세요. */}

마치며

Data Clean Room은 "프라이버시 때문에 데이터를 못 합친다"와 "그래도 진짜 기여도를 알아야 한다" 사이의 타협점입니다. raw는 잠그고 집계만 주고받는 구조라서, 쿠키 이후 시대에 attribution·오디언스 분석을 합법적으로 이어 갈 수 있게 해 줍니다.

처음 접근한다면 두 가지만 기억하세요. 첫째, clean room은 만능이 아니라 "집계만 나오는 제약된 분석 공간"이라는 것. 둘째, 그 효과는 결국 동의받은 1st party 데이터의 양과 품질에 달려 있다는 것. 좋은 자사 데이터 없이는 어떤 clean room도 빈 방입니다.

참고

Top comments (0)