ビジュアルトラッキングの概要
画面表示やボタンタップなどの一連の操作ログから直感的にイベント発生条件を作成し、アプリのアップデートなしで条件にマッチしたイベント発火が可能となります。
主な利用シーンとしては、以下の2つがあります。
- 静的なフィールドのみのイベントをビジュアルトラッキングで計測することで、実装コストを下げる(viewイベント等)
- イベント実装後に計測したいイベントが追加でできた場合に、追加実装やアプリのリリースなしでイベントを追加する
ご使用される場合にはプラグインが必要のため、営業担当にお問い合わせください。
事前準備
アプリの実装を行う
iOSとAndroidそれぞれでビジュアルトラッキングを有効にするための実装が必要です。
実装方法は下記を参照ください。
新規イベントをビジュアルトラッキングする
画面閲覧イベントをビジュアルトラッキングで計測したい場合は、新たにイベントを作成するのではなく、viewイベントに発生条件を追加する形で指定をお願いします。手順は以下をご確認ください。
デバイスと管理画面をペアリングする
イベント発生条件の作成元となる操作ログを管理画面に送信するため、
デバイスと管理画面のペアリングを以下の手順で行います。
- イベント作成ボタンをクリック後、ビジュアルイベントを選択
- URLスキームの編集ボタンからiOS/Android用のURLスキームを入力
(://の前までを指定。例:karte://
ではなくkarte
) - URLスキームを保存するとQRコードが生成されます
- 生成されたQRコードをデバイスで読み込み、アプリを起動
- 管理画面にペアリング中の文字が表示されればペアリング成功です
ペアリングが正常に行われない場合は、管理画面で選択しているOSと端末のOSに相違がないか?、ビジュアルトラッキングのモジュールが正常にインストールされているか?をご確認ください。またAndroid端末のカメラアプリでQRコードが読み込め無い場合は別のQRコード読み取りアプリなどでペアリングをお試しください。
操作ログからイベント発火条件を作成する
ペアリング中のデバイスの操作ログからイベント発生条件を作成します。
- ペアリング状態のまま、デバイスで計測をしたい操作を行う(例:アイテムをカートに追加する)
- 管理画面に次々と操作ログが流れていきます
- イベント発生条件に使いたい操作ログのチェックボックスにチェックをいれる
- イベント名、イベント表示名などのイベントの詳細情報を編集する
- 編集が完了後、保存ボタンをクリックしてイベント定義を保存する
イベント発火条件を編集する
- 作成済みのイベント定義の編集ボタンをクリックする
- 「保存済のイベント発火条件」を開き発火条件を編集する
- 発生条件の値と条件をそれぞれ変更して保存する
条件の詳細はイベント発生条件についてを参照ください
ビジュアルイベントの動作確認をする
- アプリ上で何らかのイベントを発火させる(イベント発生条件はtrackのレスポンスに付与されるため)
- アプリ上で作成済みのイベント発生条件にマッチする操作を行う
- ユーザー詳細画面で発火したイベントを確認する(新規発生のイベントは表示に30秒ほどかかります、表示されない場合はブラウザをリロードしてください。)
- ユーザー詳細画面で、該当イベントのデータを「データを確認する」からご覧いただき、閲覧イベント(viewイベント)の、
_systems
フィールドのauto_track
が 1 に等しければ、ビジュアルイベントが正しく送信されています
既存イベントをビジュアルトラッキングする
新規にビジュアルイベントを作成するだけでなく、既存のイベントもビジュアルトラッキングすることができます。
viewイベントをビジュアルトラッキングする
基本的な手順はビジュアルトラッキングの設定方法と同様です。
閲覧イベントの編集ボタンをクリックします。
QRコードを端末で読み取り、KARTEとペアリングします。
端末で計測したいviewイベントに対応する操作(画面表示)を行い、KARTE画面上に表示される目的の操作ログを編集(viewイベントの場合、発生条件のフィールドへview_nameとtitleの指定は必須)し、保存します。
既存のカスタムイベントの発生条件をビジュアルトラッキングで追加する
発生条件を追加したいカスタムイベントの詳細画面で、右上の編集ボタンをクリック。以下キャプチャにある通り、種別のプルダウンでビジュアルトラッキングを選択し、QRを読み取ります。以降は上記と同様の手順で操作します。
イベント発生条件について
イベント発生条件の構成要素
イベント発生条件は以下要素で構成されます。
アクション名は編集不可、発生条件とフィールドは編集可能です。
- アクション名
- アプリ上で行った操作の名称(例:touch)
- 発生条件
- target_text:アクションの対象テキスト(ボタンの場合はボタンタイトルなど)
- view:アクション発生元のview
- view_controller/activity:アクション発生元のViewControllerまたはActivity
- action_id:アクションが発生したViewを一意に識別するための文字列(SDK v2以降で利用可能)
- フィールド
- イベント発火時に一緒に送信されるフィールド
- 特に閲覧イベントを設定する際は、「view_name」と「title」のフィールドの手動設定が必須
所謂画面と対応するものが ViewController(またはActivity)です。ViewControllerは複数のViewの表示や挙動をコントロールするものです。また、その画面を構成する要素(ボタンやラベル)のことをViewと呼びます。(詳細の説明は、各OSのドキュメントを参照下さいませ。)
viewとview_controller(またはactivity) および、手動で設定するフィールド(viewであれば view_name やtitle)の組み合わせで、どの画面で発生したイベントかを判別可能にしています。
発生条件と操作のマッチの仕方
発生条件値とのマッチ条件に「に等しい」「と異なる」「から始まる」「を含む」「で終わる」が選択可能です。(例:target_textの値を「購入」、マッチ条件を「を含む」とした場合、「xxを購入」、「購入済みのxx」などのtarget_textにマッチします。)
発生条件には、action、target_text、view、view_controller/activity、action_id(SDK v2以降で利用可能)があり、発生条件のすべての値がユーザーの操作とマッチした場合(AND条件)にイベントが発火します。
複数の発生条件がある場合
発生条件は複数定義することが可能です。複数の発生条件のうち、一つでもユーザーの操作がマッチした場合(OR条件)イベントが発火します。
イベント発生条件がアプリに反映されるタイミング
イベント発生条件は全イベントの送信のレスポンスに付与されます。
尚、イベント発生条件に更新がある時だけレスポンスに付与され、メモリ上に保持されます。
ビジュアルイベントを識別する方法
ビジュアルイベントでは、イベントフィールドの _system.auto_track
が 1
となっているため、こちらで識別が可能です。
動的フィールド(Beta)の設定方法
ビジュアルトラッキングはでは静的なフィールドだけではなく、実行中のアプリのUIから動的にテキストを探索してイベントにフィールドを付与することができます。
この機能を使うことでタップされた商品のタイトルをフィールドとして付与するなどのユースケースに対応することができます。(対象はペアリング中にタップして操作ログが送信できるUIに限ります。)
動的フィールド機能はVisualTrackingモジュール(iOSは2.7.0以上、Androidは2.6.0以上)を導入済みの場合に利用できます。(ブリッジSDKでは利用できません。)
動的フィールド機能 は現在 Beta 版として提供しております。そのため、今後予告なく仕様変更を伴う機能改善やAPIの破壊的変更が行われる可能性があります。
設定手順
ビジュアルイベント作成後のデバイスとのペアリング手順はデバイスと管理画面をペアリングすると同様です。
ペアリング後は以下の手順で動的フィールドを設定します。
動的フィールドを取得するUIを探すためのアクションIDを取得する
ペアリング状態のまま、デバイスで計測をしたい操作を行う(例:アイテムをカートに追加する)
管理画面に次々と操作ログが流れていきます
動的フィールドを取得したいUIが含まれる操作ログを探し開きます
「条件を追加」をクリックします。
条件末尾のaction_idを選択した後、条件値に自動入力されるアクションID(UIView8..などのように画面名と数字で構成された値)をコピーします
先程追加したaction_idを条件から削除します(条件にaction_idを使う際はそのままで問題ありません。)
動的フィールドをイベント発生条件に追加する
- 動的フィールドを追加したいビジュアルイベントの発火条件を開きます
- 必要な発火条件を操作ログからイベント発火条件を作成する 参考に設定します
- 「動的フィールド」 > 「フィールドを追加」からフィールドを追加します
- 追加されたフィールドに任意のフィールド名を入力します
- 追加されたフィールドのアクションIDの部分に先程コピーしたアクションIDをペーストして保存します。(保存が上手くできない場合は一度ペアリングを解除してください。)
- アプリ上で任意のイベントを送信すると動的フィールドを含んだ条件がアプリに反映されますので確認を行ってください。
動的フィールド利用時の注意点
- 利用にあたっては誤って個人情報を送信しないよう十分にご注意ください
- 操作ログとして取得できるUIのみ動的フィールドに指定できます
- イベントの発火条件にマッチしたとき画面上に存在するUIのみフィールドを取得できます
- APIなどで取得数が可変なリストの各行などは一貫して同じ値が取得できない場合があります、スクロール後にも同じ値が取得できるかを動作確認時に検証してください
- 当機能はネイティブSDKでのみご利用いただけます(FlutterなどのブリッジSDKでは利用できません)
注意点
- ビジュアルイベントを作成できるのは、管理者権限を持つアカウントのみです。
- アプリの仕様上、取得できない操作ログがあります。
- iOSとAndroidのイベント発生条件は別々に指定する必要があります。
- iOSとAndroidで取得できる操作ログの内容は異なります。AndroidでUIタップ時の操作ログを取得するにはアプリ側でonClick等の処理が実装されており、SDKで定義済みのクリック操作に含まれる操作である必要があります。
- WebView内の操作はビジュアルトラッキングのサポート対象外です。
- 対象の端末にインストールされているアプリにて、ビジュアルトラッキング対応のKARTE SDK(v1.6.0以降)が導入されたものではない場合は、ビジュアルイベントが発生しないことにご注意下さいませ。例えば、ゴールイベントとしてビジュアルイベントを設定した際、ビジュアルトラッキング未対応のアプリからのゴールは測定されないことになります。
- アプリの作りが変わると、イベント発生条件が変わりイベントが発生しなくなるケースがあります。アプリの作りが変わった場合にはビジュアルトラッキングで設定したイベントが発生しているかご確認いただき、発生していなければ条件の編集をしていただく必要があります。
- 条件欄のプルダウンで表示される選択肢の候補は、計測された最初の10件の値が表示されます(ただしロジックとして最初の10件を取得する仕様にあえて指定しているわけではないため必ずしも最初の10件ではない、ランダムな値が入る場合もあります)。候補として表示されない場合はイベント名を直接入力ください。