서버 간(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에서 설치) 세션을 야기할 수 있습니다. 오프라인에서 일어난 활동이 서버에 전송되지 않는다면 정확한 어트리뷰션이 이루어질 수 없습니다.

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

Adjust는 어떻게 정보를 버퍼링하나요?

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

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

모든 광고 및 기기 ID 수집

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

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

Adjust는 어떻게 ID를 수집하나요?

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

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

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

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

Adjust는 어떻게 UUID를 관리하나요?

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

어트리뷰션에 필요한 Apple Search Ads, Google Play Store 및 Amazon Appstore와 같은 서드파티 앱 스토어의 주요 정보는 서드파티 연동을 통해서만 앱 내에서 수집할 수 있습니다.

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

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

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

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

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

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

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

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

  • Apple Search Ads를 통한 설치

Adjust는 어떻게 필요한 어트리뷰션 데이터를 수집하나요?