애드테크AdTech가이드

SKAdNetwork(SKAN)란? 전환값·포스트백 쉽게 이해하기 (AdAttributionKit까지)

iOS 광고 성과 측정의 핵심 SKAdNetwork를 초보자 눈높이로 정리. 전환값, 포스트백 3회, 크라우드 익명성, 그리고 Apple이 권장하는 AdAttributionKit과의 관계까지.

iOS 앱 광고를 집행하다 보면 "SKAN 리포트가 왜 이렇게 적게 나오지?"라는 말을 자주 듣습니다. 이 글은 Apple 공식 문서를 기준으로 SKAdNetwork(SKAN)가 무엇이고 어떻게 동작하는지 정리합니다.

SKAdNetwork란?

SKAdNetwork는 사용자 개인을 식별하지 않으면서 광고 캠페인의 설치 성과를 측정하게 해 주는 Apple의 API입니다(iOS 11.3+). 참여자는 세 곳입니다.

참여자역할
광고 네트워크광고에 서명하고, 설치 검증 포스트백을 수신
소스 앱(또는 Safari 웹)광고를 노출
광고 대상 앱사용자 행동에 따라 전환값을 업데이트

Apple 문서에 따르면 앱은 SKAdNetwork API를 호출할 때 App Tracking Transparency(ATT) 동의를 받을 필요가 없습니다.

전환값(Conversion Value)과 포스트백

광고 대상 앱은 첫 실행 시 전환값을 업데이트해 설치를 등록하고, 이후 사용자 행동(가입, 구매 등)에 따라 값을 갱신할 수 있습니다. 어떤 값이 무엇을 뜻할지는 앱이나 광고 네트워크가 정합니다.

iOS 16.1부터는 전환 기간(conversion window)이 3개로 늘어, 버전 4로 서명된 광고는 최대 3개의 포스트백을 받을 수 있습니다.

구분내용
세밀한 값(fine)0~63 숫자. 개인정보 임계값을 충족할 때만 포함
거친 값(coarse)low / medium / high 3단계
승리 포스트백어트리뷰션을 가져간 광고에만 전환값 포함
비승리 포스트백최대 5개 네트워크가 did-win=false 포스트백을 받으며 전환값 없음

크라우드 익명성이 데이터 양을 결정한다

Apple은 설치마다 포스트백 데이터 티어를 정하고, 티어가 낮으면 소스 식별자 자릿수가 줄거나 전환값이 거친 값으로 대체되거나 아예 빠집니다. 그래서 소액·소규모 캠페인일수록 "데이터가 안 보이는" 현상이 생깁니다. 임계값 자체는 Apple이 공개하지 않습니다.

SKAN 5는 있나? 그리고 AdAttributionKit

검색하면 "SKAN 5"를 설명하는 글이 많지만, Apple 공식 SKAdNetwork 문서는 지금 앱 광고 캠페인에 AdAttributionKit 사용을 권장한다고 안내하고 있고, 두 프레임워크의 상호운용성 문서를 별도로 제공합니다. 블로그마다 SKAN 5 스펙이 서로 달라 이 글에서는 Apple 문서로 확인되는 내용만 다뤘습니다. AdAttributionKit은 iOS 18 이상에서 재참여(re-engagement) 측정을 포함하며, 광고를 눌러 앱을 다시 열거나 재설치할 때 최대 3개의 포스트백을 받을 수 있습니다.

실무 체크리스트

  1. 전환값을 "한 가지 의사결정"에 맞춰 설계하기 (예: 7일 내 구독 여부).
  2. MMP(AppsFlyer, Adjust 등)가 SKAN과 AdAttributionKit 포스트백을 모두 받도록 설정됐는지 확인.
  3. 소규모 캠페인은 coarse 값만 올 수 있다고 가정하고 리포트 해석.

SKAN 리포트를 처음 볼 때 자주 헷갈리는 것

1. 전환값이 null(비어 있음)로 온다

SKAN 리포트에서 전환값 칸이 비어 있는 행이 많으면 "트래킹이 깨졌다"고 오해하기 쉽습니다. 하지만 대부분은 정상입니다.

  • 크라우드 익명성 티어가 낮을 때: 설치 수가 적은 캠페인·소스 앱 조합에서는 Apple이 세밀한 값 대신 거친 값만 주거나, 전환값 자체를 빼고 보냅니다.
  • 비승리 포스트백: 어트리뷰션을 가져가지 못한 네트워크가 받는 포스트백에는 원래 전환값이 없습니다.
  • 두 번째·세 번째 포스트백: 이 구간에는 세밀한 값 없이 거친 값만 담기기 때문에, 세밀한 값(0~63)을 기준으로 만든 대시보드에서는 비어 보입니다. 가장 낮은 티어(Tier 0)에서는 두 번째·세 번째 포스트백 자체가 오지 않습니다.

확인 방법: null 비율을 캠페인 크기(일 설치 수)와 같이 놓고 보세요. 작은 캠페인일수록 null이 많다면 익명성 임계값 때문일 가능성이 큽니다.

2. 포스트백이 늦게, 날짜도 어긋나서 온다

SKAN 포스트백은 실시간이 아닙니다. Apple 문서 기준으로 전환 기간은 첫 실행 후 0~2일, 3~7일, 8~35일 세 구간이고, 각 구간이 끝난 뒤(또는 앱이 전환값을 잠근 뒤) 무작위 지연을 더해 보냅니다. 지연 시간은 첫 번째 포스트백이 24~48시간, 두 번째·세 번째가 24~144시간입니다. 세 번째 포스트백은 설치 후 한 달이 훌쩍 지나서야 도착하는 셈입니다. 그리고 포스트백에는 설치 시각을 알려 주는 필드가 없습니다.

그래서 SKAN 데이터는 "설치일 기준"이 아니라 포스트백 수신일 기준으로 쌓이는 경우가 많고, 어제 집행한 캠페인 성과가 오늘 리포트에서 작게 보이는 게 정상입니다. 예산을 바꾸기 전에는 최소 며칠은 기다려 데이터가 쌓였는지 확인하세요.

3. 크라우드 익명성 티어 때문에 소스 정보가 잘린다

티어가 낮으면(Tier 0·1) 소스 식별자(source identifier)가 최대 4자리가 아닌 2자리만 오고, 소스 앱 ID도 빠집니다. 소스 앱 ID는 가장 높은 티어(Tier 3)에서만 포함됩니다. 캠페인·크리에이티브를 너무 잘게 쪼개면 각 조합의 설치 수가 줄어 오히려 데이터가 더 안 보이게 됩니다. 캠페인 구조를 단순하게 유지하는 것이 데이터를 더 많이 받는 방법입니다.

SKAN 숫자와 MMP 숫자는 왜 다를까?

SKAN 리포트와 MMP(AppsFlyer, Adjust, Singular 등) 대시보드의 설치 수·매출이 맞지 않는 건 흔한 일입니다. 대표적인 원인은 이렇습니다.

원인설명
측정 대상이 다름MMP 기본 어트리뷰션은 ATT 동의 사용자(IDFA) 중심이고, SKAN은 동의 여부와 관계없이 Apple이 판정한 설치를 셉니다.
기준 날짜가 다름MMP는 설치일 기준, SKAN은 포스트백 수신일 기준으로 집계되는 경우가 많습니다.
전환값 디코딩SKAN 매출은 전환값을 미리 정한 매출 구간으로 "추정"한 값이라 실제 결제 금액과 다릅니다.
재설치·중복재설치나 여러 네트워크가 동시에 주장하는 설치를 처리하는 규칙이 서로 다릅니다.
null·익명성전환값이 빠진 포스트백은 SKAN 쪽 매출·이벤트에서 아예 사라집니다.

실무 팁: 두 숫자를 일치시키려 하기보다, 같은 기준(같은 날짜 기준·같은 캠페인 단위)으로 추세가 같은 방향인지를 보세요. MMP 대부분이 SKAN 전용 대시보드나 "SKAN + 기존 어트리뷰션"을 합친 통합 리포트를 제공하니, 어떤 숫자가 어떤 기준인지 먼저 확인하는 게 출발점입니다.

마무리

SKAN은 "정확한 숫자"가 아니라 "프라이버시 안에서 얻는 방향성"을 주는 도구입니다. 이 한계를 이해하면 리포트를 훨씬 현명하게 읽을 수 있습니다.

참고: Apple Developer Documentation(SKAdNetwork, 「Receiving postbacks in multiple conversion windows」, AdAttributionKit).