Skip to content

Algolia

Algoliaは、開発者が高速で関連性の高いスケーラブルな検索体験を構築するための検索・ディスカバリープラットフォームです。強力なAPIファーストのアプローチにより、Algoliaは高度なランキングアルゴリズムとAI駆動のインサイトを組み合わせ、シームレスなサイト検索、ナビゲーション、パーソナライズされたコンテンツディスカバリーを実現します。

AlgoliaとBrazeの統合では、コネクテッドコンテンツを使用して、Algoliaを活用した検索結果や商品レコメンデーションをBrazeメッセージに反映します。送信時にAlgoliaのAPIにクエリを実行することで、ユーザーを高コンバージョンの商品詳細ページやランディングページに誘導するパーソナライズされたコンテンツを配信できます。

ユースケース

  • トレンド商品のプロモーション: Algoliaからトレンドまたはパフォーマンスの高い商品を自動的にBrazeメッセージに取り込み、注目度の高いアイテムをプロモーションしてエンゲージメントを向上させます。
  • 検索インテリジェンスによるCampaignsのパーソナライズ: Algoliaの検索・閲覧インテリジェンスを活用してBraze Campaignsをパーソナライズし、各ユーザーの興味に合った商品やカテゴリを配信します。

前提条件

統合

ステップ 1: Algolia APIリクエストを設定する

リクエスト形式、レスポンス構造、使用方法の詳細については、Algolia Search APIおよびAlgolia Recommend APIのドキュメントを参照してください。設定についてサポートが必要な場合は、Algoliaチームにお問い合わせください。

Search APIリクエストの例

1
2
3
4
POST https://{ALGOLIA_APP_ID}-dsn.algolia.net/1/indexes/{INDEX_NAME}/query
Content-Type: application/json
X-Algolia-API-Key: {ALGOLIA_API_KEY}
X-Algolia-Application-Id: {ALGOLIA_APP_ID}

クエリペイロードの例

1
2
3
4
5
6
{
  "query": "",
  "hitsPerPage": 4,
  "filters": "category_page_id:'this week's offers'",
  "attributesToRetrieve": ["name", "price", "image", "url"]
}

この例では、category_page_idという属性に基づくカテゴリフィルターを使用するページから上位4件の結果を取得するクエリを実行します。attributesToRetrieveパラメーターはレスポンスを制限し、ペイロードを管理しやすいサイズに保ちます。

ユースケースの例: 週間オファーのBraze Campaignでhttps://www.yoursite.com/weekly-offersの検索結果を表示するには、対応するAlgoliaインデックスにクエリを実行し、フィルターを適用してそのページの上位結果を取得します。

Recommend APIリクエストの例

1
2
3
4
POST https://{ALGOLIA_APP_ID}.algolia.net/1/indexes/*/recommendations
Content-Type: application/json
X-Algolia-API-Key: {ALGOLIA_API_KEY}
X-Algolia-Application-Id: {ALGOLIA_APP_ID}

クエリペイロードの例

1
2
3
4
5
6
7
8
9
10
{
  "requests": [
    {
      "indexName": "prod_ECOM",
      "model": "trending-items",
      "threshold": 40,
      "maxRecommendations": 4
    }
  ]
}

Recommend APIは、Frequently Bought TogetherRelated ProductsTrending ItemsTrending Facet ValuesLooking Similarなど、複数のモデルをサポートしています。この例ではTrending Itemsモデルを使用しています。

ステップ 2: Brazeコネクテッドコンテンツを実装する

Brazeのコネクテッドコンテンツ機能を使用して、AlgoliaエンドポイントへのAPI呼び出しを行い、レスポンスをメッセージに動的に挿入します。設定、リクエスト形式、ベストプラクティスの詳細については、コネクテッドコンテンツを参照してください。

コネクテッドコンテンツSearchリクエストの例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{% capture request_body %}
{
  "query": "",
  "hitsPerPage": 4,
  "filters": "category_page_id:'this week's offers'",
  "attributesToRetrieve": ["name", "price", "image", "url"]
}
{% endcapture %}

{% connected_content https://{{ALGOLIA_APP_ID}}-dsn.algolia.net/1/indexes/{{INDEX_NAME}}/query
  :method post
  :headers {"X-Algolia-API-Key":"{{ALGOLIA_API_KEY}}", "X-Algolia-Application-Id":"{{ALGOLIA_APP_ID}}", "Content-Type": "application/json"}
  :body {{request_body}}
  :save algolia_search
%}

コネクテッドコンテンツRecommendリクエストの例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% capture request_body %}
{
  "requests": [
    {
      "indexName": "prod_ECOM",
      "model": "trending-items",
      "threshold": 40,
      "maxRecommendations": 4
    }
  ]
}
{% endcapture %}

{% connected_content https://{{ALGOLIA_APP_ID}}.algolia.net/1/indexes/*/recommendations
  :method post
  :headers {"X-Algolia-Application-Id":"{{ALGOLIA_APP_ID}}", "X-Algolia-API-Key":"{{ALGOLIA_API_KEY}}", "Content-Type": "application/json"}
  :body {{request_body}}
  :save algolia_recommendations
%}

ステップ 3: Brazeメッセージで検索結果をフォーマットする

Algoliaから結果を取得した後、Liquidを使用してAPIレスポンスを解析し、メッセージ内に結果を動的にレンダリングします。

Search API用のLiquidメールテンプレートの例

1
2
3
4
5
6
7
8
{% for item in algolia_search.hits %}
  <div style="margin-bottom: 10px;">
    <img src="{{ item.image }}" alt="{{ item.name }}" width="100"/>
    <p><strong>{{ item.name }}</strong></p>
    <p>Price: ${{ item.price }}</p>
    <a href="{{ item.url }}">View Product</a>
  </div>
{% endfor %}

これにより、メッセージ本文内にSearch APIの結果から商品リストが生成されます。各商品リンクは、ユーザーを商品詳細ページ(PDP)またはCampaign固有のランディングページに誘導します。

Recommend API用のLiquidメールテンプレートの例

1
2
3
4
5
6
7
8
{% for item in algolia_recommendations.hits %}
  <div style="margin-bottom: 10px;">
    <img src="{{ item.image }}" alt="{{ item.name }}" width="100"/>
    <p><strong>{{ item.name }}</strong></p>
    <p>Price: ${{ item.price }}</p>
    <a href="{{ item.url }}">View Product</a>
  </div>
{% endfor %}

これにより、メッセージ本文内にRecommend APIの結果からおすすめ商品リストが生成されます。各商品リンクは、ユーザーを商品詳細ページ(PDP)またはCampaign固有のランディングページに誘導します。

考慮事項

ユニーククエリの回避

Algolia契約で定義されたレート制限に注意してください。ユーザー固有のクエリは、割り当てられたリクエスト数をすぐに超過する可能性があるため、避けてください。結果をパーソナライズするには、個々のユーザーIDではなくSegmentをターゲットにするか、特定のobjectIDではなくカテゴリやブランドでフィルタリングしてください。Brazeの属性を使用してレコメンデーションをさらにパーソナライズできます。

コネクテッドコンテンツ結果のキャッシュ

cache_max_ageを使用してコネクテッドコンテンツの結果をキャッシュし、AlgoliaへのAPIリクエストを最小限に抑えてパフォーマンスを向上させます。詳細については、レスポンスのキャッシュを参照してください。

New Stuff!