紐付けテーブル + セグメント を活用することで、Datahubのクエリで抽出したユーザーに対して接客サービス(Web上のポップアップやバナーなど)を配信することができます。この記事では具体的な設定手順を説明します。
基本的な仕組み
Datahubクエリで抽出したデータは、紐付けテーブルを介してユーザーデータとして紐付けることができます。
紐づけたデータをセグメント条件に設定することで、Datahubのクエリで抽出したユーザーへ接客サービスを配信します。
設定手順
ステップ1:Datahubクエリで対象ユーザーを抽出する
- Datahubクエリを開き、配信対象にしたいユーザーを抽出するクエリを作成
- クエリを保存
クエリ例
今回は一例として「対象期間内に3回以上来訪したユーザー」に接客を表示することを想定したクエリを示します。
-- 対象期間内に3回以上来訪したユーザーを抽出
SELECT
user_id,
true AS campaign_target_flag
FROM (
SELECT
user_id,
COUNT(DISTINCT sync_date) AS view_count
FROM
{% karte_event '20251001', '20251031' %}
WHERE
event_name = 'view'
GROUP BY
user_id
)
WHERE
view_count >= 3
ポイントは以下です。
- 名寄せに使うフィールドを抽出する
- 紐付けテーブルでデータをユーザーに紐づけるには名寄せに使うカラムが必要です。
user_idやメールアドレス、電話番号など、一意にユーザーを識別できるカラムを抽出してください。
- 紐付けテーブルでデータをユーザーに紐づけるには名寄せに使うカラムが必要です。
- 接客サービスのセグメントに用いるためのフィールドを抽出する
- 接客サービスの表示対象者はセグメントで指定するため、セグメントの条件にできるようなカラムが必要です。一例として、今回は接客の表示条件を
target_flag > 最新の値 = trueとするために、クエリでcampaign_target_flagというカラムに定数trueを割り当てました。
- 接客サービスの表示対象者はセグメントで指定するため、セグメントの条件にできるようなカラムが必要です。一例として、今回は接客の表示条件を
ステップ2:紐付けテーブルを作成する
- グローバルナビゲーション > すべてのプロダクト > Insight > 紐付けテーブル を選択
- 右上の「作成」→「空の紐付けテーブルを作成」をクリック
- テーブル名を入力(例:
campaign_target_users) - 「作成する」をクリック
画像のように紐付けテーブルが表示されれば正しく設定できています。
ステップ3:紐付けテーブルにデータを登録
紐付けテーブルにデータを登録する方法はCSVファイルを使う方法とジョブフローを使う方法がありますが、今回はジョブフローを使う方法を紹介します。ジョブフローを使うと接客の対象ユーザーを1回だけ抽出したり、定期的に対象者のリストを自動的に更新することができ、CSVでのデータ更新よりも汎用的な用途に用いることができます。
CSVファイルを使って配信対象者のリストを紐付けテーブルに登録することもできます。 CSVファイルを使う場合は、ステップ1のクエリで抽出したデータをCSVダウンロードした上で ユーザーにデータを紐付ける(CSVファイルを直接アップロードする場合) をご覧の上紐付けテーブルにデータを登録し、ステップ4の操作に進んでください。
- グローバルナビゲーション > すべてのプロダクト > Datahub > ジョブフローを開く
- 「作成」をクリック
- ジョブを追加:
- ジョブ名:例「キャンペーン対象ユーザーを紐付けテーブルに移行」
- ジョブタイプ:「クエリ実行結果のエクスポート」
- エクスポート元:ステップ1で作成したクエリを選択
- エクスポート先:「KARTE紐付けテーブル」を選択
- 紐付けテーブル:作成した紐付けテーブルを選択
- 更新タイプ:「置き換え(REPLACE)」または「追加/上書き(UPSERT)」のうち、適切な更新タイプを選択。対象ユーザーの洗い替えを行う場合は「置き換え(REPLACE)」、リストを差分更新する場合などであれば「追加/上書き(UPSERT)」が適している。
- メインキーにするフィールド:
user_id
- スケジュール実行の設定(スケジュール実行を有効にする場合のみ設定):
- 「スケジュール実行を有効にする」にチェック
- 実行間隔を設定(例:毎日1回)
- ジョブフロー名を入力し、「保存して完了」をクリック
- 「今すぐ実行」で初回実行
紐付けテーブルの「データ連携」を開き、ジョブフローによるデータ登録が開始していれば正しく設定できています。
ステップ4:紐付け設定を行う
- 紐付けテーブルの「データ紐付け」タブをクリック
- 「編集」をクリック
- 以下の設定を行う:
- 紐付けテーブルの有効化:チェックを入れる
- 紐付け先:「KARTEのユーザーID」を選択
- オプション > データの追加先:「ユーザー情報」を選択
- オプション > データの上書き:必要に応じてチェック。チェックすると紐づけるユーザーデータがすでに存在する場合でも、一時的に紐付けテーブルの値で上書きする(詳細: オプション: 「データの上書き」)
- 「保存」をクリック
「データ紐付け」に設定が表示されていれば正しく紐付け設定ができています。
「データ紐付け」タブの操作ができない場合、データ連携が完全に終了していないケースがあります。 ブラウザを更新し「データ連携」から更新が完了しているか確認してください。
ステップ5:対象ユーザーに接客を表示するためのセグメントを作成する
- グローバルナビゲーション > インサイト > セグメントを開く
- 右上の「作成」をクリック
- セグメント条件を設定:
- 期間:「すべての期間」を指定
- イベント:「ユーザー情報」を選択
- フィールド:紐付けテーブルのカラム名(例:
target_campaign_flag) - 統計値:「最新の値」を指定
- 条件:「trueに等しい」
- セグメント名を入力し、保存
セグメントの設定例は以下です。
ステップ6:作成したセグメントを接客サービスに設定する
- 作成したセグメントを接客サービスに設定する(通常の接客サービスでのセグメント設定と同様)
接客へのセグメントの設定例は以下です。
以上でクエリで抽出したユーザーに対して接客サービスを配信するための設定は完了です。
接客がクエリで抽出した対象者に配信されるかどうかチェックの上、接客を公開してください。
注意点
- 紐付けテーブルでは紐付け設定を有効にした後、該当ユーザーにイベントが発生したタイミングでセグメントに所属します。そのためセグメントの判定の更新は紐付けテーブルの更新のタイミングからタイムラグが発生することがあります。