サイト上に商品購入数/購入金額のランキングを表示する方法について紹介します。

  • 商品マスタがDatahubにインポートされていることが前提になります。
    • インポートがまだの場合はこちらの記事を参考に、商品マスタのインポートをお願いします。

クエリの設定を行う

  • Datahub管理画面→「クエリ」画面に遷移します。
  • 左上の「作成」→「コレクションから作成」を押下
  • やりたいことから探す→「ランキングを表示したい」から「商品購入数/購入金額のランキング」を選択
    null
  • パラメータ設定から以下を設定する

null

  • 右上の「クエリを実行」して結果が返ってくるか確認します。
クエリの結果が20万レコード以内になっていることを確認してください。(アクションテーブルのレコード数上限が20万レコードとなってるので、20万レコードを超えている場合はアクションテーブルにデータをエクスポートできません。)

クエリの結果が返ってこない場合のチェックポイント

  • KARTEのタグで送っているイベント名、スキーマが正しく設定されているか?
    • レコメンドを実現するにあたり、view_itembuy イベントが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 タイムスタンプ

アクションテーブルにクエリ結果をエクスポートする

  • グローバルメニューのジョブフロー画面右上の「作成」をクリック
  • ジョブ設定画面から以下を設定し、右上の「保存して完了」をクリック

ジョブの設定

項目 内容
ジョブ名 週次ランキング結果をアクションテーブルへ
ジョブタイプ データテーブルからインポート
エクスポート元 先ほど作成したクエリ結果
エクスポート先 先ほど作成したアクションテーブルを選択

実行方法を選択

  • 「スケジュール実行を有効にする」にチェック
  • 「繰り返し実行を有効にする」にチェック
  • 実行頻度の設定を行う
    • 連携頻度は週次程度を推奨しています。

null

ジョブフローの設定

  • 「ジョブ実行終了後にアーカイブ」チェックなし
  • ジョブフロー名:任意
    • ジョブが一つの場合は「先頭のジョブ名を流用」するのを推奨しています。
  • 右上の「今すぐ実行」をクリックするとジョブが実行されます。
    • ※ジョブの終了までに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_rank or amount_rank
      • 昇順

これでアクションテーブルクエリの作成は完了です。

null

接客サービスを設定する

  • 接客サービス作成画面に遷移して、レコメンド用のテンプレートを選択します。

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

    • アクションテーブル:

      • アクションテーブル名:上記で作成したアクションテーブルを指定
      • アクションテーブルクエリ名:上記で作成したアクションテーブルクエリ名を指定
        null
    • フィルタリング:

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

        • 例:ブランドの値:brand12345で絞り込む場合
          null

        • 例:_view_itemイベントのbrand_cdで絞り込む場合

          • ユーザー情報変数
            null

          • フィルター
            null

      • フィルタリング項目を変更したい場合

    • データ管理:

      • ユーザー情報変数

        • 購入商品(変数名:boughtItems):購入された商品をレコメンド内に表示しない設定

          • 全ての期間>購入>商品ID>直近30件
          • デフォルト値:"[]"
          • JSONで出力:ON
            null
        • カート商品(変数名:cartItems):カート内の商品をレコメンド内に表示しない設定

          • 最新のセッション>カート>item_ids>直近30件
          • デフォルト値:"[]"
          • JSONで出力:ON
            null
フィルタリング項目は文字列型での指定を想定して作られております。文字列以外のデータ型でフィルタリングを行いたい場合は、テンプレート内のロジックを直接書き換えてください。

主な設定は以上で完了になります。

テンプレートの種類によって、表示する数(最大表示数、最小表示数など)が設定可能となります。また、他接客サービス同様にカスタマイズすることにより、自由にデザインを変更するこが可能です。

あとは従来の接客サービスと同じフローで配信設定を行ってください。