施策を考えた上で、その施策を実施するために必要なイベントを定義しましょう。
イベント実装前にイベント定義書を正しく作成することで企画運用担当とSDK実装担当との齟齬がなくなり、本番廃止後に特定のイベントが足りないことで施策ができなかったという事態を防げます。

1. イベントとは

イベントとはユーザーのサイト上の行動一つひとつのことを表し、接客サービス配信時に必要となるセグメント・配信のトリガー・ゴールに利用されます。

イベントの目的と構成については下記の通りです。
イベントの中にフィールドを複数追加することができ、各フィールドのデータ型が選択可能です。
一般的に使用されるフィールドには推奨のデータ型があります。

null

ECサイトでのイベント実装例となります。

イベントには大きく3種類あり、viewイベント、identifyイベント、customイベントとなり、送信されたイベントはリアルタイムに解析されます。

  • viewイベント:各ページに必ず実装しましょう。それにより、ユーザーがどのようにアプリ内で行動しているか可視化することが可能となります。
  • identifyイベント:ユーザー属性情報を送信するためのイベントとなります。会員登録やログイン/ログアウト時はもちろん、起動時にidentifyイベントを送信することで、最新のユーザー情報に保つことが可能となります。
  • customイベント:viewイベントとidentifyイベント以外の行動をトラッキングするためのもので、自由に追加することが出来ます。
    null
- viewイベントはユーザーの行動を追えるだけでなく、施策をする際のトリガーやゴールにもなるため、必ず全ページ実装しましょう
- identifyでuser_idを送ることでKARTE上でビジターからメンバーになり、web/appどちらでもログインしている場合にユーザーの行動が統合されます。必ず同じuser_idを送信しましょう

使用可能なデータ型については下記をご確認ください。
※ イベントの発生日時はデフォルトで送られています。追加で日付型を送信したい場合は、キー名の末尾が_dateで終わるフィールド名を設定してください。

記述の例 設定時の注意事項
文字列型 “KARTE”, “00001” - 正規表現が使用可能
数値型 1, 100, 0.1 - 「以上/以下」の設定が可能
Date型※Date型をご利用の場合は、フィールド名の末尾に”_date”を付加してください。 Date() - 絶対時間/相対時間の設定が可能
Bool型 true, false
配列 [“hoge”, “fuga”] - 配列内でAND条件を行う場合、配列内にある全てが対象となります。そのため、XXブランド且つYY円以上がある場合等はできかねます
オブジェクト {a: 100, b: 200}
- 一度KARTEに送信したイベントは管理画面上から編集/削除することはできません。値を削除したい場合には再度同イベントを送ることで別に値に上書きすることは可能ですが、データ自体はユーザーデータに残ります

2. SDKが標準で送るイベント

SDKを実装することで送信されるデフォルトのイベントがあり、下記項目については別途実装は必要ありません。

No. 計測イベント イベント名 送信タイミング
1 インストール native_app_install – 初回起動時
2 アップデート native_app_update – アプリアップデート後の起動時
3 アプリ起動 native_app_open – アプリ起動時
4 アプリクラッシュ native_app_crashed – アプリクラッシュ時(クラッシュログも送られる)
5 接客配信 message_open – プッシュ通知送信時アプリ内メッセージ表示時
6 接客クリック message_click – プッシュ通知開封時アプリ内メッセージクリック時
7 プッシュ送信に必要なユーザー情報 plugin_native_app_identify – アプリ起動時(FCMが組み込まれてる場合のみ発生。FCMトークンが送られる)
8 フォアグラウンド native_app_foreground – プロセスが終了した状態で、アプリ起動時にnative_app_openと一緒に発生
– アプリフォアグラウンド遷移時- 電源ボタンタップからの起動時
– ホームボタン2回タップした画面から復帰した時 (iOS)
– アプリ切り替えボタンタップした画面から復帰した時 (Android)
9 バックグラウンド native_app_background – アプリバックグラウンド遷移時
– 電源ボタンタップ(終了)時
– ホームボタン2回タップした画面遷移時 (iOS)
– アプリ切り替えボタンタップした画面遷移時 (Android)
– 初期画面で戻るボタンタップ時 (Android)

※native_app_openは、backgroundでアプリが動いている場合は、foregroundに戻ったことを検知できないためアプリがkillされてから起動したときに発生します。
※SDKリリース直後はすべてのユーザーの初回起動時にnative_app_installが送られるため、初回起動時をトリガーにした接客サービスはSDKリリース後1ヶ月程度の時間を置いて配信ください。
※なお、SDKのバージョンが最新でない場合は一部標準イベントは送られませんので詳細はリリースノートをご確認ください。iOS/Android

上記の他に、app_infoが発生し、OSのターゲティング等に使用可能です。

(共通)

No. 項目
1 version_name 1
2 version_code 1
3 karte_sdk_version 1.2.8
4 os Android
5 device SCV33
6 os_version 7
7 model SCV33

(iOS)

No. 項目
1 bundle_id io.karte.tracker.sample
2 idfv xxxxxxxxxxxxxxxxxxxxxxx

(Android)

No. 項目
1 package_name io.karte.android.tracker_sample
2 brand KDDI
3 product SCV33_jp_kdi

※広告ID(IDFA/AAID)の送信も可能ですが、デフォルトではOFF(送信しない)設定になっています。詳しくはこちらをご参照ください。

3. viewイベント

閲覧イベントとも呼ばれ、webでは計測タグで計測が行われます。
アプリでは全ページに実装することで、ユーザーがどのページを閲覧したか、どのような行動を知っているか可視化することができます。
webviewの計測については、viewイベントの実装ではなく計測タグを設定していただきます。詳細はこちらをご参照ください。

下記必須項目となります。

No. イベント名 フィールド名 備考
1 view_name ”top" ページの種類ID名
2 title "トップページ" 管理画面上で表示されるページ名
- 価格や詳細情報を送信したい場合は、別途[item_detail]等のイベントを実装しましょう
- 各ページで送信するフィールドを揃えることでKARTE管理画面上でセグメントを作る時の設定が簡単になります

4. identifyイベント

ユーザー情報を送信するためのイベントになります。
会員登録時、ログイン時に送付する以外に、起動時に常に送ることを推奨します。
クロスプラットフォームでのユーザーの紐づけは、user_idで行います。つまり、ウェブでもアプリでもuser_idをKARTEに送る必要があります。(※user_id は、ハッシュ化したものなどでも可能です。ウェブ・アプリで共通のIDをお送り頂ければ、紐付けることができます。)

下記、注意が必要なフィールドとなります。
よく使用されるフィールドについてはこちらをご参照ください。

フィールド名 概要
user_id ユーザーを識別するユニークなIDです。複数ブラウザ、端末間でユーザーを同一認識する事が出来ます。ユーザーIDを意味する値をidentifyイベントで送信する場合は、必ずuser_idという名称で、システム上でユニークなID(1人のユーザーに対して与えられ、システム上で重複しない)を文字列形式で送信してください。visitorの場合には、user_idを送付しないようご注意ください。複数人のユーザーが1人のメンバーに紐付き、正常にユーザーを認識できなくなります。 “000”, “taro.karte@example.com 文字列
name ユーザーの氏名です。管理画面上やアクション時に、名前を参照することが出来ます。 “佐藤茂” 文字列
email メールアドレスです。アクションとしてメールを利用する場合には必須です。 “sato_shigeru@plaid.co.jp” 文字列
subscription メールマガジン登録の可否です。falseの場合、アクションでメールを設定しても送信されません。アクションとしてメールを利用する場合には必須です。 TRUE BOOL
birth_month 誕生月です。数値での指定も可能ですが、同一サイト内で型は揃える必要があります。「以上/以下」というルールを指定をしたい場合は数値、正規表現でルールを指定したい場合は文字列型を推奨します。 8, “08”, “AUG” 文字列、もしくは数値
phone_subscribe SMS配信の可否です。falseの場合、アクションでSMSを設定しても送信されません。アクションとしてSMSを利用する場合には必須です。 TRUE BOOL

5. customイベント

customイベントは任意に作成することが可能となり、その際イベント名の定義も必要となります。イベント名は半角小文字英字・半角数字・_(アンダースコア)が使用できますが、日本語は不可となります。

イベント名 計測対象 送信タイミング
XXX_click 特定のクリックイベントを計測したい場合 クリック時
buy 購入を計測するためのイベント(主にECサイトで利用想定) 購入金額はrevenue, 個別商品はitemsというフィールドを追加ください 購入完了時
signup 会員登録を計測するためのイベント 会員登録完了時
cart カートへの追加を計測するためのイベント(カート落ちユーザーへの施策で利用) カートに商品を追加した時

参考:https://support2.karte.io/app/karte-for-app-start-overall/12498/

6. イベントの計測方法

イベントの送り方には主に3つの方法があります。イベント定義書作成時に各イベントをどの方法で計測するかイメージしましょう

  1. SDK経由で計測する
    • ユーザーの行動に合わせてイベントをKARTEに送信します
    • 実際の実装方法はこちら
  1. webviewを計測する
    • アプリ内webviewには1. 計測タグを設置する、2. SDKの実装をする事が必要となります
    • webview内でcustomイベントを送信する場合には別途タグを実装ください
    • 実際の実装方法はこちら
  1. サーバーサイドAPIで計測する
    • アプリ内にユーザーに送信する情報がない場合にはサーバーサイドAPIで直接KARTEにイベントを送信することが出来ます
    • サーバーサイドAPIからのイベントをトリガーにしてポップアップの配信はできかねます
    • リクエスト制限がありますのでご注意ください
    • 実際の実装方法はこちら