RudderStack
RudderStack は、顧客イベントデータを収集し、希望するデータウェアハウスや Braze などの他の多数の分析プロバイダーにルーティングするための、オープンソースの顧客データインフラです。これはエンタープライズ対応で、イベントデータを即座に処理するための強力な変換フレームワークを提供します。
Braze と RudderStack の統合により、Android、iOS、および Web アプリケーションのネイティブ SDK 統合と、バックエンドサービスからのサーバー間統合が提供されます。
前提条件
必要条件 | 説明 |
---|---|
RudderStackアカウント | このパートナーシップを活用するには、RudderStack アカウントが必要です。 |
設定済みのソース | ソースは基本的に、Web サイト、モバイルアプリ、バックエンドサーバーなど、RudderStack に送信されるあらゆるデータの提供元です。RudderStack で Braze を宛先として設定する前に、ソースを設定する必要があります。 |
Braze REST API キー | users.track 、users.identify 、users.delete 、users.alias.new の権限を持つ Braze REST API キー。これは、Settings > API Keys のBraze ダッシュボードで作成できます。 |
Brazeアプリのキー | Brazeダッシュボードでアプリキーを取得するには、「設定」>「アプリ設定」>「識別」と進み、アプリ名を見つける。関連する識別子文字列を保存する。 |
データセンター | データセンターは、Braze ダッシュボードインスタンス]に対応しています。 |
統合
ステップ1:ソースを追加する
Brazeへのデータ送信を開始するには、まずRudderStackアプリにソースが設定されていることを確認する必要がある。データソースの設定方法については、RudderStack ] を参照のこと。
ステップ2:宛先を設定する
データソースが設定されたので、RudderStack ダッシュボードで、[Destinations] の下にある [ADD DESTINATION] を選択します。使用可能な宛先のリストから [Braze] を選択し、[Next] をクリックします。
Brazeデスティネーションで、アプリキー、Braze REST APIキー、データクラスタ、およびネイティブSDKオプション(デバイスモードのみ)を指定する。ネイティブ SDK オプションをオンにすると、Braze ネイティブ SDK を使用してイベントが送信されます。
ステップ3:統合のタイプを選ぶ
次のいずれかの方法を使用して、RudderStack の Web ライブラリとネイティブクライアント側ライブラリを Braze と統合できます。
- サイドバイサイド/デバイスモード:RudderStackは、クライアント(ブラウザまたはモバイルアプリケーション)から直接Brazeにイベントデータを送信する。
- サーバー間/クラウドモード:Braze SDK はイベントデータを RudderStack に直接送信します。イベントデータは変換され、Braze にルーティングされます。
- ハイブリッドモード:ハイブリッドモードを使用して、iOSとAndroidの自動生成イベントとユーザー生成イベントを、単一の接続を使用してBrazeに送信する。
RudderStack の接続モードと、それぞれの利点について詳しく説明します。
サイドバイサイド統合 (デバイスモード)
このモードでは、Web サイトまたはモバイルアプリで設定した Braze SDK を使用して、イベントを Braze に送信できます。
「サポートされているメソッド」で説明するように、Braze の GitHub リポジトリでご使用のプラットフォームに対応した RudderStack SDK へのマッピングを設定します。
- [Android][android]
- [iOS][ios]
- [Swift][swift]
- [Web][web]
- [React Native][react]
- [Flutter][flutter]
デバイスモードの統合を完了するには、Rudderstack のプロジェクトに Brazeを追加する詳しい手順を参照してください。
サーバー間統合(クラウドモード)
このモードでは、SDKはイベントデータを直接RudderStackサーバーに送信する。そして、RudderStackはこのデータを変換し、目的の目的地にルーティングする。この変換は、RudderStack のトランスフォーマーモジュールを使用して RudderStack バックエンドで実行されます。
統合を有効にするには、サポートされているメソッドで説明されているように、RudderStack メソッドを Braze にマッピングする必要があります。
RudderStackのサーバーサイドSDK(Java、Python、Node.js 、Go、Ruby)は、クラウドモードのみをサポートしている。これは、サーバー側の SDK が RudderStack バックエンドで動作し、Braze 固有のSDK を読み込むことができないためです。
サーバー間の統合は、プッシュ通知やアプリ内メッセージングなどのBraze UI機能をサポートしていない。ただし、これらの機能はデバイスモード統合によってサポートされます。
ハイブリッドモード
ハイブリッドモードを使用して、iOSとAndroidのソースからすべてのイベントをBrazeに送信する。
ハイブリッドモードで Braze にイベントを送信することを選択した場合、RudderStack により次の操作が行われます。
- Braze SDKを初期化する。
- ユーザーが生成したすべてのイベント(identify、track、page、screen、group)をクラウドモードからのみBrazeに送信し、デバイスモードからの送信をブロックする。
- 自動生成イベント(アプリ内メッセージ、Braze SDKを必要とするプッシュ通知)をデバイスモード経由で送信する。
ハイブリッドモードでイベントを送信するには、ソースを Braze の宛先に接続している状態でハイブリッドモードオプションを使用します。次に、Brazeインテグレーションをプロジェクトに追加する。
ステップ4:追加設定を行う
初期設定完了後、Brazeでデータを正しく受信するために以下の設定を行う:
- グループ通話でサブスクリプショングループを有効にする:グループイベントでサブスクリプショングループのステータスを送信するには、この設定を有効にします。詳細については、Group を参照してください。
- Use Custom Attributes Operation:Brazeのネストされたカスタム属性機能を使用してセグメントを作成し、カスタム属性オブジェクトを使用してメッセージをパーソナライズする場合は、この設定を有効にする。詳細については、ネストされたカスタム属性としてユーザー特性を送信するを参照のこと。
- Track events for anonymous users:この設定を有効にすると、匿名のユーザーの活動が追跡され、その情報がBrazeに送信される。
デバイスモード設定
以下の設定は、デバイスモード経由でBrazeにイベントを送信する場合にのみ適用される:
- クライアント側のイベントフィルタリング:この設定により、Brazeに流れるイベントをブロックするか、許可するかを指定できる。この設定の詳細については、クライアント側のイベントフィルタリングを参照してください。
- Deduplicate Traits:この設定を有効にすると、
identify
呼び出しでユーザー特性の重複が排除されます。 - Show Braze logs:この設定は、JavaScript SDKをソースとして使用する場合にのみ適用される。Brazeのログをユーザーに表示するには、これを有効にする。
- OneTrustクッキーカテゴリー:この設定により、OneTrustクッキーの同意グループをBrazeに関連付けることができる。
サポートされている方法
Brazeは、RudderStackメソッドのidentify、track、screen、page、group、aliasをサポートしている。
RudderStackidentify
メソッドは、ユーザーとそのアクションを関連付ける。RudderStackは、一意のユーザーIDと、名前、電子メール、IPアドレスなど、そのユーザーに関連するオプションの特徴をキャプチャする。
identify 呼び出しの差分管理
デバイスモードで Braze にイベントを送信する場合、identify
呼び出しを重複排除することでコストを節減できます。そのためには、[Deduplicate Traits] ダッシュボード設定を有効にします。その後、RudderStack は変更された属性 (特性) のみを Braze に送信します。
ユーザーの削除
RudderStack Data Regulation API の抑制と削除の規則 (Suppression with Delete regulation) を使用して、Braze のユーザーを削除できます。
RudderStackのtrack
メソッドは、すべてのユーザー・アクティビティと、それらのアクティビティに関連するプロパティをキャプチャする。
Order completed
[RudderStack Ecommerce API][20] を使用して Order Completed
という名前のイベントに対して track メソッドを呼び出すと、RudderStack はそのイベントにリストされている製品を [purchases
][21] として Braze に送信します。
RudderStack の screen
メソッドを使用して、ユーザーのモバイル画面ビューを、表示されている画面に関する追加情報とともに記録できます。
RudderStack の page
メソッド を使用して、Web サイトのページビューを記録できます。また、そのページに関するその他の関連情報もキャプチャされます。
RudderStackのgroup
メソッドでは、ユーザーをグループに関連付けることができる。
サブスクリプショングループのステータス
サブスクリプショングループのステータスを更新するには、RudderStack ダッシュボードの [Enable subscription groups in group call] 設定を有効にし、グループ呼び出しでサブスクリプショングループのステータスを送信します。
RudderStack の alias
メソッド を使用して、既知のユーザーの複数の ID をマージできます。RudderStack は、クラウドモードでのみ Braze のエイリアス呼び出しをサポートしていることに注意してください。
ユーザー特性をネストされたカスタム属性として送信する
ユーザー特性をネストされたカスタム属性としてBrazeに送信し、それに対して追加、更新、削除操作を実行できる。これを行うには、Braze の宛先を設定するときに Rudderstack で [Use Custom Attributes Operation dashboard] 設定を有効にします。この機能はクラウドモードでのみ利用できる。
次の形式で identify
イベントでユーザー特性を階層化カスタム属性として送信できます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
rudderanalytics.identify("1hKOmRA4GRlm", {
"cars": {
"add": [{
"age": 27,
"id": 1,
"name": "Alex Keener"
}],
"update": [{
"age": 30,
"id": 2,
"identifier": "id",
"name": "Rowan"
},
{
"age": 27,
"id": 1,
"identifier": "id",
"name": "Mike"
}
]
},
"country": "USA",
"email": "[email protected]",
"firstName": "Alex",
"gender": "M",
"pets": [{
"breed": "beagle",
"id": 1,
"name": "Scooby",
"type": "dog"
},
{
"breed": "calico",
"id": 2,
"name": "Garfield",
"type": "cat"
}
]
})
track
、page
、またはscreen
呼び出しでユーザー特性をカスタムユーザ属性として送信するには、イベントのコンテキストフィールドとして traits
を渡します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
rudderanalytics.track("Product Viewed", {
revenue: 8.99,
currency: "USD",
},{
"traits": {
"cars": {
"add": [{
"age": 27,
"id": 1,
"name": "Alex Keener"
}],
"update": [{
"age": 30,
"id": 2,
"identifier": "id",
"name": "Mike"
},
{
"age": 27,
"id": 1,
"identifier": "id",
"name": "Rowan"
}
]
},
"city": "Disney",
"country": "USA",
"email": "[email protected]",
"firstName": "Alexa",
"gender": "woman",
"pets": [{
"breed": "beagle",
"id": 1,
"name": "Scooby",
"type": "dog"
},
{
"breed": "calico",
"id": 2,
"name": "Garfield",
"type": "cat"
}
]
}
});
更新と削除の操作では、identifier
が必須キーとなる。add、update、remove操作が入れ子配列に存在しない場合、RudderStackはデフォルトでcreate操作を使用してプロパティを作成する。階層化カスタム属性の送信の詳細については、「オブジェクト配列」を参照してください。
[android] : https://github.com/rudderlabs/rudder-integration-braze-android [ios] : https://github.com/rudderlabs/rudder-integration-braze-ios/tree/master [swift] : https://github.com/rudderlabs/rudder-integration-braze-swift [web] : https://github.com/rudderlabs/rudder-sdk-js/tree/production/src/integrations/Braze [react] : https://github.com/rudderlabs/rudder-sdk-react-native/tree/develop/libs/rudder-integration-braze-react-native [flutter] : https://github.com/rudderlabs/rudder-sdk-flutter/tree/develop/packages/integrations/rudder_integration_braze_flutter