ユーザーデータとは?
KARTEではユーザーが閲覧や購入などの行動をすると、設置された計測タグによってイベントが自動的に送信されます。イベントデータが送信されると、KARTEでサマリー処理を行います。その結果がユーザーデータです。
例)購入イベントを送信している場合、これまで購入した商品名や購入金額の最新の値といった統計値をユーザーデータとして確認できます。
ユーザーデータは以下のように確認できます。
特定のユーザーのユーザーストーリーを開きます
ユーザーストーリーは、「すべてのメニュー 」>「 Insight 」> 「ユーザーリスト」から、任意のユーザーを選択すると表示されます。「表示中のユーザーデータ」 > 「すべてのユーザーデータを見る」をクリックすると、ユーザーデータの一覧が表示されます
ユーザーの検索方法については、新規で検索する(検索条件の作成/保存) をご覧ください。
イベントデータのサマリー
KARTEに送信されたイベントはリアルタイムに集計され、サマリー処理されます。
サマリー方法は、フィールドの値のデータ型によって異なります。例えば、データ型が数値の場合は「合計値」や「平均値」、「最大値」などの統計値を計算しています。データ型が文字列の場合は「最も頻度が高い値」などの統計値を計算しています。
イベント1つひとつは独立していますが、サマリーが行われることで、イベントが発生した瞬間に、過去に発生した同名のイベントの「最新の状態」を把握することができます。
データ型について
イベントフィールドのデータ型については、下記の記事をご覧ください。
解析される統計値の計算パターン
データ型によって違う統計値の計算パターンは以下のとおりです。
※値をa -> b -> bと送信した場合、「最新の値」はbとなり、「一つ前の値」はaとなります。
データ型の扱い
前項の表にあるように、送信されるイベントデータのフィールドのデータ型によって、確認できるユーザーデータ内の統計値が異なります。ここでは、実際にイベントデータを送信して、データ型ごとの統計値を見ていきます。
基本のデータ型
イベントのフィールド値として文字列型、数値型、真偽値型、日付型を送ることができます
文字列型
機能としてできること
1つの単語として認識するため「直近30件」などを参照できたり、部分一致などの文字列の比較ができます。
ユースケース
セグメント:最近カートに A商品 を入れたユーザーに接客サービスを配信したい
ユーザー構成比:各商品毎にどれほどお気に入りされているかを可視化する
例)データの送り方
krt('send', 'test', {
str: 'a'
});例)管理画面へのデータの表示
数値型
機能としてできること
「総計値」や「最大値」などを参照できたり、数値の大小を比較できます
ユースケース
セグメント:XX以上の値を持ったユーザーを抽出する
ユーザー構成比:特定フィールドの平均値を明らかにする
例)データの送り方
krt('send', 'test', {
num: 1
});例)管理画面へのデータの表示
真偽値型
機能としてできること
送信する値を true,false で二値に限定できます。
ユースケース
セグメント:メールマガジン登録をしているユーザーをセグメントする
ユーザー構成比:メールマガジンを登録しているユーザー、登録してないユーザーの比率を出す
例)データの送り方
krt('send', 'test', {
bool: true
});例)管理画面へのデータの表示
日付型
機能としてできること
時間的な相対・絶対比較ができます。
ユースケース
セグメント:特定の行動から3日後に接客サービスを配信する
セグメント:20XX年1月1日以降に来訪されたユーザーを抽出したい
例)データの送り方
krt('send', 'test', {
test_date: new Date("2024/7/30 10:00:00")
});例)管理画面へのデータの表示
配列を利用するケース
配列は、1つのイベントに対して複数のデータをまとめて管理したい場合に使用します。具体的には次のような場合があります。
複数商品の購入を1つのbuyイベントで管理したい
商品A・B・Cを同時に購入した場合でも、1つのbuyイベントでまとめて処理できます
最新のcartイベントからカート情報を取得したい
複数のcartイベントが発生しても、常に最新のカート情報を保持できます
カゴ落ち施策の際に、直近のカート情報を活用できます
配列データの送信方法は次のとおりです。
文字列型の配列
機能としてできること
["A", "B", "C"]のように、過去の履歴を1つのリストとして積み上げて保持することができます。
ユースケース
セグメント:お気に入りにAが入っているユーザーをセグメントしたい
※ 複数のものを1つのリストとして認識するため、レポートには適していません
例)データの送り方
krt('send', 'test', {
str_array: ['a', 'b', 'c']
});例)管理画面へのデータの表示
数値型の配列
機能としてできること
["1", "2", "3"]のように、過去の履歴を1つのリストとして積み上げて保持することができます。
ユースケース
セグメント:特定の数値になったことがあるユーザーをセグメントしたい
※ 複数のものを1つのリストとして認識するため、レポートには適していません
例)データの送り方
krt('send', 'test', {
num_array: [1, 5, 7]
});例)管理画面へのデータの表示
基本のデータ型の配列フィールドの値参照と条件判定のルール
基本データ型の配列フィールドにおける「最新の値」の動作
基本データ型の配列を連携したフィールドでは、「最新の値」は配列の末尾要素ではなく、配列全体を指します例:testイベントのstr_arrayフィールドに
['a', 'b', 'c']を連携した場合、「最新の値」は'c'ではなく['a', 'b', 'c']になる
セグメント条件での判定ルール
配列フィールドに対して「最新の値」を条件に指定した場合、配列のいずれかの要素が条件を満たせば「条件に合致」と判定します
複数の条件をANDで組み合わせた場合も、それぞれの条件を独立のものとして判定します
例:testイベントのnum_arrayフィールドに
[1, 5, 7]を連携した場合条件:
最新の値が 1 に等しい→ 要素 1 が条件を満たすため、合致。条件:
最新の値が 2 以上 AND 最新の値が 4 以下→ 5 や 7 が「2以上」を、1 が「4以下」を満たすため、**合致。**同じ要素が両方の条件を満たす必要はない。
オブジェクト
フィールドにオブジェクトを設定した場合、「基本のデータ型」の値が含まれるPathの全体をフィールド名として扱います。
つまり、階層が深いオブジェクトであっても、KARTEのユーザーデータ上は一階層にまとめられます
機能としてできること
「名前」と「値」をセットにして、複雑な情報を整理することができます
ユースケース
ユーザー構成比:どのような見積もりをされたかを可視化する
オブジェクトの送信例
krt('send', 'test', {
str_object: { foo: 'bar' }
});この場合、値が格納されたstr_object.fooがフィールド名になります。階層が深くなれば「.」でつながれます。
オブジェクトの配列
オブジェクトの配列が連携された場合、配列の要素となる各オブジェクトが別々に連携されたような扱いになります
ユースケース
ユーザー構成比:直近1ヶ月で最も多い購入アイテムを調べたい
ユーザー構成比:直近6か月で資料請求されたカテゴリを明らかにする
オブジェクト配列の送信例
krt('send', 'test', {
obj_array: [ { foo: 'bar' }, { foo: 'baz' } ]
});この場合、値が格納されたobj_array.fooがフィールド名になります。
注意点
あるフィールドで連携される値のデータ型が途中で変わった場合、そのユーザーに対して過去に当該フィールドで連携された値に基づく統計値は、全てリセットされます
タグの実装に注意し、同一フィールドで複数のデータ型が連携されないようにしてください
参考)データ型が変わる前と後での表示の違い
データ型変更前
データ型変更後