インベントリアイテムとフィールドのコンセプト
リコメンデーションへの表示候補対象となるアイテムをここではインベントリと呼んでいます。例えば:
- 通常のニュースサイトやバイラルコンテンツのWebサイトにおいては、記事がインベントリアイテムとなります。
- 動画のWebサイトにおいては、動画がインベントリアイテムとなります。
- 小売り販売のWebサイトでは、販売されている商品がインベントリアイテムとなります。
それぞれのアイテムに関する情報をフィールドと呼びます。例えば、記事のインベントリアイテムにおけるフィールドは、タイトル、URL、画像、デスクリプションなどです。
スクレーピングがどう機能するのか
お客様にJavascriptのスニペットを送る前に、我々はお客様のWebサイトのコンテキスト上で[インベントリアイテム]がどう位置づけられるかを判断します。そして、それらのアイテムだけに関するインベントリの情報をスクレープするための設定を行います。通常では、URLのパターンや、メタデータで指定されたページのタイプをもとにフィルタを設定します。
Javascriptをインストールすると、お客様のインベントリのスクレーピングを開始します。ユーザがインベントリアイテムとしての基準にあったWebページを訪問するごとに、そのページのすべてのフィールドを取得してサーバに送ります。もしそのアイテムがインベントリに存在しない場合は、そのアイテムを追加し、存在する場合はアップデートします。
準リアルタイムのインベントリ
インベントリは下記の条件でアップデートされています:
- Javascriptがインストールされている間に、最低でも一度はユーザに訪問されたことのあるページしか検出しません。
- ページが訪問されたときのみフィールドを更新し、30日間訪問がない場合はそのフィールドを削除します。使用方法によっては、このTTL(時間制限)を外すこともできます。
- ページが削除された際に、REST APIのinventory DELETEエンドポイントを使用してデータを削除しなかった場合。ここにあるREST APIを使用してアイテムのTTLを設定できます。
準リアルタイムのインベントリは、殆どのお客様の使用にとって十分な役割を果たします。もしさらに高度な使用をされたい場合(もっと頻繁にコンテンツを変更する、または少ない閲覧数のページが大量にあるなど)は、inventory APIを代わりに使用することもできます。