SKAdNetwork(Store Kit AdNetwork, SKAN)는 iOS 환경에서 개인정보를 보호하며 사용자 또는 기기에 대한 정보 없이 앱 설치 캠페인의 성과를 측정할 수 있는 프레임워크입니다.

 

 

등장 배경

iOS 14.0 이전 광고 캠페인 성과는 광고식별자(IDentity For Advertisers, IDFA) 수집을 허용한 기기의 IDFA를 활용한 디바이스 매칭 기법으로 측정했습니다. 그러나 iOS 14.0부터 앱 추적 투명성(App Tracking Transparency, ATT) 정책에 따라 iOS 앱은 기기의 IDFA 정보를 수집하려면 옵트인(Opt-in)으로 동의를 받아야 합니다. 이에 애플은 개인정보를 보호하면서 캠페인 성과를 측정할 수 있는 새로운 프레임워크 SKAdNetwork을 도입했습니다.

FAQ - SKAdNetwork & ATT에서 ATT 정책과 SKAdNetwork에 관한 자세한 설명을 더 볼 수 있습니다.

blockquote-check.svg

Opt-in

옵트인(Opt-in)은 개인정보 주체에게 정보 이용에 대한 동의를 먼저 받은 후에 개인정보를 수집하고 활용할 수 있는 방식입니다. 옵트아웃(Opt-out)은 개인정보 주체의 동의 없이 개인정보를 수집하고 활용할 수 있는 방식입니다. 옵트아웃에서는 개인정보 주체가 개인정보 수집 및 활용을 거부하는 순간부터 거부한 주체의 개인정보를 이용하지 말아야 합니다.   

apple_optin_.png

 

 

측정 방식

SKAN은 애플이 iOS 앱 설치 캠페인에서 발생한 설치 이벤트에 기여한 채널을 선정하는 것으로 시작합니다. 애플은 기여한 채널에 컨버전 밸류와 같은 기여 정보를 전달합니다. 기여 정보를 받은 채널은 에어브릿지에 기여 정보를 다시 전달합니다. 에어브릿지는 기여 정보를 해석한 결과를 에어브릿지 대시보드에 제공합니다.

애플이 정한 기여 정보는 SKAN 포스트백 데이터에 담겨 전송됩니다. 이 정보에는 컨버전 밸류가 포함돼 있습니다. 컨버전 밸류는 앱 설치 이후 발생한 이벤트를 추적하는 숫자입니다. 에어브릿지는 에어브릿지 사용자가 미리 설정한 컨버전 밸류로 기여정보를 해석합니다.

 

 

SKAN 포스트백

SKAN 포스트백은 실시간으로 진행되지 않습니다. 에어브릿지에서는 앱 설치 이후 하루(24시간) 동안 발생한 인앱이벤트를 컨버전 밸류로 추적합니다. 컨버전 밸류가 정해지면 포스트백은 0~24시간 사이에 앱 설치에 기여한 매체로 전송됩니다.

_SKAN_Flow.png

SKAN 포스트백에 관한 자세한 주의사항은 가이드에서 확인할 수 있습니다.

애플의 기여 정보는 포스트백을 통해 아래와 같은 형식으로 매체에 전달됩니다. 기여 정보에는 캠페인, 앱 관련 정보 외에 앱 설치와 설치 이후 발생한 인앱이벤트 정보를 담은 Conversion Value가 포함되어 있습니다.

{ 
"version": "3.0",
"ad-network-id": "example123.skadnetwork",
"campaign-id": 42,
"transaction-id": "6aafb7a5-0170-41b5-bbe4-fe71dedf1e28",
"app-id": 1818180,
"attribution-signature": "MEYCIQD5eq3AUlamORiGovqFiHWI4RZT/PrM3VEiXUrsC+M51wIhAPMANZA9c07raZJ64gVaXhB9+9yZj/X6DcNxONdccQij",
"redownload": true,
"source-app-id": 1234567891,
"fidelity-type": 1,
"conversion-value": 19,
"did-win": true
}

 

SKAN 컨버전 밸류

컨버전 밸류(Conversion Value)는 SKAN 캠페인 성과를 2진수 6비트의 숫자로 나타낸 값입니다. SKAN 캠페인 성과를 측정하기 전에 인앱이벤트와 컨버전 밸류를 설정해야 합니다. 설정을 마치면 앱 설치 이후에 컨버전 밸류를 설정한 인앱이벤트가 발생하면 SKAN은 발생한 인앱이벤트에 맞는 컨버전 밸류를 업데이트합니다.

예를 들어 회원가입을 컨버전 밸류 1로 설정하면 유저가 iOS에서 회원가입을 할 때 마다 컨버전 밸류 1이 기록됩니다. 이후 발생하는 인앱이벤트에 따라 컨버전 밸류는 계속 업데이트 되며, 최종 컨버전 밸류는 SKAN 포스트백에서 확인할 수 있습니다.

에어브릿지에서는 서비스 목적과 마케팅 목표 성과를 고려해 컨버전 밸류를 자유롭게 설정할 수 있습니다.

 

컨버전 밸류 업데이트

컨버전 밸류는 앱 설치 이후 첫번째 앱 실행(First Open) 시점부터 활성화되어 인앱이벤트 발생 여부에 따라 업데이트 됩니다. 단, 컨버전 밸류 업데이트는 항상 높은 숫자로만(Upper Only) 진행됩니다. 컨버전 밸류가 있는 인앱이벤트가 발생하더라도 현재 컨버전 밸류보다 낮은 숫자라면 컨버전 밸류가 업데이트되지 않습니다.

예를 들어 컨버전 밸류 3에 구매 이벤트를, 컨버전 밸류 5에 회원가입 이벤트를 설정하면 이벤트가 발생한 순서에 따라 컨버전 밸류가 업데이트되지 않을 수 있습니다. 구매 이벤트가 발생한 뒤에 회원가입 이벤트가 발생하면 컨버전 밸류가 5로 업데이트 되지만, 회원가입 이벤트가 발생한 뒤에 구매 이벤트가 발생하면 컨버전 밸류는 변화 없이 5입니다.

에어브릿지에서는 컨버전 밸류를 설정하는 과정에 인앱이벤트의 중요도에 따라 우선순위를 적용할 수 있습니다. 이 우선순위는 트래킹 최적화에 사용됩니다.

 

컨버전 밸류 포스트백

인앱 이벤트 측정을 위해서 SKAN은 일정 시간 동안 컨버전 밸류를 업데이트한 뒤에 포스트백합니다. 에어브릿지는 효율적인 성과 측정을 위해 앱 설치 이후 하루(24시간) 동안 인앱 이벤트를 측정합니다. 이후 SKAN은 0~24시간 사이에 정해진 컨버전 밸류가 포함된 포스트백을 앱 설치에 기여한 매체로 전송합니다. 따라서 에어브릿지에서는 SKAN 포스트백을 앱 설치가 발생한 이후 24~48시간 사이에 확인할 수 있습니다.

 

 

캠페인 데이터 연동

일부 채널은 캠페인 성과 데이터를 조회하기 위해서 SKAN 캠페인을 집행한 뒤, 채널에서 포스트백을 받기 위한 별도 연동 설정이 필요합니다. 채널에서 에어브릿지로 포스트백을 전송하는 방식에는 API를 통해 집계된 성과 데이터를 제공하는(Aggregated Report) 방식과 개별 포스트백을 전송하는 방식이 있습니다. 

에어브릿지에서 SKAN 캠페인 데이터를 확인할 수 있는 매체는 다음과 같습니다. 

  매체명  포스트백 전송 형태   대시보드 설정 필요 여부  
SAN 페이스북 비즈니스 (메타) API를 통해 집계된 데이터 전송 
구글 애즈  API를 통해 집계된 데이터 전송
non-SAN 틱톡  개별 포스트백 전송 -
몰로코 개별 포스트백 전송 -
유니티애즈 개별 포스트백 전송 -
민티그럴 개별 포스트백 전송 -

 

포스트백 전송 방식

집계된 데이터를 API로 전송

채널이 컨버전 밸류을 집계해서 에어브릿지에 제공하는 방식입니다. 에어브릿지는 API를 통해 매체로부터 하루에 한 번(매일 오전 1시) SKAN 캠페인 데이터를 수집합니다.

집계된 데이터(Aggregated Data)를 전송하는 매체에 관한 데이터는 에어브릿지 대시보드에서 SKAN 캠페인 데이터 연동 작업을 마쳐야 확인할 수 있습니다. 이 방식으로 포스트백 데이터를 전송하는 채널은 메타(페이스북 비즈니스)와 구글 애즈입니다.

  • 메타: 에어브릿지 대시보드에 컨버전 밸류로 선택한 에어브릿지 이벤트를 페이스북 이벤트와 매핑해야 합니다. 이를 바탕으로 메타는 수집한 컨버전 밸류를 해석해 집계된 데이터로 포스트백합니다.
  • 구글 애즈: 별도 과정 없이 수집한 컨버전 밸류를 집계한 상태로 포스트백합니다.

포스트백 개별 전송

앱 설치가 발생할 때, 포스트백이 전송되는 방식입니다. 이 방식으로 포스트백을 전송하는 매체에 관한 데이터는 별도 작업 없이 에어브릿지 대시보드에서 확인할 수 있습니다.

 

 

자주 묻는 질문

Q. 아직 SDK 업데이트 적용 전인데, 미리 Conversion Value 설정 가능한가요?

네, Conversion Value는 SDK 업데이트 전에도 설정이 가능합니다. 다만 SDK 업데이트(최소 1.14.3 이후 버전) 전에는 설정해두신 Conversion Value는 사용할 수 없습니다.

 

Q. 액츄얼스 리포트에서 이름에 (App)이 붙는 메트릭과 SKAN 메트릭으로 같은 이벤트의 수치를 조회할 때 두 메트릭 사이에 데이터 중복이 발생할 수 있나요?

네, 가능합니다. 아래 예시를 참고 바랍니다.

 

예시) '설치'이벤트

설치이벤트는 SDK로 수집되는데 이 설치가 어떤 경로(자연유입/광고/SKAN)로 설치되었는지는 어트리뷰션으로 알게됩니다. 허나 SKAN의 경우 Airbridge(타 MMP 동일)에서는 기여여부를 알 수가 없습니다. 그래서 SKAN방식으로 설치가 되면 Install(APP) & SKAN Install(APP) 모두 '1'이 기록됩니다. 다만 채널은 각각 unattributed와 기여 된 매체 이름으로 다르게 잡히게 됩니다.

또한 ATT 허용여부 및 SKAN과 동시에 트래킹링크 광고운영여부에 따라서도 기여 중복여부가 달라질 수 있습니다.

  • ATT로 ADID 수집 허용한 경우: 기존 인앱이벤트로도 기여 + SKAN 데이터로도 기록
  • ATT로 ADID 수집 허용 안 한 경우: 기존 인앱 이벤트는 unattributed + SKAN 데이터로도 기록

 

Q. iOS 14 관련 업데이트를 안하게 되면 어떻게 되나요?

iOS 14.0의 정식 릴리즈 전(4월~5월초 예상) 까지 필요한 업데이트를 완료하지 않게되는 경우, 앱 신규 설치 광고에 대한 인사이트를 얻는 것이 불가능해집니다. 그러므로 최소한 SKAdNetwork를 지원할 수 있도록 계획하는 것이 필요합니다.

 

Q. SKAdNetwork를 활성화하면 사용자가 ATT Prompt를 통해 Opt-in을 선택해야만 IDFA 수집 할 수 있게 되는 건가요?

SKAdNetwork와 ATT는 별개의 시스템으로, 각각의 시스템의 직접적인 연관성이 없습니다. 즉, SKAdNetwork는 ATT 프레임워크에서 Opt-in을 요구하지 않으며, 앱에서 SKAN을 활성화해도 자동으로 ATT Prompt가 노출되거나 IDFA에 접근하는 기능이 제한되지 않습니다. 각 시스템은 독립적으로 보되, 병렬적으로 개발 진행하시면 됩니다. 

 

Q. 이미 앱을 설치한 유저의 경우에도 SKAN Conversion Value를 받을 수 있나요?

아니요. 현재 SKAdNetwork는 앱 설치 이벤트만 지원합니다. 즉, 앱이 이미 설치된 경우 SKAdNetwork 포스트 백이 전송되지 않습니다.

 

Q. 왜 SKAN 데이터에 아무런 수치가 안 나오나요?

SKAN 관련 지표들은 SKAdNetwork 캠페인을 운영하는 경우에만 확인 가능합니다.

 

Q. Conversion Value 확인이 안됩니다.

(SKAN Install 데이터는 확인 가능하나 Conversion Value는 확인이 안되는 경우)

 

SKAN 방식의 광고를 운영하고 있고 설치 데이터도 확인가능하나 Conversion Value가 확인이 안된다면 이는 애플의 최소 달성 조건(minimum requirement threshold)에 도달하지 못한 경우의 가능성이 높습니다.

애플은 개인정보보호를 위하여 특정 기기로 Conversion Value가 역추적되는 상황이 발생되지 않도록 동일한 Conversion Value가 발생한 기기가 일정 개수이상일 경우에만 포스트백에 포함하여 전달하고 있습니다. (애플에서는 Conversion Value를 받을 수 있는 최소 조건에 대해서 구체적으로 밝히지 않아 정확한 수치 안내는 어렵습니다.) 예를 들어 테스트를 위하여 소규모 캠페인을 운영하는 경우, Conversion Value를 얻을 수 있는 최소 달성 조건에 도달하지 못할 수 있습니다.

 

Q. Source App ID 값이 무엇인가요? 이 값이 없는 건 무엇을 의미하나요?

Source App ID는 SKAN 포스트백에 포함 된 정보 중 하나로, App Store에서 다운로드를 유도한 앱을 식별할 수 있는 ID값을 의미합니다. 이 값은 7번 문항에 설명된 바와 같이 애플의 개인정보보호정책으로 설정 된 최소 달성 조건에 부합하지 못한 경우에 누락된 채 전달 받을 수 있습니다.

 

Q. SKAN Install vs. SKAN Re-install은 무슨 차이인가요?

SKAdNetwork 포스트백에는 "redownload" 필드가 포함되어 있습니다. Apple에 따르면 동일한 사용자(동일한 Apple ID)가 앱을 설치한 이력이 있는 경우 "redownload=true"로 설정합니다. 에어브릿지는 이에 따라 모든 SKAdNetwork를 통한 설치는 "SKAN Install" 또는 "SKAN Re-Install"로 표시합니다.

SKAN Install수는 Re-install 수를 포함한 전체 설치수를 의미합니다. 예를 들어 SKAN Install 수가 10건, SKAN Re-install 수가 2건 이라면, 신규설치는 8건, 재설치는 2건을 의미합니다.

 

Q. 예상보다도 SKAN Install 수치가 적은 것 같아요.

SKAdNetwork 프레임워크는 아래와 같은 여러 제약사항을 가지고 있습니다. 이로 인해 기대치보다 낮은 설치수를 확인하게 될 수도 있습니다.

  1. 웹-투-앱 설치 미지원 및 확률적 어트리뷰션 설치 미지원
  2. 리인게이지먼트(re-engagement) 미지원
  3. SKAdNetwork는 설치 포스트백은 유저가 설치 한 후 최소 24시간 이후 최대 48시간내에 전달됩니다. 이로 인해 리포트에는 더 늦게 기록될 수 있습니다.

 

Q. SKAN을 통해 인입 된 이벤트의 타임스탬프(Timestamp)의 기준은 무엇인가요?

SKAdNetwork를 통해 인입 된 이벤트의 타임스탬프는 매체사에서 에어브릿지로 전송 한 포스트백 내에 기록 된 이벤트 타임스탬프를 기준으로 에어브릿지 대시보드에 반영됩니다.

 

Q. SKAdNetwork 성과 데이터 조회 시, 채널별 기여정보 데이터를 해석하는 것이 어렵습니다.

아래의 예시를 통해 채널별 SKAN 성과 데이터가 해석 가능한 경우의 수에 대해 생각해볼 수 있습니다. 

  • SKAN 메트릭과 기존 메트릭 중복 측정 예시  
    Channel Install (App) SKAN Install(App)
    Facebook  0 10 
    👉 SKAN으로 측정된 성과 데이터가 에어브릿지 SDK를 통한 기존 어트리뷰션 모델에서는 다른 채널에 기여되었거나 Unattributed 로 분석되어 해당 채널로 기여 되지 않은 경우입니다.

    Channel Install (App) SKAN Install(App)
    Facebook  10 10 
    👉  위의 표는 다음과 같은 경우의 수로 해석이 가능합니다. 

    • 페이스북으로 기여된 Install이 총 10건이고 모두 iOS에서 발생한 경우
      -  Install 10건이 모두 IDFA가 수집되었고, 기존 어트리뷰션 모델로도 측정되어 페이스북으로 기여된 것으로 분석되었으며 SKAN으로도 기여가 측정된 경우 
    • 페이스북으로 기여된 Install이 총 20건이고 Android에서 10건, iOS에서 10건이 발생한 경우 
      - iOS에서 발생한 설치에 대해 모두 IDFA가 수집되지 않고 SKAN으로만 측정된 경우 
      - iOS에서 발생한 설치에 대해 10건 모두 IDFA가 수집되었으나 IDFA가 수집된 Install이 모두 unattributed 로 처리된 경우
      - iOS에서 발생한 설치에 대해 10건 모두 IDFA가 수집되었으나 IDFA가 수집된 Install이 모두 다른 채널에 기여된 것으로 처리된 경우 

SKAdNetwork(SKAN) 한눈에 보기