KARTEレコメンドを活用して、サイト上に商品軸のレコメンドを表示する方法について説明します。
- 商品マスタがDatahubにインポートされていることが前提になります。
- インポートがまだの場合は以下の記事を参考に商品マスタのインポートをお願いします。
設定全体像
クエリの設定を行う
- Datahub管理画面→「クエリ」画面に遷移します。
- 左上の「作成」→「コレクションから作成」を押下
- やりたいことから探す→「レコメンドを表示したい」から「商品軸での商品レコメンド」を選択
- パラメータ設定から以下を設定する
- 抽出期間(デフォルトは60日間)
- ※期間を伸ばすとその分クエリの実行時間が長くなる可能性があるので、基本的には変更しないことを推奨しております。
- アクションテーブル連携時のレコード生存期間(h)(デフォルトは24時間)
- 抽出期間(デフォルトは60日間)
- クエリの中で商品マスタ用テーブルを参照している箇所を、実際のテーブルのデータセット名やテーブル名で書き換えます
, item_master AS (
SELECT *
FROM `prd-karte-per-client.item_master_{{api_key|safe_param}}.item_master` --データセット名およびテーブル名は必要に応じて書き換えて下さい
WHERE recommend_f = 1
AND item_id IS NOT NULL
)
- クエリを実行し、結果が返ってくることを確認します。
クエリの結果が20万レコード以内になっていることを確認してください。(アクションテーブルのレコード数上限が20万レコードとなってるので、20万レコードを超えている場合はアクションテーブルにデータをエクスポートできません。)
クエリの結果が返ってこない場合のチェックポイント
- KARTEのタグで送っているイベント名、スキーマが正しく設定されているか?
- レコメンドを実現するにあたり、
view_item
、buy
イベントがKARTEに正しく送られている必要がございます。- グローバルメニュー > すべてのプロダクト > Insight > イベントをクリックし、イベントが正しく送られているかご確認ください。
- レコメンドを実現するにあたり、
- 商品マスタのフォーマットに従っているか?
- フィールド名やデータ型がフォーマット通りに連携できているかご確認ください。
- 商品マスタのフォーマットはこちら
- フィールド名やデータ型がフォーマット通りに連携できているかご確認ください。
- 連携したデータの値が合っているか?
- データセット→取り込んだテーブルの「プレビュー」「テーブル情報」などから取り込んだデータを確認することができます。
アクションテーブルを作成する
- グローバルメニュー > すべてのプロダクト > Action > 接客 > 作成をクリックします
- 以下の設定を行います。
項目 | 内容 |
---|---|
テーブル名 | 任意ですが、今回は itembase_recommend と指定 |
スキーマ指定 | クエリ結果のカラムを指定します(以下「アクションテーブルのスキーマ指定」を参照) |
権限 | 今回は参照のみなので「ウィジェットからの参照」にチェック |
アクションテーブルのスキーマ指定
フィールド名 | 型 |
---|---|
key(主キー) | 文字列 |
target | 文字列 |
related | 文字列 |
name | 文字列 |
price | 数値 |
display_price | 文字列 |
image | 文字列 |
url | 文字列 |
l_category_cd | 文字列 |
s_category_cd | 文字列 |
brand_cd | 文字列 |
sex_cd | 文字列 |
brand_name | 文字列 |
expired_at | タイムスタンプ |
アクションテーブルにクエリ結果をエクスポートする
- グローバルメニューのジョブフロー画面右上の「作成」をクリック
- ジョブ設定画面から以下を設定し、右上の「保存して完了」をクリック
ジョブの設定
項目 | 内容 |
---|---|
ジョブ名 | 商品軸のレコメンド結果をアクションテーブルへ |
ジョブタイプ | データテーブルからエクスポート |
エクスポート元 | 先ほど作成したクエリ結果 |
エクスポート先 | 先ほど作成したアクションテーブルを選択 |
実行方法を選択
- 「スケジュール実行を有効にする」にチェック
- 「繰り返し実行を有効にする」にチェック
- 実行頻度の設定を行う
- 連携頻度は毎日を推奨しています。
ジョブフローの設定
- 「ジョブ実行終了後にアーカイブ」チェックなし
- ジョブフロー名:任意
- ジョブが一つの場合は「先頭のジョブ名を流用」するのを推奨しています。
- 右上の「今すぐ実行」をクリックするとジョブが実行されます。
- ※ジョブの終了までに5分ほど時間がかかります。
- ジョブが「実行済み」になっていることを確認します。
アクションテーブルクエリを作成する
- 作成したアクションテーブルを選択し、画面右の「作成」をクリック
- 以下の設定を行う
- クエリ名:任意ですが、今回は
related_items
と設定 - 抽出条件:
- Limit:20
- Filter:
- target = #{target}
- Sort:key, 昇順
- クエリ名:任意ですが、今回は
これでアクションテーブルクエリの作成は完了です。
- アクションテーブルクエリの細かい仕様は以下ドキュメントもご確認ください。
接客サービスを設定する
接客サービス作成画面に遷移して、レコメンド用のテンプレートを選択します。
テンプレート(3種類)
※テンプレートが表示されない場合は、営業担当へお問い合わせください。KARTEレコメンド(商品軸)prod-mr
- 一定数商品を表示後、「more」ボタンにて下部にさらに商品を表示します
KARTEレコメンド(商品軸)prod-slk
- 一定数商品を表示後、スライド(カルーセル)にてさらに商品を表示します
KARTEレコメンド(商品軸)prod-mdl
- モーダルにて商品を表示します。
接客サービス詳細画面の「ベーシック」から以下を設定します。
アクションテーブル:
- アクションテーブルID:上記②アクションテーブルを作成する で作成したアクションテーブルIDを指定
- アクションテーブルクエリ名:上記④アクションテーブルクエリを作成する
で作成したアクションテーブルクエリ名を指定
フィルタリング:
フィルタリングしたい条件にチェックを入れる
チェックしたフィルタリング条件の枠に値を直接入力するかユーザー情報変数で設定した変数を入力する
例:ブランドの値:brand12345で絞り込む場合
例:view_itemイベントのbrand_cdで絞り込む場合
ユーザー情報変数
フィルター
データ管理:
ユーザー情報変数
購入商品(変数名:boughtItems):購入された商品をレコメンド内に表示しない設定
- 全ての期間>購入>商品ID>直近30件
- デフォルト値:"[]"
- JSONで出力:ON
カート商品(変数名:cartItems):カート内の商品をレコメンド内に表示しない設定
- 最新のセッション>カート>item_ids>直近30件
- デフォルト値:"[]"
- JSONで出力:ON
閲覧商品(変数名:viewItemId):閲覧している商品を取得する設定
- 全ての期間> view_item>item_ids>最新の値
- デフォルト値:任意
- JSONで出力:OFF
補完(ランキング)機能を利用する場合:
- レコメンドの対象商品が最小表示数に満たない場合、ランキングの商品を表示します
- 設定は以下のドキュメントをご確認ください。
- レコメンドの対象商品が最小表示数に満たない場合、ランキングの商品を表示します
主な設定は以上で完了になります。
テンプレートの種類によって、表示する数(最大表示数、最小表示数など)が設定可能となります。また、他接客サービス同様にカスタマイズすることにより、自由にデザインを変更するこが可能です。
- テスト配信を行い、アクションテーブルに入れたデータが表示されるのを確認します。
- 表示されない場合は、接客サービス編集画面 -> カスタマイズから編集してください。
- 詳細は以下のドキュメントをご確認ください
あとは従来の接客サービスと同じフローで配信設定を行ってください。