本ページはKARTE For Appにご契約いただいたアプリに必要な実装内容となります。
1.イベントの設計方法と4.検証方法は必ずご一読ください。アプリ内webviewもトラッキングする場合は、2.webviewの計測方法、プッシュ通知を含めた接客サービスをご検討の場合には事前のSDKの実装が必要となりますので3.プッシュ通知も合わせてご参照ください。

1. イベントの設計方法

イベントとは

イベントとはユーザーのサイト上の行動一つひとつのことを表し、接客サービス配信時に必要となるセグメント・配信のトリガー・ゴールに利用されます。設計が必要なイベントは主に3種類存在し、一つ一つのイベントにフィールドを複数紐づけて送信する必要があり、送信されたイベントはリアルタイムに解析されます。

種類 計測対象 送信タイミング
viewイベント ページの閲覧行動を計測するためのイベント ページ閲覧時
identifyイベント ユーザー情報の送信するためのイベント (推奨)起動時、その他会員登録時、ログイン時、マイページ表示時等
カスタムイベント ページ閲覧以外の行動を計測するためのイベント お気に入り、検索、絞り込み等の行動が行われたとき

viewイベント

ページの閲覧行動を計測するためのイベントとなります。
SDKがデフォルトで送るデータと各社で定義して送る2種類のデータがあります。「view_name」と「title」の設定は必須となり、それ以外は任意で複数のフィールドを指定可能です。

OS情報やバージョンなど下記情報はデフォルトで送られるため設計不要でターゲティング等に使用することができます。

  • デフォルト項目(app_info)

(共通)

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
3 idfa xxxxxxxxxxxxxxxxxxxxxxx

(Android)

No. 項目
1 package_name io.karte.android.tracker_sample
2 brand KDDI
3 product SCV33_jp_kdi
4 android_id xxxxxxxxx
5 aaid xxxxxxxxxxxxxxxxxxx

identifyイベント

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

  • イベント例
No. 項目
1 user_id 12345678
2 name 軽手太郎
3 email taro.karte@example.com
4 age 31
5 gender male
6 pref 東京都
7 rank Gold

identifyイベントの中にはKARTE上でフィールド名が指定されているものが存在します。
下記定められたフィールド名以外に任意のフィールド名でデータを送ることは可能ですが、例えばメールの配信パーミッションをあらわす subscriptionなどは、KARTEの仕様で falseになっているとメールを送ることができません。別のフィールド名でメールのパーミッションを設定してしまうと、実際は取得しているのに、KARTEの仕様でメールが送れない等の問題が発生する可能性があります。

フィールド名 概要
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
create_date 会員登録日です。 new Date(“2013/01/21”)new Date(2013, 0, 21) 日付
age 年齢です。 32 数値
gender 性別です。 “M”, “female”, “女性”, “0” 文字列
photo アバターURLです。管理画面上で顔画像を表示する事が出来ます。 “://example.com/face000.jpg” 文字列
birth_month 誕生月です。数値での指定も可能ですが、同一サイト内で型は揃える必要があります。「以上/以下」というルールを指定をしたい場合は数値、正規表現でルールを指定したい場合は文字列型を推奨します。 8, “08”, “AUG” 文字列、もしくは数値
birth_year 誕生年です。 1982 数値
birth_date 誕生日です。 new Date(“1982/08/15”)new Date(1982, 7, 15) 日付
phone 電話番号です。 “080-0000-0000” 文字列
phone_subscribe SMS配信の可否です。falseの場合、アクションでSMSを設定しても送信されません。アクションとしてSMSを利用する場合には必須です。 TRUE BOOL
first_name 名前です。 “茂” 文字列
last_name 名字です。 “佐藤” 文字列
country 国名です。 “japan”, “日本”, “JP” 文字列
pref 都道府県です。 “東京都” 文字列
zip 郵便番号です。 “000-0000” 文字列
address 住所です。 “品川区西五反田0-0-0” 文字列
point サイト側の会員ポイントです。 1000 数値
rank サイト側の会員ランクです。 “A” 文字列
job 仕事です。 “sales”, “IT”, “0” 文字列

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

記述の例
文字列型 “KARTE”, “00001”
数値型 1, 100, 0.1
Date型※Date型をご利用の場合は、フィールド名の末尾に”_date”を付加してください。
例:birth_date , first_buy_date
Date()
Bool型 true, false
配列 [“hoge”, “fuga”]
オブジェクト {a: 100, b: 200}

カスタムイベント

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

イベント名 計測対象 送信タイミング
buy 購入を計測するためのイベント(主にECサイトで利用想定) 購入金額はrevenue, 個別商品はitemsというフィールドを追加ください 購入完了時
signup 会員登録を計測するためのイベント 会員登録完了時
cart カートへの追加を計測するためのイベント(カート落ちユーザーへの施策で利用) カートに商品を追加した時
  • 例)イベント名「add_favorite」:お気に入りに追加した際のイベント
No. 項目
1 name サンダル
2 image https://image.sample.com/12345678.jpg
3 price 2980
4 item_id 9876

SDKが標準で送るイベント

下記イベントは設計の必要なくSDKが標準で送るイベントとなります。
native_app_openは、backgroundでアプリが動いている場合は、foregroundに戻ったことを検知できないためアプリがkillされてから起動したときに発生します。
SDKリリース直後はすべてのユーザーの初回起動時にnative_app_installが送られるため、初回起動時をトリガーにした接客サービスはSDKリリース後1ヶ月程度の時間を置いて配信ください。

計測イベント イベント名 送信タイミング
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トークンが送られる)

イベント定義書の作成方法

アプリの場合にはウェブと異なり、viewイベントも含めすべてのイベントを一つ一つ実装する必要があり、イベントの実装個数分だけ、実装工数が必要となります。フィールドはそもそもアプリ側で受け取れていない値は送付できないため、取りたい値がサーバーサイドからフロント側に送られているか、サーバーサイド側の開発チームと確認をしながら実装を進めてください。
アプリ側からどうしても送ることが難しいが、KARTEに送信したい(セグメントの条件で利用したい、アクションの中に埋め込む値として利用したい、等)データがある場合、有償オプションのKARTEのサーバーサイドAPIで送信することも可能となりますので、ご検討の際は営業担当までお問い合わせください。※基本的には、管理上シンプルにできる アプリからの送信を推奨します

注意点

  • visitorの場合には、user_idを送付しないようご注意ください。複数人のユーザーが1人のメンバーに紐付き、正常にユーザーを認識できなくなります。

  • イベント定義書作成イメージ

    No. イベント種別 計測対象 イベント名 フィールド
    1 view TOP view view_name: top
    title: [ページのタイトル]
    2 view カテゴリ一覧 view view_name: category_list
    title: [ページのタイトル]
    3 view お気に入り一覧 view view_name: favorite_list
    title: [ページのタイトル]
    4 track 絞り込み filter_items color: [色]
    price: [価格帯]
    5 track お気に入り追加 add_favorite item_id: [商品ID]
    item_name: [商品名]
    category: [商品カテゴリ]
    size: [サイズ]
    6 track 購入 buy revenue: [売上]
    items: {
    item_id: [商品ID]
    item_name: [商品名]
    category: [商品カテゴリ]
    }
    7 identify ユーザー情報 identify user_id: [ユーザーID]
    name: [名前]
    email: [メールアドレス]
    age: [年齢]
    gender: [性別]

イベント定義書作成例
Shoes Karteという一般的なECサイトを想定したイベント定義書例となります。

No. イベント種別 計測対象 イベント名 フィールド
1 view トップ画面 view view_name: top
title: Shoes Karte トップ
2 view お気に入り画面 view view_name: favorite_list
title: お気に入り一覧
3 view カテゴリ一覧画面 view view_name: category_list
title: カテゴリー一覧
category: category_list_sandals
4 view 商品詳細画面 view view_name: item_detail
title: 商品詳細
category: item_detail_sandals
brand: item_detail_brand_A
5 view カート画面 view view_name: cart
title: カート
6 view 購入手続き画面 view view_name: purchase_confirmation
title: 購入確認
7 view 購入完了画面 view view_name: purchase_complete
title: 購入完了
8 view 新規会員登録画面 view view_name: registration
title: 新規会員登録
9 view ログイン画面 view view_name: login
title: ログイン
10 track お気に入り add_favorite item_id: [商品ID]
item_name: [商品名]
category: [商品カテゴリ]
price: [価格]
11 track 商品検索 search_items keyword: [検索キーワード]
12 track 購入 buy revenue: [売上]
tax: [消費税]
items: [ {
item_id: [商品ID]
item_name: [商品名]
category: [商品カテゴリ]
price: [価格]
} ]
13 identify ユーザー情報 identify user_id: [ユーザーID]
name: [名前]
email: [メールアドレス]
age: [年齢]
gender: [性別]

2. webviewの計測方法

webviewはwebページをアプリ内で表示する機能となります。一般的にすべてのページをNativeで作っているケースは少なく、webviewを活用したアプリが大半となりますので、KARTE For Appをご契約いただいたアプリ内にwebviewが存在するか事前にご確認ください。
例えば、ヘルプページ、カートページ、購入完了ページ等はWebViewで作られていることが多くあります。

対応種類

  • iOS 9.0 以降のWKWebView
  • Android 5.0 以降のandroid.webkit.WebView
  • 対応外の種類について
    • 対応種類以外(UIWebView等)については動作保証対象外となります。動作するものもありますが、対応種類でのご利用を推奨しています。

設定

  • javascriptを有効にする必要があります。
  • 接客の内容によっては、localStorageを有効にする必要があります。

webview内のページにKARTEの計測タグがある場合

webviewが読み込むURLに特定のクエリを付加することで、アプリの行動としてユーザの行動を紐付けることができます。クエリがついたURLをwebviewが読み込むことにより、下記の処理が行われ、KARTEタグ(web)で送っているフィールドはすべてそのまま送られるため実装する必要はありません
– 紐付け前/後のWebView内のユーザの行動が、アプリ内の行動と紐づく。
– tracker.jsが発行する全イベントの_sourceフィールドにnative_app_webviewが付く
– tracker.jsが自動発行するreqイベントにapp_infoのフィールドが付く
実装方法はこちらをご参照ください。

webview内のページにKARTEの計測タグがない場合

アプリ内ブラウザでのみ利用可能なKARTE計測タグの発行が可能です。
この場合アプリ内イベント送信処理は実装せず、webviewで閲覧されるウェブページ内への計測タグ設置及びイベント送信処理が必要となります。
(計測タグの発行手順は、別途ご案内しますので弊社担当までお問い合わせください)

(非推奨)webviewのページ遷移時に、アプリ内でトラッキングする場合には、webページからはURLとtitleのみ取得可能になります。

3. プッシュ通知

プッシュ通知はFCM(Firebase Cloud Messaging)経由で配信するため、FCMのSDKを入れて、FCMトークンをKARTEにお送りする必要があります。(トラッキングとポップアップのみであれば、FCM SDKは必要ありません)
ユーザーの行動や属性に基づき柔軟にセグメントを行い、送信することが可能となり、またABテストや効果測定なども容易に実施ができます。また、スタンダードなテキストベースのプッシュ通知のほか、画像などを活用したリッチ通知(iOSは別途実装が必須)にも対応しています。

KARTEにおけるプッシュ通知送信の仕組み

  • FCMのAPIは、FCM HTTP v1 APIをご使用ください

設定

  • Firebase側での設定
    • プロジェクトの作成
    • APNs認証キーをFirebaseに登録(FCMからiOSデバイスに通知するために必要)外部リンク
    • Google API Consoleにて Firebase Cloud Messaging API を有効化
    • 外部リンクにアクセスし、Firebaseを利用しているプロジェクトが選択されていることを確認し、APIを有効
  • Karte側でFCM HTTP v1 APIを利用する設定
    • グローバルナビゲーション>プラグイン設定 > KARTE for App から初期設定4.
    • FCMのサーバーキーをKARTEに登録(KARTEからFCMに通信するために必要)
    • プロジェクトID 設定 > 全般 > プロジェクト に記載されています。
    • 秘密鍵 設定 > サービスアカウント > Firebase Admin SDK新しい秘密鍵の生成 から取得
  • 実装
    • FCM SDKの実装
    • KARTE SDKの実装 サポートサイト ios /android

4. 検証方法

実装したイベントがKARTEに送られているか必ず確認をお願いします。

ユーザー詳細画面

TOP画面より対象のユーザーを押下>確認したいイベントにマウスオーバーし「データを確認」を押下>「データ詳細」

タグ・イベントの設定画面

グローバルナビ一番下のアイコンを押下>「タグ・イベント設定」

自分を見つける

「native_find_myself」をいうイベントを発生させると、デフォルトのセグメント「native_find_myself発生」に追加されます。発生させた際に一番上に表示されるユーザーが自分となります。

  • iOSアプリでのイベント発生方法
    • 任意の画面を、4本指で5秒間タップし続ける
  • Androidアプリでのイベント発生方法
    • 端末を画面を下にした状態から半回転し、画面を上にする (加速度センサーで動きを検知)

アプリ内メッセージ

「native_fine_myself」のセグメントを作成し、テストで接客サービスを実際に配信して確認します

プッシュ通知

FCMトークンが紐付いているか確認し、実際に接客サービスを配信することで確認します