Wunderkind (Signals)
Wunderkind は、独自の識別技術を使用して匿名のWebサイト訪問者を認識し、実用的なメールアドレスに解決するeコマースパフォーマンスプラットフォームです。平均して、WunderkindはWebサイトトラフィックの3~5%の識別率を40~60%に拡大し、ブランドが既存のメールサービスプロバイダー (ESP) を通じてパーソナライズされた1対1のメッセージを大規模にトリガーできるようにします。
この統合はWunderkindによって管理されています。サポートについては、support.wunderkind.co をご覧ください。
統合について
Wunderkind Signalsの統合により、カート放棄、商品放棄、価格低下などの高インテントな行動シグナルが、Brazeでリアルタイムのキャンバスジャーニーをトリガーできます。WunderkindはWebサイト上の匿名ユーザーを識別し、配信可能なメールアドレスにアイデンティティを解決し、キャンバス Entry APIを介して構造化されたシグナルペイロードをBrazeに配信することで、事前設定されたメールフローを自動的に開始します。
前提条件
| 必要条件 | 説明 |
|---|---|
| Wunderkindアカウント | Signalsが有効になっているWunderkindアカウントが必要です。資格の確認については、Wunderkindの担当者にお問い合わせください。 |
| Brazeアカウント | キャンバスにアクセスできるbrazeアカウントが必要です。WunderkindチームにBrazeアカウントのシートを付与する必要があります。詳細については、Grant Wunderkind access to your Braze account を参照してください。 |
| Braze REST APIキー | セットアップ中に特定の権限を持つ専用のAPIキーを作成します(ステップ 1 を参照)。 |
| ユーザー識別 | Wunderkindは通常、user_aliasとalias_label: "wknd_email_id"(多くの場合メールアドレスをalias_nameとして使用)を使用して消費者をBrazeに解決します。各/canvas/trigger/sendの受信者には、external_user_id、user_alias、braze_id、またはemailのいずれか1つを含める必要があります(recipientsオブジェクト)。emailを使用する場合は、prioritizationを含めてください。user_aliasを使用する場合、トリガーの前にプロファイルがBrazeに既に存在している必要があります。/users/trackまたは/users/identifyを使用して、ユーザーとエイリアスを先に作成または更新してください。詳細については、制限事項を参照してください。 |
仕組み
Wunderkindが高インテントの匿名ユーザーを識別し、そのアイデンティティを解決すると、/canvas/trigger/sendエンドポイントを使用してシグナルペイロードをBrazeに送信し、そのユーザーに対して関連するキャンバスジャーニーをリアルタイムでトリガーします。
技術的な概要の全体については、Wunderkind Developer Portal を参照してください。
統合
ステップ 1: Wunderkind用のBraze APIキーを作成する
Brazeダッシュボードで以下を行います。
- Settings > API Keys に移動し、Create New API Key をクリックします。
- キーにわかりやすい名前を付けます(例:
Wunderkind Signals)。 - Grant Wunderkind access to your Braze account に記載されている権限を付与します。
- APIキーをコピーして、次のセクションでWunderkindプラットフォームに入力します。

Wunderkind Signalsの場合、Braze REST APIリクエストはOAuthトークンではなくREST APIキーで認証されます。ダッシュボードで専用のAPIキーを作成し、そのキーをWunderkindに提供してください。
ステップ 2: BrazeをWunderkindプラットフォームに接続する
- Wunderkindプラットフォームにログインし、Integrations Hub に移動します。
- Braze タイルを選択し、Connect を選択します。
- Braze REST APIキーを入力し、クラスターを選択します。
- Save を選択します。
ステップ 3: 新しいBrazeアセットを確認する
アクティベーション時に、WunderkindはWunderkindの担当者と合意した戦略に基づいて、Brazeワークスペースに新しい実装アセットをプロビジョニングします。
| アセットタイプ | Wunderkindの作成方法 |
|---|---|
| Content Blocks | 自動 |
| APIトリガーキャンバス | マネージドサービス |
| タグ、カスタム属性、リンクテンプレート | マネージドサービス |
ステップ 4: キャンバスのセットアップを完了する
各Signals キャンバスについて、Brazeのドラッグ&ドロップエディターまたはHTMLを使用してメールテンプレートを作成します。
- Wunderkindは、送信時に
/canvas/trigger/sendで各受信者のcontextオブジェクトに商品データとセッションデータを入力します。 - テンプレートでそのペイロードをLiquidで使用する方法の詳細な手順については、WunderkindヘルプセンターのComplete キャンバス setupを参照してください。
ステップ 5: キャンバスの適格性を確認する
各Signals キャンバスについて、Target Audience 設定に移動し、Wunderkindのデフォルトのエントリオーディエンスと終了条件を確認します。
- ユーザーへのメッセージ送信頻度が高くなりすぎないようにするには、ユーザー中心のレート制限を参照してください。
- ユーザーが購入後もキャンバスメッセージを受信し続けることを防ぐために設定を調整します。例えば、例外としてMake Purchaseを追加します。
- 特定のSignals キャンバスは、ユーザーが最もインテントの高いメッセージを受信できるように、カスタム属性フィルターで事前設定されています。
- キャンバスの適格性と優先度の詳細については、WunderkindヘルプセンターのReview キャンバス eligibilityを参照してください。
ステップ 6: テストと起動
Wunderkindは本番稼働前にエンドツーエンドのQAを実施します。
- シグナルがAPIエラーなしで正しいキャンバス IDに配信されていることを確認します。
contextフィールド(商品名、画像、URL)がレンダリングされたメールテンプレートに正しく入力されていることを検証します。- モックWunderkind商品でテンプレートをプレビューする手順については、WunderkindヘルプセンターのTest and launch Signals for Brazeを参照してください。
QAが合格すると、Wunderkindの実装マネージャーがチームと連携して本番環境への起動を調整します。
キャンバスコンテキストペイロード
Wunderkindは6種類のシグナルタイプをサポートしています。各タイプは、/canvas/trigger/sendでその受信者のcontextオブジェクト内に固有のキーと値のセットを配信します(APIトリガー配信を使用したキャンバスメッセージの送信を参照)。WkPurposeフィールドは、そのペイロード内のシグナルタイプを識別します。
共通フィールド(すべてのキャンバスタイプ)
| プロパティ | タイプ | 説明 |
|---|---|---|
Origin |
文字列 | 常に"wunderkind" |
DataOnly |
文字列 | 常に"Y" — Wunderkindがデータレイヤーとしてのみ機能し、Brazeが送信を実行することを示します |
UserType |
文字列 | "prospect"または"customer" |
WkChannel |
文字列 | この統合では常に"email" |
WkPurpose |
文字列 | シグナルタイプ識別子(以下の各キャンバスの値を参照) |
WKCouponCode |
文字列 | クーポンコード(該当する場合。使用しない場合は空文字列) |
WKCouponPurpose |
文字列 | クーポンオファーの説明(使用しない場合は空文字列) |
Items |
配列 | 商品オブジェクトの配列(以下の商品フィールドを参照) |
WkOpen |
文字列 | レポート目的で利用可能なトラッキングピクセル |
商品アイテムフィールド
| プロパティ | タイプ | 説明 |
|---|---|---|
WkCopy |
文字列 | 商品名 |
WkId |
文字列 | 商品ID |
WkImageUrl |
文字列 | 商品画像URL |
WkUrl |
文字列 | 商品詳細ページURL |
WkPrice |
文字列 | 元の価格(価格低下キャンバスのみ) |
WKSalePrice |
文字列 | セール価格(価格低下キャンバスのみ) |
WkQuantity |
文字列 | 残り数量(在庫僅少キャンバスのみ) |
キャンバス固有のフィールドとWkPurposeの値
| キャンバスタイプ | WkPurposeの値 |
追加フィールド |
|---|---|---|
| カート放棄 | "cart abandonment" |
WkCartReplenUrl — カートを補充するURL |
| 商品放棄 | "product abandonment" |
— |
| カテゴリーまとめ | "category recap" |
WkCategoryUrl — 閲覧されたカテゴリーのURL |
| 再入荷 | "back in stock" |
— |
| 価格低下 | "price drop" |
各アイテムのWkPrice、WKSalePrice |
| 在庫僅少 | "low stock" |
各アイテムのWkQuantity |
ペイロードの例
recipients内の各オブジェクトには、external_user_id、user_alias、braze_id、またはemailのいずれか1つを含める必要があります。詳細については、Recipientsオブジェクトを参照してください。

各例では1つのBraze受信者識別子を使用しています。最初の6つはuser_aliasのみを使用し、最後の1つはemailとprioritizationのみを使用しています。例のJSONでは、レビューツールがその値("email")をBrazeの受信者emailフィールドと混同しないように、context内のWkChannelキーを省略しています。本番環境では、共通フィールド(すべてのキャンバスタイプ)テーブルに記載されているとおり、contextに"WkChannel": "email"を含めてください。
以下の例では、Wunderkindがアイデンティティを解決する方法に合わせて、wknd_email_idを使用したuser_aliasを使用しています。
カート放棄のペイロード例
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
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/cart",
"WkPurpose": "cart abandonment",
"WKCouponCode": "",
"WKCouponPurpose": "",
"WkCartReplenUrl": "https://example.com/cart/replenish",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product"
}
]
}
}
]
}
商品放棄のペイロード例
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
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/product",
"WkPurpose": "product abandonment",
"WKCouponCode": "",
"WKCouponPurpose": "",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product"
}
]
}
}
]
}
カテゴリーまとめのペイロード例
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
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/category",
"WkPurpose": "category recap",
"WKCouponCode": "",
"WKCouponPurpose": "",
"WkCategoryUrl": "https://example.com/category",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product"
}
]
}
}
]
}
再入荷のペイロード例
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
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/product",
"WkPurpose": "back in stock",
"WKCouponCode": "",
"WKCouponPurpose": "",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product"
}
]
}
}
]
}
価格低下のペイロード例
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
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/product",
"WkPurpose": "price drop",
"WKCouponCode": "",
"WKCouponPurpose": "",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product",
"WkPrice": "49.99",
"WKSalePrice": "39.99"
}
]
}
}
]
}
在庫僅少のペイロード例
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
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/product",
"WkPurpose": "low stock",
"WKCouponCode": "",
"WKCouponPurpose": "",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product",
"WkQuantity": "1"
}
]
}
}
]
}
メール識別子の例(代替)
user_aliasの代わりにBrazeのemailフィールドでキャンバスをトリガーする場合、受信者にはemailとprioritizationのみを含める必要があります(APIトリガー配信を使用したキャンバスメッセージの送信を参照)。contextオブジェクトは他の例と同じです。
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
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"email": "[email protected]",
"prioritization": ["unidentified", "most_recently_updated"],
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/product",
"WkPurpose": "product abandonment",
"WKCouponCode": "",
"WKCouponPurpose": "",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product"
}
]
}
}
]
}
Liquidの使用例
Wunderkindが/canvas/trigger/sendを呼び出すと、各受信者のcontextオブジェクトに渡されたキーと値がキャンバスエントリデータになります。メッセージステップでは、context Liquid名前空間を使用してそれらを参照します。例えば、Canvas contextオブジェクトおよびメッセージに記載されているように {{context.${WkPurpose}}} を使用します。正しいLiquid構文を使用する以外に、追加の設定は不要です。
Brazeの出力タグをforタグの条件内にネストしないでください。Liquidの使用に記載されているように、まずcontextからItems配列を変数に割り当ててからループしてください。assign行ではBrazeのキャンバスエントリ形式 {{context.${Items}}} を使用します(サポートされているパーソナライゼーションタグを参照)。
{% assign wk_items = {{context.${Items}}} %}
{% for item in wk_items %}
<tr>
<td>
<a href="{{ item.WkUrl }}">
<img src="{{ item.WkImageUrl }}" />
<p>{{ item.WkCopy }}</p>
</a>
</td>
</tr>
{% endfor %}
レポート
WunderkindはBraze Currentsを使用してBrazeからパフォーマンスデータを取り込みます。Braze Currentsは生のイベントをGoogle Cloud Storageにストリーミングします。Wunderkindはこれらのイベントを正規化し、元のシグナルに対して集計することで、1対1のアトリビューションレポートを作成します。
以下の指標は、Wunderkindレポートダッシュボードで近日中に利用可能になります。
| 指標 | ソース |
|---|---|
| 配信済み送信数 | Braze Currents |
| メール開封数 | Braze Currents |
| クリック数 | Braze Currents |
| コンバージョン | Braze Currents(セットアップ時に定義されたイベント) |
| 配信停止 | Braze Currents |
制限事項
- 抑制/オプトアウトの同期なし。 抑制はBraze内でネイティブに管理する必要があります。注: Braze Signalsに移行する既存のWunderkind顧客の場合、Wunderkindはチームと連携して現在のセットアップを維持します。
- メールチャネルのみ。 SMSはこの統合では現在サポートされていません。
- キャンバストリガーの前にユーザープロファイルが存在している必要があります。
user_alias受信者を使用した/canvas/trigger/sendは、そのエイリアスを既に持つ既存のBrazeプロファイルのみを解決します。エイリアスでsend_to_existing_onlyを使用することはできず、キャンバストリガーはエイリアスのみから新しいプロファイルを作成しません。ユーザーを先に作成または更新し、wknd_email_idエイリアスを設定する必要があります(例えば、/users/trackまたは/users/identifyを使用)。Wunderkindは、Brazeが処理を完了できるように、そのアップサート後にトリガーを発火する前に少し待機する場合があります。 - 識別子としてのメール。 キャンバストリガーが
user_aliasの代わりにemailで受信者を識別する場合、Brazeの要件に従って、その受信者オブジェクトにprioritizationを含めてください。