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

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

세그먼트와 싱귤러를 함께 사용하여 싱귤러의 모든 기능을 활용하려면 하이브리드 방법론을 통해 통합하는 것이 좋습니다.

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

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

아래 지침은 세그먼트에서 싱글 하이브리드 구현을 구성하는 방법을 설명합니다.

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

이 통합을 사용하려면 세그먼트의 모바일 애널리틱스 SDK를 사용 중이어야 합니다.

지원되는항목

싱글 SDK는 다음을 지원합니다:

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

세그먼트 '클라우드 모드' 통합은 다음을 지원합니다:

  1. 사용자 지정 인앱 이벤트 추적
  2. 수익 추적
  3. 사용자 지정 사용자 ID
지원되지 않는기능
  1. 안드로이드 앱셋아이디(더 보기)

    안드로이드 앱셋아이디는 구글 광고 ID를 사용할 수 없을 때 SDK 활동을 추적하기 위한 대체 식별자로 싱귤러의 SDK에서 활용됩니다. 이 식별자는 어트리뷰션 목적으로 사용되지는 않지만, 디바이스를 인식하고 인앱 이벤트를 해당 디바이스에 연결하는 역할을 합니다.
    세그먼트는 안드로이드 앱셋아이디를 캡처하지 않으므로, 사용자 디바이스에 구글 광고 식별자가 없는 경우 세그먼트는 단일 "클라우드 모드" 타겟으로 이벤트를 전송할 수 없습니다.

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

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

하이브리드 구성

  1. 싱귤러 SDK 통합

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

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

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

권장 추가 설정

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

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

글로벌 속성 구현

세그먼트 익명 아이디를 싱귤러 글로벌 프로퍼티에 전달합니다. 이렇게 하면 세그먼트 익명 아이디가 SDK의 디바이스 수준 데이터에 연결됩니다. 싱귤러 SDK 초기화 시 싱귤러 구성 개체의 싱귤러에 이 값을 제공하면 사용자 아이디를 알 수 없는 경우 싱귤러가 세그먼트에 설치 포스트백을 전송할 수 있습니다.

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

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

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

단일 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 구현

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

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

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

싱귤러 파트너 구성 구성

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

단일 플랫폼에서:

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

FAQ 및 문제 해결

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

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

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