세그먼트 - 단일 하이브리드 통합(단일 SDK + 세그먼트 클라우드 모드)

문서

Segment는 기업이 고객 데이터를 수집, 정리, 다양한 대상으로 라우팅할 수 있도록 지원하는고객 데이터 인프라(CDI) 플랫폼입니다. 웹사이트, 모바일 앱, 서버, 클라우드 서비스 등 여러 소스에서 데이터를 수집할 수 있는 Singular API를 제공하는 것은 mParticle과 유사합니다.

Singular SDK는 표준 '디바이스 모드' 또는 '클라우드 모드' 연동 옵션을 통해서는 사용할 수 없는 많은 기능을 제공합니다.

Singular의 모든 기능을 활용하려면 세그먼트와 Singular를 함께 사용할 때 하이브리드 방법론을 통해 연동하는 것이 좋습니다.

하이브리드 접근 방식은 다음과 같이 구성됩니다:

  1. 세그먼트와 독립적으로 Singular SDK를구현하여 Singular SDK가 세션 추적, SDK 프레임워크(리액트 네이티브, 유니티 등), SkAdNetwork, 딥링크 및 디퍼드 딥링크, 고급 기능을 추가로 지원할 수 있도록 합니다.
  2. Singular 대상에 대한 세그먼트에서 '클라우드 모드' 옵션을 활성화합니다. 이렇게 하면 모든 세그먼트 모바일 트랙 이벤트가 Singular의 타겟으로 전송될 수 있습니다.

아래 지침은 세그먼트를 사용하여 Singular 하이브리드 구현을 구성하는 방법을 설명합니다.

대상 가이드 엔지니어링 팀
전제 조건 이 문서에서는 앱에이미 세그먼트 모바일 애널리틱스 SDK가 연동되어있다고 가정합니다.

이 연동을 사용하려면 Segment의 모바일 애널리틱스 SDK를 사용 중이어야 합니다.

지원되는 항목

Singular SDK는 다음을 지원합니다:

  1. 어트리뷰션 설치
  2. SkAdNetwork 지원
  3. 구글 인스톨 리퍼러 지원
  4. 메타 인스톨 리퍼러 지원
  5. 애플 검색 광고 어트리뷰션
  6. 맞춤형 인앱 이벤트 추적
  7. 구매 추적
  8. 맞춤 사용자 ID
  9. 글로벌 속성 지원
  10. 개인정보 보호 옵션

세그먼트 "클라우드 모드" 연동은 모바일 설치 후 이벤트를 지원합니다(웹 이벤트는 지원되지 않음):

  1. 커스텀 인앱 이벤트 추적
  2. 구매 추적
  3. 사용자 지정 사용자 ID
지원되지 않는 항목
  1. 안드로이드 앱셋아이디(자세히)

    안드로이드 앱셋아이디는 구글 광고 ID를 사용할 수 없을 때 SDK 활동을 추적하기 위한 대체 식별자로 Singular의 SDK에서 활용됩니다. 이 식별자는 어트리뷰션 목적으로 사용되지는 않지만, 디바이스를 인식하고 인앱 이벤트를 해당 디바이스에 연결하는 역할을 합니다.

    세그먼트는 안드로이드 앱셋아이디를 캡처하지 않으므로, 사용자 디바이스에 구글 광고 식별자가 없는 경우 세그먼트는 Singular "클라우드 모드" 대상에 이벤트를 전송할 수 없습니다.

    세그먼트가 동일한 디바이스에 대해 Singular SDK가 연결한 식별자와 다른 식별자를 사용하여 이벤트를 Singular로 전송하면 불일치가 발생합니다. S2S 이벤트의 알 수 없는 식별자에 대한 오가닉 어트리뷰션과 잘못 어트리뷰션된 구매 이벤트가 발생할 수 있습니다.

    이 에지 케이스에 대해 궁금한 점이 있으면 Singular 솔루션 엔지니어에게 문의하세요.

하이브리드 구성

  1. Singular SDK 연동

    세그먼트와 독립적으로 Singular SDK를 구현하세요. SDK 옵션 및 프레임워크는 여기를 참조하세요.

  2. 세그먼트 - Singular 대상 활성화(클라우드 모드)

    여기에서 가이드를 따르세요.

권장 추가 설정

하이브리드 방법론을 사용하는 경우, 세그먼트 익명 아이디와 세그먼트 사용자 아이디를 Singular의 SDK에 전달하는 것이 좋습니다.

SDK 문서에서 이러한 선택적 기능을 구현할 때 특별히 주의하고 주의를 기울이세요. 사용 중인 프레임워크에 따라 단계가 약간 다를 수 있습니다.

글로벌 속성 구현

세그먼트 익명아이디를 Singular 글로벌 프로퍼티에 전달합니다. 이렇게 하면 세그먼트 익명 아이디가 SDK의 디바이스 수준 데이터에 연결됩니다. Singular SDK 초기화 시 Singular Config 객체에서 이 값을 Singular에 제공하면 UserId를 알 수 없는 경우 Singular가 설치 포스트백을 세그먼트에 보낼 수 있습니다.

Singular는 앱 설치에서 세그먼트 익명아이디 및/또는 세그먼트 사용자아이디 값을 사용하여 세그먼트에 어트리뷰션 정보만 제공할 수 있습니다. 이를 구성하는 방법에 대한 예시는 Singular의 글로벌 속성[iOS][Android]를 참조하십시오.

글로벌 프로퍼티는 세그먼트 SDK를 초기화할 때 세그먼트_anonymous_id 키와 세그먼트 SDK에서 검색한 세그먼트 익명아이디 값을 사용하여 구성해야 합니다. 세그먼트 익명ID는 이 방법을 사용하여 세그먼트 SDK에서 가져올 수 있습니다.

Analytics.with(context).getAnalyticsContext().traits().anonymousId()

Singular SDK 구성 예시

iOS(Swift)iOS(Obj-C)Android(Java)

func getConfig() -> SingularConfig? { 
   // (Optional) Get 3rd-party identifiers to set in Global Properties: 
   // If 3rd-party SDKs are providing any identifiers to Singular, the
   // respective SDK must be initialized before Singular. 
   
   let thirdPartyKey = "segment_anonymous_id" 
   let thirdPartyValue = SEGAnalytics.shared().getAnonymousId()
   
   // Singular Config Options 
   guard let config = SingularConfig(apiKey: Constants.APIKEY, 
andSecret: Constants.SECRET) else { return nil } ... // Using Singular Global Properties feature to capture third party identifiers config.setGlobalProperty(thirdPartyKey,
withValue:thirdPartyValue, overrideExisting: true) ... return config}

사용자 지정 사용자 ID 구현

세그먼트 사용자 아이디를 Singular 사용자 아이디 메서드에 전달합니다. 이렇게 하면 Segment UserId가 SDK의 디바이스 수준 데이터에 연결됩니다. Singular SDK 초기화 시 Singular Config 객체에서 이 값을 Singular에 제공하면 Singular가 설치 포스트백에서 UserId를 세그먼트에 전송할 수 있습니다. Singular 연동에 사용 중인 SDK 프레임워크 설명서를 자세히 읽어보세요.iOS][Android] 예시

또한 UserID는 Singular SDK에서 기본적으로 트리거되는 모든 인앱 이벤트와 연결됩니다.

수신된 "클라우드 모드" 이벤트의 경우, Singular는 사용자 지정 사용자 ID를 세그먼트 사용자 ID 값에 매핑했습니다. iOS, Android에 대해 구성하려면 여기 단계를 따르세요.

Singular 파트너 구성 구성

설치 데이터를 세그먼트에 다시 전달하려면 파트너 구성 페이지에서 세그먼트를 활성화해야 합니다.

Singular 플랫폼에서:

  1. "어트리뷰션 > 파트너 구성"으로 이동하여 "파트너 추가" 버튼을 클릭합니다.
  2. 세그먼트 검색
  3. 앱과 사이트를 선택합니다.
  4. 저장을 클릭합니다.
segment_partner_config.png

FAQ 및 문제 해결

메타(페이스북) 광고의 인스톨이 Singular 보고서에서는 올바르게 어트리뷰션되었음에도 불구하고 세그먼트 연동에서 '어트리뷰션되지 않음'으로 표시되는 이유는 무엇인가요?

페이스북은 데이터 액세스 및 사용자 레벨 데이터에 제한을 두기 때문에 어트리뷰션 데이터를 세그먼트로 정확하게 전송하는 데 방해가 될 수 있습니다.

'설치' 이벤트를 통해 설치가 세그먼트에 전송될 때, 페이스북의 제한으로 인해 사용자 수준 데이터가 정확하게 전달되지 않을 수 있습니다. 여기에서 데이터 정책을 확인할 수 있습니다. 그 결과, 동일한 인스톨이 Singular의 집계 보고서에서는 페이스북 어트리뷰션으로 표시될 수 있지만, 세그먼트에서는 '미어트리뷰션'으로 분류될 수 있습니다.