S2S 세그먼트 연동

서버 투 서버 구현에 기반한 Singular와의 세그먼트 연동에 대한 페이지입니다. 세그먼트와 연동하기 위해서, 다음과 같은 절차를 따르세요.

시작하기

  1. Segment UI Destination 페이지의 "Add Destination"을 클릭하세요.
  2. Destination Catalogue에서 "Singular"를 찾으시고 연결하고 싶은 소스를 확인하세요.
  3. Singular 대시보드의 'Settings' > 'SDK Keys'에서 찾을 수 있는 Singular "API KEY"를 Segment Settings UI에 추가하세요.

지원되는 항목

  • 인스톨 어트리뷰션 (Install Attribution)
  • 애플 서치 애즈 어트리뷰션 (Apple Search Ads Attribution)
  • 커스텀 이벤트 트래킹 (Custom Event Tracking)
  • 매출 트래킹 (Revenue tracking)
  • 커스텀 유저 ID (Custom User ID)
  • 세그먼트로 포스트 백 하는 "어트리뷰된 인스톨" ("Install Attributed") (Singular SDK 필요)

인스톨 어트리뷰션 (Install Attribution)

Singular 내 인스톨과 세션들을 트래킹하기 위해 설정 파라미터 초기화를 통한 라이프 사이클 이벤트의 자동 트래킹(오픈된 어플리케이션, 인스톨된 어플리케이션, 업데이트된 어플리케이션)을 활성화합니다. (iOS, Android) Singular “세션(session)”은 상단의 이벤트들을 포함하는 한 연동에 의해 자동으로 전송될 것입니다. 

애플 서치 애즈 어트리뷰션 (Apple Search Ads Attribution)

iAD 어트리뷰션 데이터를 Singular로 가져오기 위해서는, ios-ads-어트리뷰션-분석(analytics-ios-iads-attribution) 의존성(dependency)과 3.6.0 이상의 애널리틱스 SDK(Analytics SDK)를 포함해야 합니다.

인스톨 하기 위해서, 이하 라인을 Podfile에 추가하세요.
pod "Analytics"
pod "Analytics-iAds-Attribution"

그 후 헤더(header)를 가져와 설정을 초기화하세요.

iOS (Obj-C):

#import <Analytics-iAds-Attribution/SEGADTracker.h>
  // Initialize the configuration as you would normally.
  SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
  ...
  
  // Configure the client with the iAD middleware to attach iAd properties.
  configuration.middlewares = @[ [SEGADTracker middleware] ];
  [SEGAnalytics setupWithConfiguration:configuration];
  

iOS (Swift):

import Analytics-iAds-Attribution
  // Initialize the configuration as you would normally.
  var configuration = SEGAnalyticsConfiguration(writeKey: "WriteKey")
  ...
  // Configure the client with the iAD middleware to attach iAd properties.
  configuration.middlewares = [SEGADTracker.middleware()]
  
  SEGAnalytics.setup(with: configuration)
  

iAd 정보가 사용 가능해지면, 어트리뷰션 정보가 다음과 같은 세그먼트로 변형됩니다.

[analytics track:@"Application Installed",
    properties: nil,
    options: @{
      @"context" : @{
        @"campaign" : @{
          @"provider" : @"Apple",
          @"click_date" : attributionInfo[@"iad-click-date"],
          @"conversion_date" : attributionInfo[@"iad-conversion-date"],
          @"source" : @"iAd",
          @"name" : attributionInfo[@"iad-campaign-name"],
          @"content" : attributionInfo[@"iad-keyword"],
          @"ad_creative" : attributionInfo[@"iad-org-name"],
          @"ad_group" : attributionInfo[@"iad-adgroup-name"],
          @"id" : attributionInfo[@"iad-campaign-id"],
          @"ad_group_id" : attributionInfo[@"iad-adgroup-id"]
        }
      }
    }];

Singulars는 iAD 정보를 제공하기 위해 애플리케이션 인스톨 라이프사이클 이벤트(Application Installed lifecycle)를 분명하게 매핑했습니다.

커스텀 이벤트 트래킹

만약 아직 저희 스펙 사항을 확인하지 않으셨다면, 트래킹 메서드를 확인해보세요. 예시 호출(Android)은 다음과 같은 형태입니다.

Analytics.with(context).track("Signup")
  Analytics.with(context).track("Level9Passed")

이 호출들은 Singular로 전송되어 커스텀 포스트 인스톨(post-install) 이벤트로서 프로세스 되어 리포팅 & 유저 레벨 추출이 가능하게 됩니다. 

매출 트래킹(Revenue Tracking)

매출 특성이 포함된 이벤트가 전송됐을 때 (제로 값 포함) Singular는 매출 트래킹을 받게 됩니다. 통화(iso3code)를 선택적으로 전송할 수 있습니다. 기본적인 통화는 USD를 기반합니다. 

예를 들어 Android에서 귀사는 다음과 같이 설정할 것입니다. 

Analytics.with(context).track("Order Completed", new Properties().putRevenue(1.99));

커스텀 유저 ID (Custom User ID)

Singular는 Custom User ID를 세그먼트 유저 ID 값으로 매핑해왔습니다. 다음을 설정하시려면 아래 절차들을 따르세요: iOS, Android.

 "어트리뷰트 된 인스톨"("Install Attributed") 세그먼트 이벤트 활성화하기

고유한 Singular SDK가 필요합니다.
Singular가 "어트리뷰트 된 인스톨" 이벤트를 위해 어트리뷰션 데이터를 세그먼트로 보내 제공하려면, Singular는 반드시 세그먼트 `anonymousId` 그리고/또는 `userId`를 받아야 합니다. 인스톨시 있었다면, `userId`는 기본적으로 잡히며 세그먼트로 제공됩니다. `userId`가 없는 경우라면 (not available), Singular는 세그먼트로부터 `anonymousId` 가 필요합니다. 이 기능을 지원하려면, Singular SDK가 연동되어있어 "어트리뷰트 된 인스톨"("Install Attributed")로 명명된 커스텀 SDK로 전송되어야 합니다. 이 이벤트는 해당 SDK가 어트리뷰트 값이 `s_anonymous_id`로 초기화된 후 곧바로 Singular에 전송되어야 합니다. 세그먼트 `anonymousId` 는 이 메서드를 사용하는 세그먼트 SDK로부터 공급될 수 있습니다. 
Analytics.with(context).getAnalyticsContext().traits().anonymousId()

Singular 초기화 이후 곧바로 전달되어야 하는 SDK 이벤트의 예시

`userId` 와 `anonymousId`에 올바른 값을 보냈는지 반드시 확인하세요.

iOS (Objective-C):

NSString *userId = @"myUserId";
  NSString *anonymousId = [[SEGAnalytics sharedAnalytics] getAnonymousId];
  [Singular eventWithArgs:@"Install Attributed",
  @"s_user_id",userId,
  @"s_anonymous_id",anonymousId, nil];
  

iOS (Swift):

let userId = "myUserId"
  let anonymousId = SEGAnalytics.shared().getAnonymousId()
  Singular.event("Install Attributed", withArgs: ["s_user_id":userId,
  "s_anonymous_id":anonymousId])
  

Android (Java):

String userId = new String("myUserID");
  String anonymousId = Analytics.with(context).getAnalyticsContext().traits().anonymousId();
  Singular.event("Install Attributed", "s_user_id",userId,
  "s_anonymous_id",anonymousId);
  

 

Singular가 "어트리뷰트 된 인스톨"("Install Attributed") 이벤트를 받기 시작하면, 세그먼트의 Singular UI Partner Configuration 내 이벤트를 활성화 할 수 있습니다. 

mceclip1.png

도움이 되었습니까?