アトリビューション トークン

このページでは、アトリビューション トークンを使用してパフォーマンスを時間の経過とともに向上させる方法について説明します。

アトリビューション トークンは、Retail によって生成され、予測または検索のリクエストごとに返される一意の ID です。これにより、Retail がユーザーの操作と結果を相互に関連付け、再ランキング モデルをトレーニングして検索品質を向上させることができます。

ユーザー イベントにアトリビューション トークンを含めることはオプションです。アトリビューション トークンを指定しない場合、Retail は、訪問者 ID とタイムスタンプに基づいて予測または検索のレスポンス内の結果と取り込まれたユーザー イベントをアライメントすることによって、アトリビューション トークンを近似します。

アトリビューション トークンの仕組み

predict メソッドまたは search メソッドから返される各レスポンスには、レスポンスの本文に一意の attributionToken が含まれます。次に例を示します。

{
  "results": [{"id": "352"}, {"id": "456"}],
  "attribution_token": "abc123"
}

ウェブサイトで Retail API の結果に基づいてプロダクトを表示する場合は、ユーザーが返されたプロダクト(ビュー、add-to-cart クリックなど)を操作するときに、その結果からアトリビューション トークンを返す必要があります。このフィードバック ループにより、結果がビジネスにどのように影響するかに関する情報を提供できます。

アトリビューション トークンを返す方法

アトリビューション トークンを返すには、ユーザーがレコメンデーションまたは検索結果を利用して行ったすべてのアクションを記録するユーザー イベントにアトリビューション トークンを含めます。その商品に対してユーザーが実行できるアクションは、ウェブサイトのデザインによって異なります。一般的なアクションには、商品をお気に入りリストに追加する、詳細ビューをリクエストする、ショッピング カートに追加する、1 クリックで購入をする、などがあります。

アトリビューション トークンを返すには、まずウェブサイトのレコメンデーションパネルまたは検索結果に表示されるように商品と関連付けておく必要があります。一般的には、レコメンデーション パネルや検索結果に対して実行できるアクションに関連付けられたすべての URL にパスを追加します。次に例を示します。

https://www.example.com/54321/?rtoken=abc123

その後、ユーザーがレコメンデーション パネルまたは検索結果で商品を操作すると(ユーザー イベントが生成されます)、アトリビューション トークンを URL リンクから解析して、その操作のために Retail に送信するユーザー イベントに挿入できます。

たとえば、ユーザーへの商品の表示に関する予測をリクエストするとします。Retail は、おすすめのカタログ ID のセットと、関連するアトリビューション トークンを返します。

{
  "results": [{"id": "352"}, {"id": "456"}],
  "attribution_token": "abc123"
}

ウェブサイトのレコメンデーション パネルにおすすめのアイテムが表示され、レコメンデーション パネルに各 URL とともに予測に対して返されたアトリビューション トークンが含まれます。Retail に送信するイベントを記録するようにサイトを構成する必要があります。ユーザー イベント オブジェクトの例については、検索ユーザー イベントをご覧ください。ユーザーが結果の中の商品を 1 つクリックして詳細を表示すると、そのクリックで記録されるユーザー イベントとともにアトリビューション トークンが含まれます。ユーザー イベントは、次の例のようになります。

{
  "eventType" : "detail-page-view",
  "visitorId": "visitor1",
  "userInfo": {
    "userId": "user1"
   },
   "attributionToken": "abc123",
   "productDetails": [{
     "product": {
        "id": "abc"
       }
     }]
}

レコメンデーションまたは検索結果に基づいて表示された商品をユーザーが操作し、その操作のユーザー イベントによるアトリビューション トークンを含めると、Retail はその情報を使用して評価を行います。

たとえば、ユーザーが検索結果で商品を確認し、その結果を使ってその商品をほしいものリストに追加し、商品の詳細ビューも得るとします。検索結果(add-to-cartdetail-page-view)から生成されるユーザー イベントの両方にアトリビューション トークンを含める必要があります。

次に、同じユーザーが詳細ビューからこの商品をカートに追加したとします。検索結果ではなく詳細ビューから行ったので、そのアクションにアトリビューション トークンを含める必要はありません。同様に、ユーザーが商品を直ちに購入したものの、検索結果から直接購入したわけではない場合は、購入イベントとともにアトリビューション トークンを返すメリットはありません。