SessionMロイヤルティプラットフォーム
SessionMは、キャンペーン管理機能とロイヤルティ管理ソリューションを提供するカスタマーエンゲージメントとロイヤルティのプラットフォームで、マーケターがターゲットを絞ったアウトリーチを推進してエンゲージメントと収益性を向上させるのを支援します。
前提条件
| ソース | 必要条件 | 説明 |
|---|---|---|
| Braze | Braze REST APIキー | trigger_send権限を持つBraze REST APIキー。これは、Brazeダッシュボードの設定 > APIキーから作成できます。 |
| Braze | Braze RESTエンドポイント | RESTエンドポイントのURL。エンドポイントは、インスタンスのBraze URLによって異なります。 |
| BrazeとSessionM | 一致する識別子 | 統合を使用するには、SessionMとBrazeの両方が、それぞれのプラットフォームで使用されている識別子の記録を持っていることを確認してください。user_idへの参照は、SessionMでのプロファイル作成時に生成されたSessionMのユーザー識別子に対応します。 |
| SessionM | SessionMアカウント | このパートナーシップを利用するには、SessionMのアカウントが必要です。 |
| SessionM | SessionM Core RESTエンドポイント | エンドポイントは、インスタンスのSessionM URLに依存します。これはSessionMダッシュボードのDigital Propertiesから作成できます。 |
| SessionM | SessionM Core REST APIキー | インスタンスとBraze統合に関連付けられたSessionM APIキー。このキーは、タグを含むすべてのコアベースのコールに使用できます。これはSessionMダッシュボードのDigital Propertiesから作成できます。 |
| SessionM | SessionM Core REST APIシークレット | インスタンスとBraze統合に関連付けられたSessionM APIシークレット。このキーは、タグを含むすべてのコアベースのコールに使用できます。これはSessionMダッシュボードのDigital Propertiesから作成できます。 |
| SessionM | SessionM Connect RESTエンドポイント | エンドポイントは、インスタンスのSessionM URLに依存します。SessionMテクニカルアカウントマネージャーまたはデリバリーチームに連絡してください。 |
| SessionM | SessionM Connect REST認可文字列 | インスタンスに関連付けられたSessionM Connect Basic Authorization文字列。この認証文字列は、get_user_offersを含むすべての接続ベースのコールに使用できます。SessionMテクニカルアカウントマネージャーまたはデリバリーチームに連絡して提供を受けてください。 |
| SessionM | SessionM Connect RESTリテーラーID | インスタンスに関連付けられている特定の顧客に対する一意のGUID識別子。SessionMテクニカルアカウントマネージャーまたはデリバリーチームに連絡してください。 |
ユースケース
以下のユースケースは、SessionMとBrazeの統合を活用するいくつかの方法を示しています。
- ロイヤルティ、顧客管理、メッセージングの各プラットフォームのデータを統合したセグメンテーションを作成します。
- 堅牢なセグメンテーションを使用して、オファーやプロモーションで特定のユーザーセットをターゲットにします。
- メッセージ送信時に、最新のユーザー、オファー、およびロイヤルティの情報を活用します。
- プロモーションやロイヤルティ活動の進捗状況や完了について、顧客に詳細な通知を行います。
- 新しいオファーが付与されたときに顧客に通知し、オファーの詳細を提供します。
SessionMとBrazeの統合
ステップ1:Brazeでセグメントを作成する
Brazeで、SessionMのプロモーションやオファーでターゲットとするユーザーのSegmentを作成します。

ステップ2:BrazeのSegmentをSessionMにインポートする
オプション1:SessionMタグエンドポイントにエクスポートする(推奨)
まず、BrazeでWebhookキャンペーンを作成し、Webhook URLを{{endpoint_core}}/priv/v1/apps/{{appkey_core}}/users/{{${user_id}}}/tagsに設定します。Liquidを使って、URL内でuser_idを定義します。
生テキストのリクエストボディを使用して、SessionMのユーザープロファイルに追加する希望のタグと、必要な存続時間を含むWebhook本文を作成します。例は次のとおりです。
1
2
3
4
5
6
{
"tags":[
"braze_test"
],
"ttl":2592000
}

設定タブで、各リクエストヘッダーフィールドのキーと値のペアを追加します:
- 対応する値application/jsonを持つキーContent-Typeを作成します
- 対応する値Basic YOUR-ENCODED-STRING-KEYを持つキーAuthorizationを作成します。エンドポイントのエンコードされた文字列キーについては、SessionMチームに問い合わせてください。

配信をスケジュールし、以前に作成したSegmentをターゲットとするようにTarget Audiencesを設定してから、Campaignを開始します。
このプロセスは、PostmanなどのAPIクライアントを使用して、SessionMタグエンドポイントにリクエストを直接送信することでも実行できます。この場合、リクエストには顧客、タグ名、各ユーザーの存続時間(1回の呼び出しにつき1ユーザー)を指定します。
以下のリクエスト例はcURLを使用しています。
1
2
3
4
5
6
7
8
9
10
curl --location -g --request POST '{{endpoint_core}}/priv/v1/apps/{{apikey_core}}/users/{{user_id}}/tags' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {{base64_encoded_string}}' \
--data-raw '{
"tags":[
"tagname1",
"tagname2"
],
"ttl":20000
}'
オプション2:CSVインポート
Brazeセグメンターを使用してBrazeのSegmentをエクスポートし、タグ付けする顧客、タグ名、ファイル内の各ユーザーの存続期間を含むCSVファイルをSessionMに提供します。
Brazeでリアルタイムのオファーウォレットを取得する
SessionMとBrazeを統合することで、コネクテッドコンテンツを使用して、メッセージ送信時にSessionMのユーザーデータをリアルタイムで取り込むことができ、顧客に古い、有効期限が切れた、または既に償還されたロイヤルティオファーを送信するリスクを排除できます。
次の例では、コネクテッドコンテンツを使用してオファーウォレットデータをメッセージにテンプレート化しています。ただし、コネクテッドコンテンツは、SessionMのConnectエンドポイントのいずれでも使用できます。
ステップ1:SessionMでオファーを発行する
SessionMは、設定可能ないくつかの異なる内部レバーから顧客にオファーを発行します。発行後、オファーはSessionMが「オファーウォレット」と呼ぶ状態に移されます。
顧客は、必要なアクションを実行するかターゲティングを満たす必要があり、SessionM内でオファーが発行されます。
次にSessionMは、発行済みの状態で顧客のウォレットにオファーを追加します。
ステップ2:SessionMオファーウォレットAPIを呼び出す
SessionMオファーのあるCampaignまたはキャンバスステップで、コネクテッドコンテンツを使用して、SessionM get_user_offersエンドポイントにAPIコールを行います。
コネクテッドコンテンツリクエストで、ユーザーのSessionM user_idとretailer_idを指定して、顧客のウォレットにあるアクティブなオファーの完全なリストを取得します。このエンドポイントへの各リクエストには、1人のユーザーを含めることができます。コネクテッドコンテンツコールの基本認証ヘッダー用のエンコードされた文字列キーについては、SessionMチームに問い合わせてください。
リクエスト本文では、cultureのデフォルトはen-USですが、Liquidを使用して、多言語SessionMオファー用にユーザーの言語をテンプレート化することができます(たとえば、"culture":"{{${language}}}"を使用します)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{% capture postbody %}
{"retailer_id":"YOUR-RETAIL-ID","user_id":"{{${user_id}}}","skip":0,"take":1000,"include_pending_extended_data":false,"culture":"en-US"}
{% endcapture %}
{% connected_content
{{endpoint_connect}}/offers/api/2.0/offers/get_user_offers
:method post
:headers {
"Content-Type": "application/json",
"Authorization": "Basic YOUR-BASE64-ENCODED-KEY"
}
:body {{postbody}}
:save wallet
%}
ステップ3:Brazeメッセージングにオファーウォレットを入力する
エンドポイントにリクエストが行われた後、SessionMは各オファーの完全な詳細とともに、発行済み状態のオファーの完全なリストを返します。これは返されたレスポンスの例です:
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
{
"status": "ok",
"payload": {
"user": {
"opted_in": false,
"activated": false,
...
},
"user_id": "00000000-0000-0000-0000-000000000000",
"user_offers": [
{
"offer_id": "1a2b3324-1da6-4e49-b921-afc386dabb60",
"offer_group_id": "00000000-0000-0000-0000-000000000000",
"offer_type": "manual_fulfillment",
...
}
],
"total_records": 1,
"offer_groups": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "All Offers",
"sort_order": 0
}
],
"offer_categories": [
{
"id": "9a82f973-aae6-4e10-839b-7117a852cf9e",
"name": "All Offers",
"sort_order": 0
}
],
"total_points": 1000,
"available_points": 100
}
}
Liquidドット記法を使えば、これをメッセージに入力できます。たとえば、結果として得られるoffer_idでメッセージをパーソナライズするには、{{wallet.payload.available_points}}を使用してリターンペイロードを活用できます。これは100を返します。
これは個別のAPIです。500ユーザーを超えるバッチを送信する場合は、SessionMアカウントチームに連絡して、統合にバルクデータを組み込む方法について問い合わせてください。
トリガーメッセージの設定
SessionMとBrazeの統合により、ユーザープロファイルのデータ、オファーの詳細、ポイント残高がメッセージングにダイナミックに入力され、アクションの時点で顧客にリアルタイムで送信されます。
ステップ1:SessionMデリバリーチームがテンプレートを設定する
SessionMデリバリーチームと協力して、トリガーメッセージングで使用するテンプレートを開発します。SessionMは、ユーザープロファイルのデータ、オファーの詳細、ポイント残高をメッセージングに挿入し、Brazeでトリガーすることで、リアルタイムでの顧客メッセージングを実現します。
SessionMのすべてのテンプレートにある標準フィールドには、以下が含まれます:
canvas_idcampaign_idbroadcast flagcustomer identifieremail address
broadcast flagをtrueに設定すると、BrazeのCampaignまたはCanvasがターゲットとするSegment全体にメッセージが送信されます。
特定のニーズに応じてフィールドを追加設定することもできます:
- オファーデータ:
offer_id、offer title、user offer id、description、terms and conditions、logo、pos discount id、expiration date - ポイント付与データ:
point award amount、point account name - イベントトリガーデータ: トリガー/送信webhookの結果を利用するトリガーイベント内のすべてのデータ
- Campaign固有データ:
campaign runtime、campaign_id、campaign name、campaign custom data
追加フィールドは、メッセージをパーソナライズするためのtrigger_propertiesとしてBrazeに送信されます。
ステップ2:BrazeのCampaignまたはCanvasを作成する
SessionMによってトリガーされるAPIトリガーのCampaignまたはCanvasをBrazeで作成します。offer_idやoffer titleなどの追加フィールドが設定されている場合は、Liquid(例:{{api_trigger_properties.${offer_id}}})を使用して、パーソナライズされたフィールドをメッセージングに追加します。

Schedule Deliveryタブで、CampaignまたはCanvas IDをメモします。これはSessionM CampaignのAdvanced Settingsに追加されます。

CampaignまたはCanvasの詳細を確定し、Launchを選択します。
ステップ3:SessionMのプロモーションまたはメッセージングCampaignを作成する
次に、SessionMでCampaignを作成します。

SessionM Campaignの詳細設定を更新して、braze_campaign_idまたはbraze_canvas_idを含む以下のJSONペイロードを含めます。
1
2
3
4
{
"braze_campaign_id": "{{CAMPAIGN ID}}",
"braze_canvas_id": "{{CANVAS ID}}",
}

希望のスケジュールまたはビヘイビアに基づいてメッセージトリガーを作成します。次に、External MessageメニューのMessaging VariantとしてBraze Messaging Variantを選択し、テンプレートを使用します。

このテンプレートは、関連する静的属性とダイナミック属性を取得し、Brazeエンドポイントにコールアウトします。
