Apple iOS 14 업데이트가 Ad Tech 업계에 미칠 영향 – 1편
(이미지 출처 : 링크)
iOS 14 업데이트가 개인 사생활 보호기능을 제외하고 Apple 사용자들에게 릴리즈 되었습니다. 다행히도 해당 기능은 내년 초로 릴리즈가 연기되었습니다. 연장된 남은 기간 동안 애드테크 업계에서는 iOS 사용자에게 추적 권한을 받을 방법, 새로운 타겟팅 연구가 필요합니다. 그러나 이러한 마케팅적 접근방법에 앞서, 사용자 추적과 전환 기여를 획득하는 기술이 안정적으로 구현되어야 합니다. 모비데이즈의 모비커넥트는 Apple의 애드네트워크인 SKAdnetwork와 연동 작업을 진행하며 이에 발빠르게 대비하고 있습니다. 이 글은 SKAdnetwork 연동절차에 대한 소개글이며, 애드네트워크 기획자와 개발자를 위해 작성되었습니다. 연관 문서까지 참고하여 주시기 바랍니다.
애드네트워크가 iOS 광고 성과를 추적하기 위해서는 SKAdnetwork와의 연동과정이 필수적이게 될 것입니다. SKAdnetwork에 연동을 요청하기 위해서는 Apple 개발자 프로그램에 등록을 마친 후, 동일 계정으로 Apple Developer 페이지에서 연동을 요청해야 합니다. 연동을 요청하면 애드네트워크의 고유 네트워크 ID를 발급받게 됩니다. 이후에는 애드네트워크의 공개키와 Postback URL을 Apple에 전달해야 연동 작업을 수월하게 진행할 수 있습니다.
(이미지 출처 : 링크)
SKAdnetwork에 연동하고자 하는 애드네트워크는 개인키(Private Key)와 공개키(Public Key)를 생성하고, 공개키를 Apple에 보내야 합니다. 개인키를 생성하려면 다음 명령어를 터미널(cmd)에 입력합니다. (아래)
openssl ecparam -name prime192v1 -genkey -noout -out companyname_skadnetwork_private_key.pem
명령어에서 companyname 부분을 회사 이름으로 바꿉니다. 예로, mobidays 회사의 개인 키 파일 이름은 다음과 같습니다. (아래)
mobidays_skadnetwork_private_key.pem
명령어 입력 및 수행 성공을 위해서는 오픈소스 OpenSSL을 이용하여 SSL 인증서를 발급합니다. OpenSSL 다운로드 방법은 OppenSSL 사이트의 github 게시글을 참고해주세요.
개인 키는 공유하거나 클라이언트 측 코드에 포함시켜서는 안됩니다. 공개 키만 공유하세요. 이렇게 생성한 개인키를 이용하여 공개키를 생성합니다. 공개키를 생성하려면 다음 명령어를 터미널(cmd)에 입력합니다. (아래)
openssl ec -in companyname_skadnetwork_private_key.pem -pubout -out companyname_skadnetwork_public_key.pem
명령어에서 companyname_skadnetwork_private_key.pem 부분은 개인키 코드로 바꿉니다. 명령어에서 companyname 부분을 회사 이름으로 바꿉니다. 예로, mobidays 회사의 개인 키 파일 이름은 다음과 같습니다. : mobidays_skadnetwork_public_key.pem
SKAdnetwork 등록 시에는 공개키를 보냅니다. 참고로, Apple의 공개키는 다음과 같습니다. (아래)
MEkwEwYHKoZIzj0CAQYIKoZIzj0DAQEDMgAEMyHD625uvsmGq4C43cQ9BnfN2xslVT5V1nOmAMP6qaRRUll3PB1JYmgSm+62sosG
광고가 송출되는 앱이 iOS 11.3 ~ 14 이전 SDK를 사용하거나 해당 버전의 기기에서 실행되는 경우 SKAdnetwork 로부터 버전 1.0의 포스트백을 받습니다. 광고가 송출되는 앱이 iOS 14 이후 SDK를 사용하거나 해당 버전의 기기에서 실행되는 경우 SKAdnetwork 로부터 버전 2.0의 포스트백을 받습니다. 두 경우 모두 포스트백에서 받은 매개변수만 사용합니다. SKAdnetwork 로부터 받은 요청을 확인하기 위해서는 UTF-8 문자열을 만듭니다.
Postback URL의 버전 1.0을 사용할 경우, 다음 파라미터들을 순서대로 결합합니다. : ad-network-id, campaign-id, app-id, transaction-id.
version 1.0 포스트백에 대한 UTF-8 문자열의 예시는 다음과 같습니다. (아래)
ad-network-id + '\u2063' + campaign-id + '\u2063' + app-id + '\u2063' + transaction-id
Postback URL의 버전 2.0을 사용할 경우, 다음 파라미터들을 순서대로 결합합니다. : version, ad-network-id, campaign-id, app-id, transaction-id, redownload, source-app-id
Install 포스트백 요청 시에는 JSON 형태의 데이터를 전송하게 됩니다. 예시 데이터는 아래에서, 파라미터별 설명은 여기를 참고해주세요.
{ "version" : "2.0",
"ad-network-id" : "com.example",
"campaign-id" : 42,
"transaction-id" : "6aafb7a5-0170-41b5-bbe4-fe71dedf1e28",
"app-id" : 525463029,
"attribution-signature" : "MDYCGQD0AdGn5gUnSuVGk8Wi0IgxzWiKdBzwJrQCGQCJfkrI5bda93EC4Xm1H+MtNxstFmnVBn0=",
"redownload" : true,
"source-app-id" : 1234567891,
"conversion-value" : 20 }
version 2.0 포스트백에 대한 UTF-8 문자열의 예시는 souce-app-id 컬럼의 여부에 따라 다릅니다. source-app-id 컬럼이 포함된 UTF-8 문자열의 예시는 다음과 같습니다. (아래)
version + '\u2063' + ad-network-id + '\u2063' + campaign-id + '\u2063' + app-id + '\u2063' + transaction-id + '\u2063' + redownload + '\u2063' + source-app-id
source-app-id 컬럼이 포함되지 않은 UTF-8 문자열의 예시는 다음과 같습니다. (아래)
version + '\u2063' + ad-network-id + '\u2063' + campaign-id + '\u2063' + app-id + '\u2063' + transaction-id + '\u2063' + redownload
SKAdnetwork가 앱 내에서 활성화되어 있으면 광고 클릭 후 App Store로 넘어갈 때 App Store에서 어트리뷰션 파라미터를 받게 됩니다. 그 후에 앱이 다운로드되면 iOS에서 어트리뷰션 파라미터가 포함된 포스트백을 발송합니다. 인스톨 포스트백은 앱이 아닌 iOS 시스템에서 자체적으로 발송되므로 광고주들은 앱이 인스톨되었는지까지는 알 수 있지만 디바이스와 관련된 상세 정보를 알 수 없게 됩니다(참고).
다음 포스트에서는 iOS14 업데이트로 인해 광고주, 광고 운영자, 광고 플랫폼 기획자 등 애드테크 산업에 종사하는 직군별 확인해야 할 요소들과 그에 따른 권장 액션 리스트를 소개해 드립니다. 더불어, Ad-Network 로서 SKAdnetwork 연동 시에 알아 두면 좋을 정보를 소개해 드립니다.