サイト上に商品購入数/購入金額のランキングを表示する方法について紹介します。
- 商品マスタがDatahubにインポートされていることが前提になります。
- インポートがまだの場合はこちらの記事を参考に、商品マスタのインポートをお願いします。
 
 
クエリの設定を行う
- Datahub管理画面→「クエリ」画面に遷移します。
 - 左上の「作成」→「コレクションから作成」を押下
 - やりたいことから探す→「ランキングを表示したい」から「商品購入数/購入金額のランキング」を選択

 - パラメータ設定から以下を設定する
- 抽出期間(デフォルトは7日間)
 - 商品マスタのデータセットID
 - 商品マスタのテーブルID
 - アクションテーブル連携時のレコード生存期間(h)(デフォルトは24時間)
 
 

- 右上の「クエリを実行」して結果が返ってくるか確認します。
 
ご注意ください
クエリの結果が20万レコード以内になっていることを確認してください。(アクションテーブルのレコード数上限が20万レコードとなってるので、20万レコードを超えている場合はアクションテーブルにデータをエクスポートできません。)
クエリの結果が返ってこない場合のチェックポイント
- KARTEのタグで送っているイベント名、スキーマが正しく設定されているか?
- レコメンドを実現するにあたり、
view_item、buyイベントがKARTEに正しく送られている必要がございます。- グローバルメニュー「顧客を知る」→「イベント」よりイベントが正しく送られているかご確認ください。
 
 
 - レコメンドを実現するにあたり、
 - 商品マスタのフォーマットに従っているか?
- フィールド名やデータ型がフォーマット通りに連携できているかご確認ください。
- 商品マスタのフォーマットはこちら
 
 
 - フィールド名やデータ型がフォーマット通りに連携できているかご確認ください。
 - 連携したデータの値が合っているか?
- データセット→取り込んだテーブルの「プレビュー」「テーブル情報」などから取り込んだデータを確認することができます。
 
 
アクションテーブルを作成する
- グローバルメニューのアクションテーブル画面右上の「作成」→「空のテーブルを作成」をクリック
 - 以下の設定を行い、「作成」をクリック
- テーブルID:任意のテーブル名を指定(例では、ranking_weekly)
 - スキーマ設定:クエリ結果のスキーマを以下のように指定します
 - 権限:今回は参照のみなので「ウィジェットからの参照」にチェック
 - モード:
- フィルタリングをしない、または、単一の条件でフィルタリングをかける場合:general
 - 複数の条件でフィルタリングをかける場合:flexible
- 参考:アクションテーブルモード
 
 
 
 
アクションテーブルのスキーマ設定
| フィールド名 | 型 | 
|---|---|
| item_id(主キー) | 文字列 | 
| name | 文字列 | 
| brand_name | 文字列 | 
| price | 数値 | 
| display_price | 文字列 | 
| image | 文字列 | 
| url | 文字列 | 
| l_category_cd | 文字列 | 
| s_category_cd | 文字列 | 
| brand_cd | 文字列 | 
| sex_cd | 文字列 | 
| quantity_rank | 数値 | 
| amount_rank | 数値 | 
| expired_at | タイムスタンプ | 
アクションテーブルにクエリ結果をエクスポートする
- グローバルメニューのジョブフロー画面右上の「作成」をクリック
 - ジョブ設定画面から以下を設定し、右上の「保存して完了」をクリック
 
ジョブの設定
| 項目 | 内容 | 
|---|---|
| ジョブ名 | 週次ランキング結果をアクションテーブルへ | 
| ジョブタイプ | データテーブルからインポート | 
| エクスポート元 | 先ほど作成したクエリ結果 | 
| エクスポート先 | 先ほど作成したアクションテーブルを選択 | 
実行方法を選択
- 「スケジュール実行を有効にする」にチェック
 - 「繰り返し実行を有効にする」にチェック
 - 実行頻度の設定を行う
- 連携頻度は週次程度を推奨しています。
 
 

ジョブフローの設定
- 「ジョブ実行終了後にアーカイブ」チェックなし
 - ジョブフロー名:任意
- ジョブが一つの場合は「先頭のジョブ名を流用」するのを推奨しています。
 
 - 右上の「今すぐ実行」をクリックするとジョブが実行されます。
- ※ジョブの終了までに5分ほど時間がかかります。
 
 - ジョブが「実行済み」になっていることを確認します。
 
アクションテーブルクエリを作成する
- 作成したアクションテーブルを選択し、画面右上の「作成」をクリック
 - 以下の設定を行う
 - クエリ名:任意
 - 抽出条件:
- Limit: 20
 - Filter: フィルタリングしたい条件を任意で指定してください。
- 例:ブランドのみでフィルタリングしたい場合
brand_cd = #{brand_cd}
 - 例:ブランド、大カテゴリ、少カテゴリ、性別でフィルタリングしたい場合
brand_cd = #{brand_cd}l_category_cd = #{l_category_cd}s_category_cd = #{s_category_cd}sex_cd = #{sex_cd}- ※複数の条件でフィルタリングしたい場合は、アクションテーブルのモードを「flexible」に設定してください。
 
 
 - 例:ブランドのみでフィルタリングしたい場合
 - Sort:
quantity_rankoramount_rank昇順
 
 
これでアクションテーブルクエリの作成は完了です。
 
- アクションテーブルクエリの細かい仕様は以下ドキュメントもご確認ください。
 
接客サービスを設定する
接客サービス作成画面に遷移して、レコメンド用のテンプレートを選択します。
- テンプレート(3種類)

※テンプレートが表示されない場合は、営業担当へお問い合わせください。- KARTEレコメンド(ランキング)rank-mr
- 一定数商品を表示後、「more」ボタンにて下部にさらに商品を表示します
 
 - KARTEレコメンド(ランキング)rank-slk
- 一定数商品を表示後、スライド(カルーセル)にてさらに商品を表示します
 
 - KARTEレコメンド(ランキング)rank-mdl
- モーダルにて商品を表示します。
 
 
 - KARTEレコメンド(ランキング)rank-mr
 
- テンプレート(3種類)
 接客サービス詳細画面の「ベーシック」から以下を設定します。
アクションテーブル:
- アクションテーブル名:上記で作成したアクションテーブルを指定
 - アクションテーブルクエリ名:上記で作成したアクションテーブルクエリ名を指定

 
フィルタリング:
アクションテーブルの枠に絞り込みを実施したい各項目(ブランド、子カテゴリ、親カテゴリ、性別)に値を直接入力するかユーザー情報変数で設定した変数を入力する
例:ブランドの値:brand12345で絞り込む場合

例:_view_itemイベントのbrand_cdで絞り込む場合
ユーザー情報変数

フィルター

フィルタリング項目を変更したい場合
- 上記④アクションテーブルクエリを作成する
で設定した抽出条件>Filterで変更ください。
- 例:ブランド
brand_cdのフィールド参照をTESTtest_cdに変更したい場合brand_cd = #{test_cd}
 
 - 例:ブランド
 
- 上記④アクションテーブルクエリを作成する
で設定した抽出条件>Filterで変更ください。
 
データ管理:
ユーザー情報変数
購入商品(変数名:boughtItems):購入された商品をレコメンド内に表示しない設定
- 全ての期間>購入>商品ID>直近30件
 - デフォルト値:"[]"
 - JSONで出力:ON

 
カート商品(変数名:cartItems):カート内の商品をレコメンド内に表示しない設定
- 最新のセッション>カート>item_ids>直近30件
 - デフォルト値:"[]"
 - JSONで出力:ON

 
ご注意ください
フィルタリング項目は文字列型での指定を想定して作られております。文字列以外のデータ型でフィルタリングを行いたい場合は、テンプレート内のロジックを直接書き換えてください。
主な設定は以上で完了になります。
テンプレートの種類によって、表示する数(最大表示数、最小表示数など)が設定可能となります。また、他接客サービス同様にカスタマイズすることにより、自由にデザインを変更するこが可能です。
- テスト配信を行い、アクションテーブルに入れたデータが表示されるのを確認します。
 - 表示されない場合は、接客サービス編集画面 -> カスタマイズから編集してください。
 - 詳細は以下のドキュメントをご確認ください
 
あとは従来の接客サービスと同じフローで配信設定を行ってください。
 






