Skip to content

Wunderkind (Signals)

Wunderkind は、独自の識別技術を使用して匿名のWebサイト訪問者を認識し、実用的なメールアドレスに解決するeコマースパフォーマンスプラットフォームです。平均して、WunderkindはWebサイトトラフィックの3~5%の識別率を40~60%に拡大し、ブランドが既存のメールサービスプロバイダー (ESP) を通じてパーソナライズされた1対1のメッセージを大規模にトリガーできるようにします。

この統合はWunderkindによって管理されています。サポートについては、support.wunderkind.co をご覧ください。

統合について

Wunderkind Signals統合により、カート放棄、商品放棄、価格下落などの高インテントな行動シグナルを使用して、Brazeでリアルタイムのキャンバスジャーニーをトリガーできます。WunderkindはWebサイト上の匿名ユーザーを特定し、配信可能なメールアドレスにIDを解決した上で、キャンバス Entry APIを介してBrazeに構造化されたシグナルペイロードを配信し、事前設定されたメールフローを自動的に開始します。

前提条件

要件 説明
Wunderkind アカウント Signals が有効になっている Wunderkind アカウントが必要です。利用資格については、Wunderkind の担当者にお問い合わせください。
Braze アカウント キャンバスにアクセスできる Braze アカウントが必要です。Wunderkind チームにアカウントのシートを付与する必要があります。詳細については、Wunderkind に Braze アカウントへのアクセスを許可するを参照してください。
Braze REST APIキー セットアップ時に特定の権限を持つ専用のAPIキーを作成します(ステップ1を参照)。
ユーザー識別 Wunderkind は通常、user_aliasalias_label: "wknd_email_id"、多くの場合メールアドレスを alias_name として使用)を使って消費者を Braze で解決します。/canvas/trigger/sendの各受信者には、external_user_iduser_aliasbraze_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 ダッシュボードで以下を行います。

  1. 設定 > API キーに移動し、新しい API キーを作成をクリックします。
  2. キーにわかりやすい名前を付けます(例:Wunderkind Signals)。
  3. Grant Wunderkind access to your Braze account に記載されている権限を付与します。
  4. API キーをコピーして、次のセクションで Wunderkind プラットフォームに入力します。

ステップ2:Wunderkind プラットフォームに Braze を接続する

  1. Wunderkind プラットフォームにログインし、Integrations Hub に移動します。
  2. Braze タイルを選択し、Connect を選択します。
  3. Braze REST APIキーを入力し、クラスターを選択します。
  4. 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 キャンバスについて、ターゲットオーディエンス設定に移動し、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 String 常に "wunderkind"
DataOnly String 常に "Y" — Wunderkind がデータレイヤーとしてのみ機能し、Braze が送信を実行することを示します
UserType String "prospect" または "customer"
WkChannel String このインテグレーションでは常に "email"
WkPurpose String シグナルタイプの識別子(このセクションのキャンバスごとの値を参照)
WKCouponCode String クーポンコード(該当する場合)(使用しない場合は空文字列)
WKCouponPurpose String クーポンオファーの説明(使用しない場合は空文字列)
Items Array 商品オブジェクトの配列(このセクションの商品フィールドを参照)
WkOpen String レポート用に利用可能なトラッキングピクセル

商品アイテムフィールド

プロパティ タイプ 説明
WkCopy String 商品名
WkId String 商品 ID
WkImageUrl String 商品画像の URL
WkUrl String 商品詳細ページの URL
WkPrice String 元の価格(価格下落キャンバスのみ)
WKSalePrice String セール価格(価格下落キャンバスのみ)
WkQuantity String 残りの数量(在庫わずかキャンバスのみ)

キャンバス固有のフィールドと WkPurpose の値

キャンバスタイプ WkPurpose の値 追加フィールド
カート放棄 "cart abandonment" WkCartReplenUrl — カートを復元するための URL
商品放棄 "product abandonment"
カテゴリリキャップ "category recap" WkCategoryUrl — 閲覧したカテゴリの URL
再入荷 "back in stock"
価格下落 "price drop" 各アイテムの WkPriceWKSalePrice
在庫わずか "low stock" 各アイテムの WkQuantity

ペイロードの例

recipients 内の各オブジェクトには、external_user_iduser_aliasbraze_id、または email のいずれか1つを正確に含める必要があります。詳細については、受信者オブジェクトを参照してください。

以下の例では、Wunderkind が ID を解決する方法に合わせて user_aliaswknd_email_id を使用しています。

カート放棄のペイロード例
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 フィールドを使用してキャンバスをトリガーする場合、受信者には emailprioritization のみを含める必要があります(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 名前空間を使用して参照します。例えば {{context.${WkPurpose}}} のように使用します。詳細については キャンバスコンテキストオブジェクトおよびメッセージを参照してください。正しい Liquid 構文を使用する以外に追加の設定は不要です。

for タグの条件内に Braze の出力タグをネストしないでください。まず contextItems 配列を変数に割り当ててからループします。詳細については Liquid の使用を参照してください。assign 行では Braze のキャンバスエントリ形式 {{context.${Items}}} を使用します(サポートされているパーソナライゼーションタグを参照)。

1
2
3
4
5
6
7
8
9
10
11
{% 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 からパフォーマンスデータを取り込みます。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 を含めてください。

その他のリソース

New Stuff!