지금 읽는 곳코어 파라미터부터 정확히 이해한다목차
STEP 3 고급·전략 › 3-1. 빅테크·애드테크 알고리즘 심화 › 과목 105 › 레슨 03
데이터 요건 및 파라미터 구조: 서버 간 통신(S2S) 시 전송해야 할 핵심 식별자(em, ph, client_user_agent, fbp, fbc) 규정 준수
CAPI 페이로드에 무엇을 담아야 하는지, 그리고 개인정보를 안전하게 전송하려면 해싱을 어떻게 처리해야 하는지 파라미터 단위로 정리합니다.
핵심요약
- CAPI 페이로드의 필수 코어 파라미터는 event_name과 event_time(Unix 타임스탬프)이다
- user_data 블록에는 em(이메일), ph(전화번호), fbp, fbc, external_id, IP, user_agent를 담는다
- 이메일·전화번호 같은 개인식별정보는 SHA-256으로 해싱한 뒤 전송해야 한다
- 정규화(소문자 변환, 공백 제거) 규칙이 메타 처리 방식과 정확히 일치해야 매칭이 성공한다
- custom_data 블록에는 거래 금액·통화 같은 전환 세부 정보를 담는다
코어 파라미터부터 정확히 이해한다
CAPI 페이로드에서 빠지면 안 되는 두 값은 event_name과 event_time입니다. event_name은 Purchase, Lead, AddToCart 같은 표준 이벤트명이거나 광고주가 정의한 커스텀 이벤트명이고, event_time은 이벤트가 실제로 발생한 시점의 Unix 타임스탬프입니다. 여기에 user_data(고객 정보)와 custom_data(거래 정보)가 추가로 붙는 구조입니다. 이 네 요소 — 이벤트명, 발생 시각, 고객 정보, 거래 정보 — 가 CAPI 페이로드의 기본 골격이라고 이해하면 이후 어떤 파라미터를 추가하든 헷갈리지 않습니다.
user_data 블록: 어떤 식별자를 담아야 하나
user_data는 사용자를 식별하는 데 쓰이는 값들의 묶음입니다. 대표적으로 em(해싱된 이메일), ph(해싱된 전화번호), external_id(광고주 자체 회원 ID), fbp(브라우저에 저장된 메타 픽셀 쿠키값), fbc(광고 클릭 시 생성되는 클릭ID 기반 쿠키값), 그리고 client_ip_address·client_user_agent(사용자의 IP와 브라우저 정보)가 포함됩니다.
이 식별자들은 품질이 동일하지 않습니다. 최고 등급 식별자는 해싱된 이메일, 해싱된 전화번호, external_id이고, fbp와 fbc는 그다음 등급입니다. 이메일과 전화번호는 메타 계정에 이미 검증되어 있을 가능성이 높아 가장 강력한 매칭 신호로 작동하는 반면, fbp와 fbc는 브라우저 설정이나 광고차단기에 의해 손실될 수 있어 상대적으로 불안정합니다. client_user_agent는 서버가 사용자의 요청 헤더에서 그대로 읽어와 전달하면 되는 값으로, 별도의 해싱이 필요 없습니다.
해싱 규격: SHA-256과 정규화
이메일과 전화번호 같은 개인식별정보(PII)는 반드시 SHA-256 해싱으로 처리한 뒤 전송해야 합니다. 여기서 실무자가 가장 자주 놓치는 지점이 정규화입니다. 해싱 전에 이메일은 소문자로 변환하고 앞뒤 공백을 제거해야 하며, 이 정규화 규칙이 메타의 처리 방식과 정확히 일치해야만 매칭이 성공합니다.
이 규칙이 중요한 이유는 해싱이 결정론적이기 때문입니다. 같은 이메일 주소라도 "[email protected]"과 "[email protected]"은 SHA-256 해시값이 완전히 다르게 나옵니다. 대문자 한 글자, 공백 한 칸 차이만으로도 해시가 완전히 달라지고, 그 순간 메타 시스템은 이 값을 전혀 다른 사용자로 인식해 매칭에 실패합니다. 개발팀에 이 요건을 넘길 때는 "SHA-256으로 해싱하라"는 지시만으로는 부족하고, "소문자 변환 후 공백 제거 → 해싱"이라는 순서까지 명시해야 사고를 막을 수 있습니다. 전화번호는 국가 코드를 포함한 숫자만 남기는 정규화가 함께 필요합니다.
custom_data와 fbp/fbc 값의 출처
custom_data 블록에는 거래 금액(value), 통화(currency), 주문번호 같은 전환의 세부 정보가 들어갑니다. 이 값들은 해싱하지 않고 원문 그대로 전송합니다. fbp와 fbc는 광고주가 임의로 만드는 값이 아니라 메타 픽셀이 브라우저에 심어둔 쿠키에서 그대로 읽어와 서버로 전달해야 하는 값입니다. 즉 프론트엔드에서 이 쿠키값을 읽어 백엔드로 넘기고, 백엔드가 다시 CAPI 페이로드에 실어 메타로 보내는 릴레이 구조가 필요합니다. 이 값이 빠지면 EMQ(이벤트 매칭 품질) 점수가 떨어지는데, 이 부분은 5강에서 이어서 다룹니다.
external_id는 왜 별도로 챙겨야 하나
external_id는 광고주가 자체적으로 발급하는 회원 ID나 주문 시스템의 고객 번호를 그대로 넣는 값입니다. 이메일·전화번호가 없는 비회원 결제나, 회원가입 시점에 이메일 인증을 요구하지 않는 서비스라면 external_id가 사실상 유일하게 안정적인 식별자가 됩니다. 이 값은 시간이 지나도 바뀌지 않는 내부 고유 ID를 쓰는 것이 원칙이며, 세션마다 새로 생성되는 임시 토큰을 넣으면 같은 사용자를 반복 매칭하는 효과를 기대할 수 없습니다. 여러 개의 식별자를 동시에 실어 보낼수록 매칭 성공 확률이 높아지므로, em·ph·external_id·fbp·fbc를 가능한 한 모두 채우는 것이 실무 기본값입니다.