adjust-icon

서버 간(S2S) 어트리뷰션 체크리스트

서버 간(S2S) 어트리뷰션과 세션 측정을 위해서는 Adjust SDK의 기본 기능을 복제하는 맞춤형 인앱 솔루션이 필요합니다. 서버 간 어트리뷰션 체크리스트는 이 인앱 솔루션의 요구 사항을 정리한 내용입니다. 요구 사항을 충족시키면 Adjust가 수신하는 정보의 보안과 리포트의 정확성이 보장됩니다.

시작에 앞서

어트리뷰션과 세션 측정에 필요한 Adjust SDK의 최소 코드 내역을 확인해 보세요. Adjust는 어트리뷰션 및 세션 측정을 위해 이 코드를 앱에 연동하는 것을 권장합니다. 코드 연동은 간단하며, 맞춤형 솔루션이 복제해야 할 기능을 제공합니다.

아래 링크된 가이드에서 기본 연동 단계를 확인하실 수 있습니다.

📖 Android / iOS / Windows / Adobe Air / Unity / Cordova / Marmalade / Xamarin / Cocos2d-x / React Native / Titanium / Corona

체크리스트 개요

Adjust의 서버 간 어트리뷰션 체크리스트는 데이터 무결성 및 보안, 광고 및 기기 ID, 서드 파티 연동의 3가지 주요 영역에 대한 5가지 요구 사항을 설명합니다. 정확한 어트리뷰션 및 세션 추적을 위해서 모든 항목은 필수입니다. 인앱 솔루션은 기본적으로 이러한 요구 사항을 충족하는 Adjust SDK의 기본 기능을 재현해야 합니다.

1. 보안 및 무결성 유지

요청을 보호하고 정보를 로컬로 버퍼링하여 앱에서 생성, 수집 및 서버로 보내는 정보의 보안 및 무결성을 보장해야 합니다.

안전한 앱-서버 요청

모바일 업계에는 앱 설치 광고 해킹이 빈번하게 발생하고 있으며, 수십억 달러의 마케팅 예산을 탈취하고 있습니다. 이러한 해킹을 방지하기 위해서는 우선 앱-서버 요청을 반드시 보호해야 합니다. 고객사가 데이터의 보안을 보장하지 못하는 경우, Adjust는 서버에서 수신된 정보가 유효한지 아닌지 알 수 없습니다. 그 결과, 리포트에서 허위 데이터가 표시될 수 있습니다.

위 요건을 충족하지 못하는 경우, 리포트 및 광고 지출에 허위 설치가 포함되어 예산을 낭비하게 됩니다. 요청에 대한 보안을 보장할 수 없다면 서버 간 연동을 사용하지 않는 것이 좋습니다.

Adjust가 설치를 보호하는 방법

Adjust는 Adjust SDK Signature(SDK 서명)를 통해 모든 설치를 보호합니다. 이 서명은 앱 시크릿을 사용하여 암호화된 해시이며, Adjust SDK에 적용되어 모든 설치 리포트에 포함됩니다. Adjust는 모든 설치 데이터에서 이 해시 정보를 인증하고, 인증되지 않은 어트리뷰션 트래픽을 모두 차단합니다.

로컬로 정보 버퍼링

사용자는 디바이스가 오프라인 상태일 때 앱을 최초로 실행하거나 설치 로 간주) 세션을 트리거할 수 있습니다. 오프라인에서 일어난 활동이 Adjust 서버에 전송되지 않는다면 정확한 어트리뷰션이 이루어질 수 없습니다.

위 요건을 충족하지 못하는 경우나 4G 핸드오버와 같이 잠시 동안 통신이 끊기거나, 네트워크 및 WiFi가 장시간 동안 연결되지 않은 경우, 데이터가 손실될 수 있습니다. 이 경우, 전체 설치의 10~20%가 첫 번째 시도에서 Adjust에 도달하지 못 할 수 있습니다. Adjust가 이 데이터를 수신하지 못한다면, 실질적으로 발생한 모든 활동이 아니라 현재 데이터를 기반으로 어트리뷰션 하게 됩니다.

Adjust가 정보를 버퍼링하는 방법

Adjust SDK는 모든 인앱 활동을 큐에 대기 시켜, 통신이 다시 연결됐을 때 이 데이터를 모두 서버로 전송합니다.

2. 광고와 기기 ID 수집 및 생성

Android의 Google 플레이 스토어 광고 ID(GPS_ADID) 및 광고주 iOS ID(IDFA)는 모두 광고 ID입니다. 디바이스 사용자는 이 두 ID를 쉽게 재설정하거나 액세스를 비활성화 할 수 있습니다. 따라서 Adjust는 어트리뷰션 및 세션 측정을 위해 기기 ID 및 범용 고유 식별자(UUID, iOS 전용)도 사용하고 있습니다. 최종 사용자는 기기를 재설정해야만 두 ID를 재설정할 수 있습니다.

모든 광고 및 기기 ID 수집

광고 ID는 재설정이 가능합니다. 인앱 보상을 더 받기 위해 광고 ID를 사용자가 고의적으로 재설정하는 경우도 있습니다. 또한, iOS 사용자의 15%는 광고 추적 제한(LAT)을 설정하여 IDFA에 대한 액세스를 차단하고 있습니다. 이와 같은 이유로 Adjust는 어트리뷰션을 보다 정확하게 하고, 계속해서 인앱 세션을 기록할 수 있도록 추가적인 ID를 사용하고 있습니다.

위 요건을 충족하지 못하는 경우, 기존에 기록된 광고 ID와 다르거나 LAT를 활성화시킨 경우와 같이 광고 ID를 보유하지 않은 세션은 새로운 설치로 간주됩니다.

Adjust가 ID를 수집하는 방법

Adjust SDK는 기본 설정에 따라 합법적인 광고 및 기기 ID를 모두 수집합니다. Adjust는 이러한 ID를 매핑하여 ID가 재설정되는 경우 새 ID를 시스템에 저장된 해당 사용자의 다른 ID와 매핑할 수 있습니다.

범용 고유 식별자를 생성하고 디바이스 키 체인(iOS)에 유지

사용자가 광고 ID를 재설정하거나 앱을 삭제하고 다시 설치하는 경우, 또는 광고 트래킹 제한(LAT)을 활성화하는 경우 Adjust는 해당 IDFA 및 IDFV를 확인할 수 없습니다. 사용자의 인앱 세션을 지속적으로 기록하기 위해 Adjust는 디바이스 키 체인에 유지되는 영구적인 로컬 UUID에 의존합니다. Adjust는 이 UUID를 다른 디바이스 정보에 매핑합니다. 이 작업을 통해서 사용자의 인앱 활동을 다음과 같은 경우에도 원활하게 측정할 수 있습니다.

  • 사용자가 LAT를 활성화
  • 사용자가 광고 ID를 재설정
  • Adjust가 광고 ID와 iOS 벤더 ID(IDFV) 원본을 수신하지 못 함

위 요건을 충족하지 못하는 경우, 새로운 설치를 가장한 디바이스 팜에서 발생한 설치가 리포트에 포함될 수 있습니다. LAT를 활성화시킨 사용자는 매 세션마다 새로운 설치로 간주됩니다.

Adjust가 UUID를 관리하는 방법

Adjust는 설치 시 UUID를 생성합니다. 이는 Adjust 시스템에서 다른 디바이스 정보에 매핑됩니다.

3. 서드파티 연동 및 추가 데이터 수집

어트리뷰션에 필요한 Apple 검색 광고, Google 플레이 스토어, 서드파티 앱 스토어(예: 아마존 앱스토어)의 주요 정보는 서드파티 연동을 통해서만 앱 내에서 수집할 수 있습니다.

이 과정에는 다음 내역이 필요합니다.

Android

iOS

앱에서 수집되는 이 정보가 어트리뷰션에 사용되기 위해서는 이 내용을 Adjust에 바로 전달해야 합니다.

모든 소스에서 어트리뷰션에 필요한 데이터 수집

Adjust는 정확하고 포괄적인 어트리뷰션 및 딥링크 리어트리뷰션을 위해 시스템 연동을 통해 전송된 정보를 사용합니다.

Google Play Store 리퍼러가 없으면 Adjust는 어트리뷰션을 할 수 없습니다.

  • Android 설치의 절반 이상
  • 모든 Google 오가닉 검색을 통한 설치
  • 서드 파티 앱 스토어를 통한 설치

또한 이 경우 클릭 인젝션 필터도 작동하지 않습니다. 이로 인해 Android에서 일어나는 주요 모바일 광고 해킹에 취약해집니다. 이 밖에도 Dalvik VM에 대한 명령어 집합 없이는 설치가 가상 기기에서 발생했는지 알 수 없습니다.

Apple Search Ads 어트리뷰션 API가 없는 경우 Adjust는 다음 내용을 어트리뷰션 할 수 없습니다.

  • Apple Search Ads를 통한 설치

Adjust가 필요한 어트리뷰션 데이터를 수집하는 방법

연동에 필요한 코드는 AndroidiOS용 Adjust SDK 가이드에서 확인하실 수 있습니다. Adjust SDK로 딥링크 리어트리뷰션을 활성화하려면, AndroidiOS용 딥링킹 가이드에 명시된 단계를 참조하시기 바랍니다.

Adjust Android SDK가 앱에 추가되면, Dalvik VM 명령어 집합 수집이 자동으로 시작됩니다.