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 ダッシュボードのデジタルプロパティから作成できます。 |
SessionM | SessionM Connect RESTエンドポイント | エンドポイントは、インスタンスのSessionM URLに依存する。SessionM テクニカルアカウントマネージャーまたはデリバリーチームまでご連絡ください。 |
SessionM | SessionM Connect REST認可文字列 | インスタンスに関連付けられたSessionM Connect Basic Authorization 文字列。この認証文字列は、get_user_offersを含む、すべてのconnectベースのコールで使用できる。SessionM テクニカルアカウントマネージャーまたはデリバリーチームまでご連絡ください。 |
SessionM | SessionM Connect RESTの小売(店)ID。 | インスタンスに関連付けられている特定の顧客に対する一意の GUID 識別子。SessionMテクニカルアカウントマネージャーまたはデリバリーチームに連絡する。 |
古いナビゲーションを使用している場合は、デベロッパコンソール> API設定でAPI キーを作成できます。
ユースケース
以下のユースケースは、SessionMとBrazeの統合を活用するいくつかの方法を示している。
- ロイヤルティ、顧客データ管理、メッセージングの各プラットフォームのデータを統合したセグメンテーションを作成する。
- 堅牢なセグメンテーションを使用して、オファーやプロモーションで特定のユーザーセットをターゲットにします。
- メッセージを送信するときに、最新のユーザー、オファー、およびロイヤルティの情報を活用します。
- プロモーションやロイヤルティ活動の進捗状況や完了について、顧客に詳細な通知を行います。
- 新しいオファーが付与されたときに顧客に通知し、オファーの詳細を提供します。
SessionMとBrazeの統合
ステップ1:Brazeでセグメンテーションを作成する
Brazeで、SessionMのプロモーションやオファーでターゲットとするユーザーのセグメンテーションを作成する。
ステップ2:Braze のセグメントをSessionM にインポートする
オプション 1: SessionM Tagエンドポイントにエクスポートする(推奨)。
まず、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 チームに問い合わせること。
配信をスケジュールし、以前に作成したセグメントをターゲットとするようにターゲットオーディエンスを設定してから、キャンペーンを開始します。
このプロセスは、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 セグメントをエクスポートし、タグ付けする顧客、タグ名、ファイル内の各ユーザーの存続期間を含む CSV ファイルを SessionM に提供します。
Braze でリアルタイムのオファーウォレットを取得する
SessionM と Braze を統合することで、コネクテッドコンテンツを使用して、メッセージ送信時に SessionM のユーザーデータをリアルタイムで取り込むことができ、顧客に古い、有効期限が切れた、または既に償還されたロイヤルティオファーを送信するリスクを排除できます。
次の例では、コネクテッドコンテンツを使用してオファーウォレットデータをメッセージにテンプレート化しています。ただし、コネクテッドコンテンツは、SessionM の接続エンドポイントのいずれでも使用できます。
ステップ1:SessionM でオファーを発行する
SessionM は、設定可能ないくつかの異なる内部レバーから顧客にオファーを発行します。発行後、オファーはSessionMが「オファーウォレット」と呼ぶ状態に移されます。
お客様は、必要なアクションを実行するか、ターゲティングを満たす必要があり、SessionM 内でオファーが発行されます。
次に SessionM は、発行済みの状態で顧客のウォレットにオファーを追加します。
ステップ2:SessionM オファーウォレット API を呼び出す
SessionM オファーのあるキャンペーンまたはキャンバスステップで、コネクテッドコンテンツを使用して、SessionMget_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
でメッセージをパーソナライズするには、100
を返す {{wallet.payload.available_points}
を使用してリターンペイロードを活用できます。
これは個別のAPIである。500ユーザー以上のバッチを送信する場合は、SessionMアカウントチームに連絡して、統合にバルクデータを組み込む方法について問い合わせること。
トリガーメッセージの設定
SessionMとBrazeの統合により、ユーザープロファイルのデータ、オファーの詳細、ポイント残高がメッセージングにダイナミックな形で入力され、アクションの時点で顧客にリアルタイムで送信される。
ステップ1:SessionMデリバリーチームがテンプレートを設定する
SessionM デリバリーチームと協力して、トリガーされたメッセージングで使用するテンプレートを開発します。SessionMは、ユーザープロファイルのデータ、オファーの詳細、ポイント残高をメッセージングに挿入し、Brazeでトリガーすることで、リアルタイムでの顧客メッセージングを実現する。
SessionMのすべてのテンプレートにある標準フィールドには、以下が含まれる:
canvas_id
campaign_id
broadcast flag
customer identifier
email address
broadcast flag
をtrue
に設定すると、Brazeのキャンペーンまたはキャンバスがターゲットとするセグメンテーション全体にメッセージが送信される。
特定のニーズに応じてフィールドを追加設定することもできる:
- データを提供する:
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 runtime
、campaign_id
、campaign name
、campaign custom data
追加フィールドは、メッセージをパーソナライズするためのtrigger_properties
としてBrazeに送信される。
ステップ2:Brazeキャンペーンまたはキャンバスを作成する
SessionM によってトリガーされる API トリガーのキャンペーンまたはキャンバスを Braze で作成します。offer_id
や offer title
などの追加フィールドが設定されている場合は、Liquid (例えば{{api_trigger_properties.${offer_id}}}
) を使用して、パーソナライズされたフィールドをメッセージングに追加します。
[配信のスケジュール] タブで、キャンペーンまたはキャンバス ID をメモします。これは SessionM キャンペーンの高度な設定に追加されます。
キャンペーンまたはキャンバスの詳細を確定し、「Launch」を選択する。
ステップ 3:SessionMのプロモーションやメッセージングキャンペーンを行う
次に、SessionMでキャンペーンを作成する。
SessionMキャンペーンの詳細設定を更新して、braze_campaign_id
またはbraze_canvas_id
を含む以下のJSONペイロードを含めること。
1
2
3
4
{
"braze_campaign_id": "{{CAMPAIGN ID}}",
"braze_canvas_id": "{{CANVAS ID}}",
}
スケジュールやビヘイビアに関するメッセージトリガーを作成する。次に、外部メッセージメニューのメッセージングバリアントとして Braze メッセージングバリアントを選択し、テンプレートを使用します。
このテンプレートは、関連するスタティック属性とダイナミックな属性を引き出し、Brazeエンドポイントにコールアウトする。