안드로이드는 멀쩡한데 iOS만 성과가 반토막이라면, 캠페인이 아니라 측정을 먼저 의심해야 해요. iOS는 "추적을 허용하시겠어요?" 팝업(ATT) 이후 유저별 정밀 추적이 어려워졌고, 애플의 SKAdNetwork(SKAN)라는 제한된 집계 프레임으로 성과를 봐야 하거든요. 이 구조를 모르면 멀쩡한 iOS 캠페인을 숫자만 보고 끄게 돼요.
뭐가 어떻게 바뀌었고, 그 안에서 뭘 기준으로 판단하면 되는지 정리할게요.
ATT: 동의 안 하면 식별자가 없어요
ATT(App Tracking Transparency) 팝업에 유저가 거부하면 IDFA(광고 식별자)를 못 써요. IDFA 기반 교차 앱 어트리뷰션이 제한됩니다. 자체 서비스 내 측정까지 모두 금지되는 것은 아닙니다. 동의율이 낮으면 정밀 측정 가능한 표본이 확 줄어요.
그래서 ATT 동의율 자체가 관리 지표가 됐어요. 팝업을 언제, 어떤 맥락에서 띄우는지(프라이밍 — 가치를 먼저 보여주고 묻기)에 따라 동의율이 크게 달라집니다. 동의율이 오르면 측정 가능한 표본이 늘어 iOS 성과가 "다시 보이기" 시작해요.
한 가지 자주 헷갈리는 점. ATT 거부는 교차 앱 추적을 제한하며, 광고 노출이나 모든 자체 측정을 막는 것은 아니에요. 거부한 유저에게도 광고는 나가고 설치도 일어납니다. 다만 그 설치가 어느 캠페인 몫인지를 유저 단위로 확정할 수 없을 뿐이에요.
숫자가 덜 들어온 걸까요, 정말 떨어진 걸까요?
SKAN: 익명·지연·제한된 신호
SKAN은 애플이 주는 대안이에요. 특징이 셋이에요.
- 익명·집계 — 개별 유저가 아니라 캠페인 단위 집계.
- 지연 — 전환 신호가 실시간이 아니라 며칠 뒤에, 그것도 무작위 지연을 거쳐 옵니다.
- 제한된 정보량 — 컨버전 밸류(conversion value)라는 좁은 값에 초기 행동을 압축해 담아야 해요.
그래서 컨버전 밸류 설계가 iOS 측정의 핵심 작업이 됐어요. 며칠 안의 어떤 행동(가입·튜토리얼 완료·첫 구매)을 이 좁은 값에 담을지 정하는 거죠. 잘못 설계하면 매체가 나쁜 신호로 학습해서 iOS 최적화가 통째로 어긋나요.
SKAN 4에서 실제로 달라진 것
검색으로 이 글에 오신 분들이 가장 많이 찾는 부분이라 따로 정리할게요. SKAN 4가 이전 버전과 다른 지점은 크게 셋입니다.
측정 창이 셋으로 늘었어요. 이전에는 사실상 설치 직후 한 번이었는데, SKAN 4는 0
2일·37일·8~35일 세 구간에서 각각 포스트백을 받을 수 있어요. 리텐션이나 구독 전환처럼 늦게 일어나는 행동을 볼 여지가 생긴 겁니다.coarse 값이 생겼어요. 정밀한 fine 값(0~63)은 첫 창에서만, 그것도 볼륨 조건을 만족할 때만 옵니다. 나머지는 low·medium·high 세 단계짜리 coarse 값이에요. 즉 두 번째·세 번째 창의 해상도는 상당히 거칠어요. 여기에 세밀한 LTV 구간을 설계해봐야 세 칸으로 뭉개집니다.
개인정보 임계(crowd anonymity)가 정보량을 결정해요. 이게 실무에서 가장 자주 발목을 잡습니다. 설치 볼륨이 작으면 개인이 역추적될 수 있으니 애플이 돌려주는 정보를 줄여요. 티어가 낮으면 fine 값도, 세분화된 소스 ID도 안 옵니다.
캠페인을 세분화하면 보고서의 각 조각에 남는 관측량이 줄 수 있습니다. 다만 그 사실만으로 Apple의 티어가 내려갔다고 확정하지 마세요. 버전·소스 식별자·반환된 값의 분포를 확인하고, 캠페인 통합이 필요한지는 운영 목표와 함께 판단해야 합니다.
정확한 티어 조건과 창별 반환 규칙은 버전마다 바뀌므로, 설계 전에 Apple의 SKAdNetwork 문서와 전환 값 수신 문서를 직접 확인하세요.
컨버전 밸류 설계에서 흔한 실수
좁은 값에 뭘 담을지가 전부라서, 여기서 나는 실수가 그대로 최적화 품질이 됩니다.
- 이벤트를 다 넣으려는 것. 6비트는 64칸이고, 그 칸을 잘게 쪼개면 각 칸의 볼륨이 줄어 노이즈가 커져요. 비즈니스 KPI에 직접 연결되는 것 위주로 좁히세요.
- 측정 창 밖의 행동을 담는 것. 첫 창은 0~2일이에요. 평균 구매 시점이 5일이어도 일부 구매는 첫 창에 들어올 수 있으니 2일 내 구매 비중을 확인하세요. 실제 전환 지연 분포를 먼저 보고 창을 정하세요.
- 설계를 자주 바꾸는 것. 매핑을 바꾸면 그 전후 데이터가 서로 다른 의미를 갖게 돼 비교가 끊깁니다. 바꿔야 한다면 변경 시점을 기록해 두고 이전 기간과 섞지 마세요.
- 매출을 그대로 넣으려는 것. 금액은 연속값이라 구간(bucket)으로 인코딩해야 하는데, 구간을 촘촘히 잡을수록 칸이 모자라요. 상위 몇 개 구간만 의미 있게 나누는 편이 낫습니다.
그래서 뭘 기준으로 판단하냐면
유저 단위가 흐려졌으니 집계·증분 관점이 더 중요해졌어요.
집계 분석도 설계와 식별 조건이 필요합니다. 단순 켜기·끄기 전후 차이를 인과 효과로 확정하지 말고, 비교군·계절성·동시 변경을 점검하세요. 세부 대응은 iOS 프라이버시·ATT·SKAN 가이드에 있어요.
다음 세대: AdAttributionKit
애플은 SKAdNetwork의 후속인 AdAttributionKit(AAK)을 공개했어요. Apple은 두 프레임워크의 상호 운용을 지원합니다. 실제 적용은 OS·매체·MMP 지원 상태로 결정하세요. 재참여(re-engagement) 어트리뷰션과 대체 앱스토어 지원처럼 SKAN에 없던 축이 들어와 있습니다. 세부 스펙은 AdAttributionKit 문서에서, 마이그레이션 시점은 매체·MMP 공지를 따라가세요.
측정 체계별 차이는 SKAN과 MMP 어트리뷰션 비교에서, 이벤트를 값으로 묶는 순서는 SKAN 컨버전 값 설계에서 이어서 확인하세요.
두 보고서를 비교하기 전 맞출 기준
아래는 실제 계정 성과가 아닌 점검 예시입니다. 월요일에 확인한 설치와 금요일까지 도착한 포스트백을 그대로 비교하면, 성과 변화와 도착 지연이 섞입니다.
| 비교 항목 | 먼저 맞출 기준 | 확정하면 안 되는 결론 |
|---|---|---|
| 설치일과 포스트백 수신일 | 어느 날짜를 기준으로 묶었는지, 각 창의 집계가 성숙했는지 | 수신일 감소 = 그날 설치 감소 |
| fine·coarse·미반환 값 | 창·버전·반환 조건과 매핑 버전 | 값이 없음 = 구매 0건 |
| 매체·MMP·SKAN 수치 | 귀속 창, 재설치, 모델링, 중복 제거 범위 | 보고서 차이 = 누락 설치 수 |
| SKAN과 AdAttributionKit | 실제 구현과 상호 운용·중복 처리 방식 | 두 집계의 단순 합 = 신규 고객 수 |
원본 보고서의 기간·창·매핑 버전을 메모한 뒤 SKAN과 MMP 비교 순서로 차이를 좁히세요. Apple의 복수 전환 창과 AdAttributionKit 상호 운용 문서는 반환 조건을 확인하는 기준입니다. 이 절차만으로 관측되지 않은 매출이나 인과 효과가 복원되지는 않습니다.
오늘 해볼 것
iOS 캠페인 리포트를 열어서 두 가지만 확인해 보세요.
첫째, 매체 콘솔의 iOS 설치 수와 MMP·SKAN 집계가 얼마나 벌어지는지. 이 격차는 누락량과 같지 않습니다. 귀속 창·중복·모델링·지연을 먼저 맞춰야 해요. 차이가 크다는 사실만으로 측정 누락과 실제 성과 하락 중 어느 쪽인지 정할 수는 없습니다.
둘째, 컨버전 밸류 매핑표를 실제로 꺼내서 각 값의 볼륨을 세어 보세요. 빈 칸이 많다면 행동 분포·누락·반환 조건과 함께 구간 통합 필요성을 검토하세요. 칸을 합쳐서 각 칸이 판단 가능한 볼륨을 갖게 만드세요.
SKAN 4의 창 세 개를 실제로 어떤 순서로 켜는지는 SKAN 4 전환 실무에, 매체·GA4·MMP 숫자가 갈리는 이유는 어트리뷰션 데이터 불일치에 있습니다.
이 방법의 한계
SKAN은 버전마다 규칙이 바뀌고, 지연·표본 때문에 숫자가 불안정해요. iOS 성과는 "정밀 측정"이 아니라 "제한된 신호 속 최선의 추정"이라는 전제를 팀이 공유해야 해요. 콘솔 숫자 하나에 과잉 반응해 캠페인을 켰다 껐다 하면, 없는 신호를 좇으면서 실제 성과까지 흔들게 됩니다.
특히 SKAN 기반 ROAS는 절대값으로 다루지 마세요. 매출을 좁은 값에 인코딩한 근사치이고, 측정 창을 넘어선 매출은 아예 안 잡힙니다. 캠페인별 누락·구간·성숙도가 다르면 상대 순위도 왜곡될 수 있어요.