이 문서는 다음 주제를 다룹니다.
- SKAdNetwork 전환값(conversion value)
- Singular가 자동으로 관리할 때의 장점
- 선택 가능한 전환 모델
시작하기에 앞서 Singular의 SKAdNetwork 솔루션 소개를 먼저 확인하세요.
전환값(conversion value)이란?
Apple의 SKAdNetwork 프레임워크는 유저의 인스톨 이후, 즉 포스트 인스톨 활동을 트래킹하고 이를 인스톨/리인게이지먼트 어트리뷰션과 연결짓기 위해 전환값을 제공합니다.
전환값은 0부터 63 사이의 한 숫자로 앱 인스톨이나 리인스톨 이후 앱에서 설정합니다. 이 숫자는 SKAdNetwork 포스트백에 포함되며, 앱 인스톨이나 리인스톨에 기여한 광고 네트워크에게 전송됩니다.
SKAdNetwork 프레임워크 상에서는 네트워크가 인스톨/리인스톨 및 포스트 인스톨 유저 활동에 대한 모든 정보가 이 하나의 포스트백만을 통해 전달됩니다.
앱 내부에서 포스트백이 전송되기 전 전환값을 여러번 (몇몇 제약 사항 하에) 업데이트할 수 있으나, 포스트백에 포함되는 값은 최종 값 하나 뿐입니다.
이러한 엄격한 제한 안에서 Singular의 SKAdNetwork 전환 관리 솔루션은 여러 다른 정보들을 하나의 숫자에 담아서 다음 인사이트를 제공할 수 있습니다.
- 캠페인 ROI
- 포스트 인스톨 활동의 코호트 분석
- 유저 리텐션
전환값의 제약 사항은 무엇인가요?
Apple은 전환값과 관련해 다음과 같은 제약 사항을 설정했습니다.
- 각 인스톨/리인스톨 결과는 단 하나의 SKAdNetwork 포스트백에만 담기며 전환값도 단 한 개만 포함됩니다. 이 포스트백은 자동으로 전송됩니다.
- SKAdNetwork가 포스트백을 보내기 전에 전환값을 설정할 수 있는 24시간이라는 초기 타임 윈도우가 있습니다.
- 다만 앱이 전환값을 업데이트할 때마다 타임 윈도우가 24시간 증가합니다.
- 전환값은 증가되는 숫자로 설정해야 합니다. (예를 들어 전환값을 30으로 설정했다면 추후 더 작은 값인 20으로 업데이트할 수 없습니다. SKAdNetwork는 더 작은 값 업데이트를 허용하지 않습니다.
전환값을 캠페인 퍼포먼스 데이터에 사용 가능하도록 어떻게 인코딩하나요?
전환값이 0에서 63 사이의 숫자이기는 하지만, Singular는 인스톨과 유저의 포스트 인스톨 활동에 대한 많은 정보를 하나의 숫자로 인코딩할 방법을 보유하고 있습니다.
디바이스에서 전환값 포스트백을 네트워크에 전송하면 Singular로 전달되고, Singular는 이 값을 디코딩하고 유용한 캠페인 퍼포먼스 메트릭스로 해석해서 리포트, 포스트백, 데이터 데스티네이션(ETL) 추출 등에 사용합니다.
전환값은 6비트 배열로 모델화할 수 있으며, 각 비트는 1 또는 0 값을 가집니다. 비트가 포함한 값을 2의 각 자릿수 승으로 곱하면 배열 내부의 고유값을 0부터 63 사이의 숫자로 표시할 수 있습니다.
예시
유저가 여러 가지 포스트 인스톨 이벤트 (이 이벤트는 Singular SKAdNetwork 대시보드에서 정의)를 완료했는지에 대한 정보를 인코딩하여 Singular에서 전환값으로 사용할 수 있습니다. 각 이벤트는 비트에 할당되며, 이벤트가 최소 한 번 이상 발생하는 경우 1 값으로 설정됩니다.
아래 예시처럼 게임에서 유저가 가입(Sign Up)하고 레벨 2를 달성하고 비디오 튜터리얼도 시청했다고 가정해 보겠습니다. Singular는 해당 정보들을 다음처럼 인코딩합니다.
디바이스가 전환값 포스트백을 네트워크로 보내면 해당 포스트백이 Singular로 전달되고, Singular은 고객사의 SKAdNetwork 설정에 기반해서 37이라는 값을 디코딩하고 다음과 같은 사실을 파악합니다.
- 네트워크 X에 인스톨이 어트리뷰션됨
- 인스톨 이후 유저가 가입하고 레벨 2를 달성하고 비디오 튜터리얼을 시청함
주의: 유저 활동을 전환값으로 인코딩하는 다양한 방법을 전환 모델이라고 칭합니다. 위에서 설명한 방법은 사전정의된 특정 이벤트에 초점을 맞춘 방법으로, 다양한 전환 모델 중 하나의 예시입니다. Singular가 제공하는 다양한 전환 모델 중에서 고객사의 비즈니스와 KPI에 가장 알맞은 방법을 선택할 수 있습니다.
백엔드에서 전환값을 어떻게 관리하나요?
Singular의 SKAdNetwork 솔루션은 서버측에서 전환값을 관리하는 것도 지원합니다. 즉 전환 모델(정보를 전환값으로 인코딩하는 다양한 방법)의 변경을 전용 대시보드에서 할 수 있습니다. Singular SDK에 포함된 SKAdNetwork 솔루션을 연동했다면 다른 전환 모델을 시도해보기 위해 앱 코드를 수정하지 않아도 됩니다.
다음 단계를 통해 전환값을 관리할 수 있습니다.
- 앱 내의 Singular SDK가 유저 세션과 이벤트를 Singular 서버로 전송합니다.
- 고객사가 선택한 전환 모델을 기반으로 Singular 서버가 정보를 인코딩해서 전환값의 형태로 전송합니다..
- Apple SKAdNetwork API 호출을 통해 SDK가 전환값을 업데이트합니다.
- SKAdNetwork 타임아웃이 지나면 (측정 기간을 설정하면 이 기간을 다소 변경할 수 있습니다) 디바이스에서 광고 네트워크로 전환값을 포함하여 포스트백을 전송합니다.
- 광고 네트워크가 Singular에 전환값을 전달합니다.
- Singular는 전환값을 디코딩하고 리포트에 표시할 수 있는 유저 이벤트와 매출 정보를 추출합니다.
주의: SKAdNetwork 정보는 리포트, API, ETL 테이블, 포스트백 등에서 볼 수 있습니다. 현재의 캠페인 최적화 노력과 병행하여 SKAdNetwork 측정 및 테스트를 실행하세요.
"전환 모델(conversion model)"이란?
전환 모델(conversion model)이란 유저의 몇몇 포스트 인스톨 활동을 매우 제한된 전환값으로 인코딩하는 방법입니다. 각 전환 모델은 특정한 정보 유형에 초점을 맞추고 있습니다.
전환 모델 선택시 귀사의 유저가 행하는 포스트 인스톨 활동에 대한 어떤 정보가 가능한지 선택하게 됩니다. 고객사의 KPI와 캠페인 최적화 과정에 적합한 전환 모델을 선택하세요.
Singular는 어떤 전환 모델을 제공하나요?
SKAdNetwork 대시보드에서 다음 중 하나의 전환 모델을 선택할 수 있습니다.
- 매출 모델
- 전환 이벤트 모델
- 인게이지먼트 모델
매출 모델
이 모델을 통해 인스톨/리인스톨 이후의 측정 기간 동안 유저로부터 발생한 매출에 기반하여 캠페인을 최적화할 수 있습니다.
SKAdNetwork 전환값이 6비트로 제한되므로, Singular에서 정확한 매출액 그대로를 인코딩할 수 없습니다. 대신 매출 버킷(revenue bucket, 일정 매출 구간)을 정의해서 각 매출 버킷을 하나의 값으로 매핑하게 됩니다.
예를 들어 다음처럼 매출 버킷을 정의할 수 있습니다.
- $1 - $5 → 1로 인코딩
- $5 - $10 → 2로 인코딩
- $10 - $15 → 3으로 인코딩
또한 전환값은 유저가 속한 매출 버킷에 대한 정보를 포함합니다.
주의: 측정 기간을 선택한 후 남아있는 슬롯 숫자에 따라 정의할 수 있는 매출 버킷 숫자가 달라집니다.
SKAdNetwork 플로우
- 유저가 앱을 인스톨/리인스톨합니다.
- 유저가 인앱 구입이나 다른 매출 이벤트를 발동합니다.
- Singular SDK가 이벤트 정보를 Singular 서버로 전송합니다. 서버는 매출액을 고객사가 미리 정의한 매출 버킷에 맞춰서 적합한 전환값으로 찾고 이 값을 다시 전송합니다.
- 측정 기간 이내에는 이 프로세스가 여러번 되풀이될 수 있습니다.
- Singular가 SKAdNetwork 포스트백을 받으면 매출 버킷으로 값을 디코딩하고 리포트에 계산된 매출을 표시합니다.
전환 이벤트 모델
이 모델을 통해 측정하고자 하는 특정 포스트 인스톨 유저 활동을 기반으로 캠페인을 최적화할 수 있습니다. 측정 기간 동안 최소 한번 이상 일어난 유저 이벤트를 전환값으로 인코딩합니다.
예를 들어 다음 포스트 인스톨 이벤트를 정의할 수 있습니다.
- 이벤트 1: 회원 가입
- 이벤트 2: 게임 레벨 달성
- 이벤트 3: 인앱구매
또한 전환값에 특정 유저에게 이들 이벤트가 발생했는지에 대한 정보를 포함할 수 있습니다.
주의: 측정 기간을 선택한 후 남아있는 슬롯 숫자에 따라 정의할 수 있는 이벤트 숫자가 달라집니다.
SKAdNetwork 플로우
- 유저가 앱을 인스톨/리인스톨합니다.
- 유저가 앱내에서 이벤트를 발동합니다.
- Singular SDK가 이벤트 정보를 Singular 서버로 전송합니다. 이벤트가 SKAdNetwork를 통해 측정하고자 정의된 이벤트이고 최초로 발생되었다면 이 이벤트가 발생되었음을 전환값에 반영합니다.
- 측정 기간 이내에는 이 프로세스가 다른 이벤트 기록을 위해 여러번 되풀이될 수 있습니다. 단 각 이벤트 유형은 단 한번만 계산됩니다. 유저가 측정 기간 동안 두 번 레벨업을 했더라도 전환값은 한번만 업데이트됩니다.
- Singular가 SKAdNetwork 포스트백을 받으면 전환값을 다시 이벤트로 해석하고 리포트나 포스트백 등에서 해당 정보가 사용 가능하도록 합니다.
인게이지먼트 모델
이 모델은 유저가 측정 기간 동안 앱에 얼마나 인게이지됐는지를 확인하여 캠페인을 최적화할 수 있도록 합니다. 이 모델은 측정 기간 동안 다양한 이벤트가 얼마나 많이 발생했는지를 전환값으로 인코딩합니다.
예를 들어 포스트 인스톨 이벤트 리스트를 다음처럼 정의할 수 있습니다.
- Event 1: 좋아요
- Event 2: 레벨 달성
또한 전환값은 이 이벤트가 몇 번이나 발생했는지를 담게 됩니다.
주의:
- 측정 기간을 선택한 후 남아있는 슬롯 숫자에 따라 정의할 수 있는 이벤트 숫자가 달라집니다.
- 더 많은 이벤트를 선택할 수록 각 이벤트의 횟수를 집계할 수 있는 슬롯 수가 줄어듭니다. 즉 이벤트 발생을 측정할 수 있는 횟수를 제한합니다. 예를 들어 (측정 기간 선택 이후) 4개의 슬롯이 남아 있고 2개의 이벤트를 선택하는 경우 각 이벤트는 2개의 슬롯(2비트)를 가지게 되므로 각 이벤트마다 최대 3회까지만 측정할 수 있습니다.
SKAdNetwork 플로우
- 유저가 앱을 인스톨/리인스톨합니다.
- 유저가 앱내에서 이벤트를 발동합니다.
- Singular SDK가 이벤트 정보를 Singular 서버로 전송합니다. 이벤트가 SKAdNetwork를 통해 측정하고자 정의된 이벤트이면 이 이벤트의 발생 횟수를 1 증가시킵니다.
- 측정 기간 이내에는 이 프로세스가 다른 이벤트 기록을 위해 여러번 되풀이될 수 있습니다.
- Singular가 SKAdNetwork 포스트백을 받으면 전환값을 다시 이벤트와 이벤트 발생 횟수로 해석하고 리포트나 포스트백 등에서 해당 정보가 사용 가능하도록 합니다.
측정 기간(measurement period)은 무엇인가요? 무엇을 설정해야 하나요?
측정 기간(measurement period)이란 얼마나 오래 앱이 포스트 인스톨 활동을 전환값으로 인코딩할지 결정하는 Singular 설정입니다. 측정 기간이 지나면 마지막 업데이트된 전환값과 함께 SKAdNetwork 포스트백이 전송됩니다.
측정 기간을 길게 선택하면 유저 활동 관련 정보를 수집해서 전환값에 포함할 시간을 더 많이 가질 수 있습니다. 하지만 이는 인스톨에 대한 모든 정보를 수집하는데 필요한 시간을 지연시킵니다.
또한 측정 기간은 SKAdNetwork로 측정될 최대 리텐션 기간 및 코호트 기간을 결정합니다. 예를 들어 3일로 측정 기간을 선택한 경우 Singular는 인스톨 이후 최초 3일 동안 발생한 정보만을 전환값으로 인코딩할 수 있습니다. 즉, 추적 가능한 가장 긴 리텐션 기간 및 코호트 기간이 3일이 됩니다.
주의: Singular는 고객사가 전환값 포스트백의 컨텐츠와 타이밍을 더 잘 제어할 수 있도록 측정 기간을 제공하고 있습니다. 최대 측정 기간을 설정하지 않으면 포스트백이 전송되기까지 경과할 수 있는 시간 제한이 없어 포스트백 전송이 지연될 수 있습니다.
왜 측정 기간이 슬롯을 소비하나요?
측정 기간을 1일 이상으로 설정하면 Singular는 6비트 전환값 중 일정 수의 슬롯을 예약해서 유저 리텐션 기간 추적에 사용합니다.
예를 들어 측정 기간을 7일로 설정하면 3개 슬롯을 예약합니다. 이는 7은 이진수 표현법으로 “111“이므로 7을 나타내기 위해서 3비트가 필요하기 때문입니다.
그 다음 앱이 Singular에 세션을 리포팅할 때마다 Singular는 이 예약 비트에 유저가 인스톨 이후 활동을 했던 일수를 업데이트합니다. 네트워크에 포스트백에 전송되고 Singular에 전달되면 Singular는 전환값 중 이 부분을 디코딩해서 리텐션과 코호트를 산출합니다.
이 방법이 귀중한 정보 슬롯의 일부분을 차지하긴 하지만, SKAdNetwork가 어트리뷰션 일자를 제공하지 않는 만큼 이것이 인스톨 일자/어트리뷰션 일자를 확인하는 유일한 방법입니다. Singular는 리텐션 시간과 포스트백 타임스탬프를 통해서만 이러한 일자를 계산할 수 있습니다.
리텐션 방법 도입의 또다른 장점은 리텐션을 위한 전환값을 업데이트할 때마다 SKAdNetwork 포스트백을 추가 24시간동안 지연하여 포스트 인스톨 활동을 측정하는 기간을 늘릴 수 있다는 것입니다.
주의: 측정 기간을 1일로 설정하면 Singular에서 코호트와 리텐션을 측정할 수 없는 반면, 선택 가능한 전환 모델에서 6개의 정보 슬롯 모두를 사용할 수 있습니다.