セグメントとSingularのハイブリッド統合(Singular SDK + セグメントのクラウドモード)

Singular SDKは、標準的な"デバイスモード "や "クラウドモード "の統合オプションでは利用できない多くの機能を提供します。

Singularの特徴や機能をすべて活用するために、SingularとSegmentを使用する場合はハイブリッド手法で統合することをお勧めします。

ハイブリッドアプローチは以下のように構成されます:

  1. SingularSDKをSegmentから独立して実装し、SingularSDKがセッショントラッキング、SDKフレームワーク(React Native、Unityなど)の追加サポート、SkAdNetwork、ディープリンク、ディファードディープリンク、高度な機能を処理できるようにします。
  2. Segmentの"Cloud-Mode "オプションをSingular Destinationに対して有効にしました。これにより、すべてのSegmentモバイルトラックイベントがSingularのデスティネーションに送信されます。

以下の手順は、Singular HybridをSegmentで設定する方法を示しています。

ガイド エンジニアリングチーム
前提条件 この記事では、 Segment Mobile Analytics SDKがすでに アプリに統合されていることを前提としています。

この統合を使用するには、SegmentのMobile Analytics SDKを使用する必要があります。

サポート内容

Singular SDKは以下をサポートします:

  1. アトリビューションのインストール
  2. SkAdNetworkのサポート
  3. Google Install Referrer サポート
  4. META インストールリファラーサポート
  5. Apple 検索広告のアトリビューション
  6. カスタムアプリ内イベントトラッキング
  7. 収益トラッキング
  8. カスタムユーザーID
  9. グローバルプロパティサポート
  10. プライバシーオプション

セグメント "クラウドモード "統合は以下をサポートします:

  1. カスタムアプリ内イベントトラッキング
  2. 収益トラッキング
  3. カスタムユーザーID
サポートされないもの
  1. Android AppSetId(詳細)

    Android AppSetIdはSingularのSDKでGoogle Advertising IDが使用できない場合にSDKのアクティビティを追跡するための予備識別子として使用されます。この識別子はアトリビューション目的では使用されませんが、デバイスを認識し、アプリ内イベントを当該デバイスに関連付ける役割を果たします。
    SegmentはAndroid AppSetIdを取得しないため、ユーザーのデバイスがGoogle Advertising IDを持たない場合、SegmentはSingularの「Cloud-Mode」Destinationにイベントを送信できません。

    Segment が、Singular SDK が同じデバイスに関連付けている Identifier と異なる Identifier で Singular にイベントを送信すると、不一致が生じます。S2Sイベントから未知の識別子に有機的に帰属し、収益イベントが誤って帰属する可能性があります。

    このエッジケースについてご質問がある場合は、Singularのソリューションエンジニアにご相談ください。

ハイブリッド構成

  1. Singular SDKの統合

    SingularのSDKをSegmentから独立して実装します。SDKオプションとフレームワークはこちらをご覧ください。

  2. Segment - Singularデスティネーション(クラウドモード)を有効にする

    こちらのガイドに従ってください。

推奨される追加設定

ハイブリッド手法を使用する場合、SingularのSDKにSegment AnonymousIdとSegment User IDを渡すことを推奨します。

SDKのドキュメントに記載されているこれらのオプション機能を実装する際には、特に注意してください。使用するフレームワークによって手順が若干異なる場合があります。

グローバルプロパティの実装

SingularのグローバルプロパティにSegmentAnonymousIdを渡します。 これにより、Segment AnonymousIdがSDKからのデバイスレベルのデータに関連付けられます。 Singular SDKの初期化時にSingular Configオブジェクトでこの値をSingularに提供すると、UserIdが不明な場合にSingularがSegmentにInstall postbackを送信することもできます。

Singularは、Segment AnonymousIdおよび/またはSegment UserId値を使用して、アプリインストールからSegmentにアトリビューション情報のみを提供できます。この設定方法の例として、Singularのグローバルプロパティ[iOS][Android]を参照してください。

グローバルプロパティは、Singular SDKを初期化する際に、key:segment_anonymous_idと 、Segment SDKから取得したSegment AnonymousIdの値で設定する必要があります。セグメント匿名 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の実装

セグメントUserIdをSingular Custom User IDメソッドに渡す。これにより、Segment UserIdはSDKからのデバイスレベルのデータに関連付けられます。Singular SDKの初期化時にSingular Configオブジェクトでこの値をSingularに提供することで、SingularはSegmentへのInstall postback時にUserIdを送信することもできます。Singularとの統合に使用しているSDKフレームワークのドキュメントは、続きをお読みください。iOS][Android]の例

さらに、UserIDはSingular SDKからネイティブにトリガーされるアプリ内イベントに関連付けられます。

受信した "Cloud-Mode "イベントに対して、SingularはカスタムユーザーIDをセグメントユーザーIDの値にマッピングしました。iOSAndroid用に設定するには、こちらの手順に従ってください。

Singularパートナー設定の構成

インストールデータをSegmentに戻すには、パートナー設定ページでSegmentを有効にする必要があります。

Singular Platformで

  1. Attribution > Partner Configuration」に移動し、「Add Partner」ボタンをクリックします。
  2. セグメントを検索
  3. アプリとサイトを選択
  4. 保存をクリック
segment_partner_config.png

よくある質問とトラブルシューティング

Singularのレポートでは正しくアトリビュートされているにもかかわらず、メタ(Facebook)広告からのインストールがセグメント統合で「未アトリビュート」と表示されるのはなぜですか?

Facebookは、データアクセスとユーザーレベルのデータに制限を課しているため、Segmentへのアトリビューションデータの正確な送信が妨げられる可能性があります。

インストールが「インストール」イベントを通じてSegmentに送信される場合、Facebookの制限により、ユーザーレベルデータの正確な通過が妨げられる可能性があります。Facebookのデータポリシーは[こちら]で確認できます。その結果、同じインストールがSingularの集計レポートではFacebookに帰属しているように見えても、Segmentでは「未帰属」に分類される可能性があります。