ネイティブアプリ領域で必要なデータ連携設定(アプリ計測)
ネイティブアプリ領域の計測を行う際は、Google Analytics for Firebase (以下Firebase) SDK をお客様アプリに導入し、必要に応じてlogEvent()/logEventWithName()メソッドでFirebaseのカスタムイベント取得の実装を行い、そちらをUSERGRAM側の計測設定と紐づける必要がございます。
Firebaseの計測データとUSERGRAMのデータの関係
Firebaseで計測され、BigQueryにエクスポートされたデータは、Firebaseイベント1つに対してパラメータやユーザプロパティ等の付加情報がついている、親子関係のような構造となっています。
USERGRAMでは、基本的にFirebaseのイベント1つを行動の1単位としており、原則としてFirebaseのイベント名をもとにデータの種類(PV、コンバージョン等)を判定します。(データの種類によっては、特定の名前のイベントパラメータやユーザプロパティ等も判定に使われることがあります)
また、Firebaseイベントに付加されるイベントパラメータやユーザプロパティを元に、USERGRAMの行動データに付加される属性情報やサービスIDなども判定・取得しています。
Firebase側設定
イベントログの連携設定
データの判定の概要
BigQueryにエクスポートされたアプリ行動データは、Firebaseのイベント1つごとに1行となっています。USERGRAMでは、データを1行分ずつ取り出してその中の各フィールドを確認し、下記のような情報を抽出して各種レポート画面へ出力します。
- スクリーンの閲覧
- イベント(※1)
- コンバージョン
- 起動
- アプリ削除(Androidのみ)
また、上記のデータのうち一部では、属性やサービスIDを合わせて取得することもできます。
※1: ここでのイベントとはFirebaseのイベントではなく、USERGRAMで表示する行動データの一種です。詳しくは「Google Analytics for Firebase・BigQueryによるデータ計測の概要」の記事をご覧ください。
ただし、USERGRAMの画面に行動データとして表示されるためには、それぞれのデータの判定基準を満たすことが必要です。
USERGRAMでは基本的にFirebaseのイベント1つを行動の1単位としており、原則としてFirebaseのイベント名をもとにデータの種類(PV、コンバージョン等)を判定します。(データの種類によっては、特定の名前のイベントパラメータやユーザプロパティ等も判定に使われることがあります)
そのため、Firebaseイベント名が誤っているとUSERGRAMの画面に表示されません。また、異なる行動として区別したいものには、必ず異なるFirebaseイベント名を付与する必要があります。
さらにそれぞれの詳細は、この後の項目を参照してください。
スクリーンの閲覧
Firebaseの計測データが「スクリーンの閲覧」データと判定されるためには、以下の条件を満たす必要があります。
- 計測したいスクリーンが開かれたときに、スクリーン名 (screen_name) をオプションパラメータとして付与して「screen_view」イベントを手動計測する
Firebaseではscreen_viewのイベントを手動計測するときに、スクリーン名をオプションパラメータとして含めることができます。 スクリーン名は100文字以内です。
USERGRAMでは、screen_viewイベントかつfirebase_screenパラメータ (※注) が存在するときに、データをスクリーンの閲覧とみなし、firebase_screenパラメータの値をスクリーン名として使います。このfirebase_screenパラメータは、デフォルトでは計測されません。 ※注 screen_nameという名前でイベントパラメータで取得すると、SDK内部でfirebase_screenという名前に変換されます
そのため、 screen_viewのイベントを手動計測するときにスクリーン名をオプションパラメータとして指定しなかった場合、USERGRAMではスクリーンの閲覧とみなされませんのでご注意ください。
具体的な実装方法については、 Firebaseのドキュメントをご覧ください。
※setScreenName()およびsetCurrentScreen()を用いてスクリーン名をセットしscreen_viewのイベントを自動計測する方法は非推奨となったため、上記の手動計測の実装を行うようにしてください
イベント・コンバージョン
USERGRAMのイベントデータ
Firebaseの計測データが、USERGRAMで計測すべきイベントデータと判定されるためには、以下の条件を満たす必要があります。
- USERGRAMの [システム設定] > [アプリ計測に関する設定] > [計測対象アプリ設定]から、計測対象となるアプリの「イベント設定」に連携元パラメータを登録する
- Firebaseで計測されたイベント名が、上記連携元パラメータと一致している
例えば、USERGRAM上でアプリ計測の「イベント設定」に、以下のような登録が1件のみあるとします。(イベント設定画面での登録方法は、 下記の章をご覧ください)
計測状況 | イベント名 | 連携元パラメータ |
計測中 | ボタンタップ | button_tap |
このとき、Firebaseで計測されたデータに対しては以下のように判定が行われます。
- 計測データのFirebaseイベント名が”button_tap” -> USERGRAMで登録した連携元パラメータと合致するので、USERGRAM上ではイベントデータ(ボタンタップ)とみなされる
- 計測データのFirebaseイベント名がそれ以外 -> USERGRAMで登録した連携元パラメータと合致しないので、USERGRAMではイベントデータとはみなされない
USERGRAMでは、最大20種類(Web計測を併用する場合は40種類)のイベントを設定し、それぞれに任意のFirebaseイベントを割り当てることが可能です。割り当てを行ったFirebaseのイベントは、USERGRAM側でのイベントデータに読み替えられてUSERGRAMへ連携されます。
コンバージョンデータ
Firebaseの計測データが、USERGRAMでのコンバージョンデータと判定されるためには、以下の条件を満たす必要があります。
- USERGRAMの [システム設定] > [アプリ計測に関する設定] > [計測対象アプリ設定]から、計測対象となるアプリの「コンバージョン設定」に連携元パラメータを登録する
- Firebaseで計測されたイベント名が、上記連携元パラメータと一致している
例えば、アプリ計測での「コンバージョン設定」に、以下のような登録が1件のみあるとします。(コンバージョン設定画面での登録方法は、 下記の章をご覧ください)
計測状況 | コンバージョン名 | 連携元パラメータ |
計測中 | 資料請求 | get_brochure |
このとき、Firebaseで計測されたデータに対しては以下のように判定が行われます。
- 計測データのFirebaseイベント名が”get_brochure” -> USERGRAMで登録した連携元パラメータと合致するので、USERGRAMではコンバージョンデータ(資料請求)とみなされる
- 計測データの Firebaseイベント名がそれ以外 -> USERGRAMで登録した連携元パラメータと合致しないので、USERGRAMではコンバージョンデータとはみなされない
USERGRAMでは、最大20種類(Web計測を併用する場合は40種類)のコンバージョンを設定し、それぞれに任意のFirebaseイベントを割り当てることが可能です。割り当てを行ったFirebaseのイベントは、USERGRAM側のコンバージョンに読み替えられてUSERGRAMへ連携されます。
コンバージョン・イベント属性について
必須ではありませんが、USERGRAMでコンバージョンやイベントとともに「コンバージョン・イベント属性」を表示させたい場合、以下の条件を満たす必要があります。
- USERGRAMの [システム設定] > [アプリ計測に関する設定] > [計測対象アプリ設定] から、計測対象となるアプリの「コンバージョン・イベント属性設定」に連携元パラメータを登録する
- Firebaseで計測されたデータが、USERGRAMでイベントまたはCVとみなされている
- その際、Firebaseの当該イベントと共に計測されたイベントパラメータまたはユーザプロパティに、上記連携元パラメータと一致したパラメータ名・プロパティ名がある
上記3つの条件を全て満たすと、当該パラメータ・プロパティの値が、コンバージョン・イベント属性の値として使われます。
例えば、「コンバージョン・イベント属性設定」に以下のような登録が1件のみあるとします。(コンバージョン・イベント属性設定画面での登録方法は、 下記の章をご覧ください)
- コンバージョン・イベント属性設定画面
計測状況 | コンバージョン・イベント属性 | 連携元パラメータ |
計測中 | 都道府県 | prefecture |
また、アプリ計測のイベント設定・コンバージョン設定は、先程と同様にそれぞれ以下の1件のみあるとします。
- イベント設定画面
計測状況 | イベント名 | 連携元パラメータ |
計測中 | ボタンタップ | button_tap |
- コンバージョン設定画面
計測状況 | コンバージョン名 | 連携元パラメータ |
計測中 | 資料請求 | get_brochure |
このとき、Firebaseで計測されたデータのコンバージョン・イベント属性判定は以下のように行われます。
- まず、Firebaseで計測されたデータのイベント名が”button_tap”または”get_brochure”であることが前提。これら以外の場合、USERGRAMではイベントともコンバージョンともみなされず、属性の判定も行われない。
- そのうえで、計測データのイベントパラメータ・ユーザプロパティを見て判定を行う。
- イベントパラメータの中に、パラメータ名: prefecture, 値: 東京都 というパラメータがある -> パラメータ名がUSERGRAMのコンバージョン・イベント属性設定画面で登録したものと一致するので、「都道府県」属性の値が「東京都」となる
- ユーザプロパティの中に、プロパティ名: prefecture, 値: 京都府 というプロパティがある -> パラメータ名がUSERGRAMのコンバージョン・イベント属性設定画面で登録したものと一致するので、「都道府県」属性の値が「京都府」となる
- いずれもない -> USERGRAMでは属性なしのイベントまたはコンバージョンとして表示される
USERGRAMでは、最大10種類(Web計測を併用する場合は20種類)のコンバージョン・イベント属性を設定し、それぞれに任意のFirebaseイベントパラメータまたはユーザプロパティを割り当てることが可能です。 割り当てを行った値は、USERGRAM側のコンバージョン・イベント属性の値に読み替えられてUSERGRAMへ連携されます。アプリ独自のイベントやパラメータを連携したい場合は独自のユーザプロパティ値やカスタムイベントを作成し、イベントおよびイベント属性として取得する値をFirebaseイベントログへ記録するように実装を行ってください。
なお、計測を行う際は以下の点に注意してください。
- イベントパラメータ・ユーザプロパティ両方で同じ名前のものがある場合、イベントパラメータの方を優先します。
- ユーザプロパティを使って計測を使う場合、当該プロパティはそれ以降の計測データ全てに付与されます。そのため、USERGRAM上では、以降のイベントやコンバージョン全てに当該の属性が表示されることになります。これはFirebaseの仕様によるものです。
- Firebaseの仕様では、ユーザプロパティは「そのユーザに紐づく静的な属性」を計測するためのものとされています。ユーザプロパティを使って計測を行う場合は、値が変わる頻度の低い属性をセットするようにしてください。
- 特定の行動時のみ値を計測したい場合や、値が頻繁に変わる場合は、ユーザプロパティではなくイベントパラメータを利用することを推奨します。
起動
「プッシュ通知により起動」「リンクにより起動」「初回起動」の3種類の起動イベントを取得できます。
プッシュ通知により起動
「プッシュ通知により起動」をUSERGRAMで表示する方法は、 プッシュ通知を送る際にFirebase Cloud Messagingを使っているかどうかによって異なります。
Firebase Cloud Messagingを使っている場合
Firebase Cloud Messaging経由のプッシュ通知であれば、ユーザがプッシュ通知を開封したタイミングで、Firebase SDKによって自動でプッシュ通知開封イベントが計測されます。USERGRAMでもこのイベントをプッシュ通知開封とみなすので、アプリに追加で実装を加える必要はありません。ただし、Firebase SDK バージョンの 4.x.x の場合、iOSアプリにおける自動取得には対応していません(Androidアプリの場合のみ対応)。
また、USERGRAMでは、プッシュ通知を一意に識別する文字列として「ラベル」という属性を表示できます。これは、Firebase Cloud Messagingのプッシュ通知作成画面で「通知名(省略可)」欄に値を入力した場合、その値が使われます。(「タイトル欄」ではないことにご注意ください)
Firebase Cloud Messagingを使っていない場合
Firebase Cloud Messaging以外の方法でプッシュ通知を送信している場合、USERGRAMではプッシュ通知開封を以下のように判定します。
- 計測されたFirebaseイベントの名前が”ug_open_notification” であるとき、プッシュ通知開封とみなす
- 上記を満たしたうえで、Firebaseイベントパラメータに”notification_name”というパラメータがあるとき、その値を「ラベル」属性として表示する
このため、プッシュ通知からの起動が行われたタイミングで ug_open_notification というイベント名のFirebaseカスタムイベントが計測されるよう、アプリに実装を追加する必要があります。 notification_nameパラメータを使う場合、プッシュ通知を一意に識別できるような値を入れてください。一意に識別できない値の場合、計測はできますが、USERGRAMでの絞り込みの際に他のプッシュ通知も該当してしまう可能性があります。
リンクにより起動
ここでいう「リンク」とは、webブラウザ上でタップすると自動的にアプリを開くことができるものです。また、ユーザがアプリをインストールしていなかった場合、アプリストアに遷移させ、インストール後のアプリ起動を計測できる種類のリンクもあります。お使いのリンクの詳細は、各リンクのドキュメントをご確認ください。
「リンクにより起動」をUSERGRAMで表示する方法は、 リンクをFirebase Dynamic Linksで作成したかどうかによって異なります。
Firebase Dynamic Linksを使っている場合
Firebase Dynamic Links経由のリンク起動であれば、ユーザがリンク経由でアプリを起動したタイミングで、Firebase SDKによって自動でリンク起動イベントが計測されます。USERGRAMでもこのイベントをリンク起動とみなすので、アプリに追加で実装を加える必要はありません。
また、USERGRAMではリンク起動の「source」「medium」「campaign」を属性として取得できます。これは、Firebase Dynamic Linksのリンク作成画面で、それぞれ「キャンペーン ソース (utm_source)」「キャンペーン メディア (utm_media)」「キャンペーン名(utm_campaign)」欄に値を入力した場合、その値が使われます。
なお、Firebase Dynamic Links コンソール画面で値を指定しなかった場合、デフォルト値として以下の値が計測されます。
- source … 文字列 "firebase"
- medium … 文字列 "dynamic_link"
- campaign … Firebase Dynamic Linksコンソール画面で指定した「ダイナミックリンク名」の値
Firebase Dynamic Linksを使っていない場合
Firebase Dynamic Links以外の方法でリンクを使用している場合、USERGRAMではリンク起動を以下のように判定します。
- 計測されたFirebaseイベントの名前が”ug_link_app_open” であるとき、リンク起動とみなす
- 上記を満たしたうえで、Firebaseのイベントパラメータに”link_name” “link_value”というパラメータがあるとき、その値をそれぞれ「link_name」「link_value」属性として表示する
このため、リンクからの起動が行われたタイミングで ug_link_app_open というイベント名のFirebaseカスタムイベントが計測されるよう、アプリに実装を追加する必要があります。
また、link_name, link_valueパラメータを使う場合は、それぞれ以下のような値を入れてください。Firebase Dynamic Linksを使う場合とは計測できる属性が異なりますのでご注意ください。
- link_name … リンクを一意に識別できる文字列
- link_value … リンクとともに計測したい任意の文字列
link_nameに一意に識別できない値を入れた場合、計測はできますが、USERGRAMでの絞り込みの際に他のリンク起動も該当してしまう可能性があります。
初回起動
Firebaseイベントログに含まれる下記のデータを「初回起動」として扱います。
- first_open イベント
上記イベントはユーザがアプリをインストール後 / 再インストール後に初めて起動したタイミングで記録されます。 また、自動でFirebaseのイベントログとして記録されますので、アプリに変更を加える必要はありません。
※Firebase SDKが初回起動を検知するタイミングによっては、USERGRAMの観察画面上で初回起動が最初の行動にならないこともあります。
アプリ削除(Androidのみ)
Firebaseのイベントログに含まれる下記のデータを「アプリ削除」として扱います。この機能はAndroidのみに対応しています(iOSアプリには非対応)。
- app_remove イベント
上記イベントは自動でFirebaseのイベントログへ記録されますので、アプリに変更を加える必要はありません。
※Firebase SDKがアプリ削除を検知するタイミングによっては、USERGRAMの観察画面上でアプリ削除が最後の行動にならないこともあります。
サービスID
Firebaseイベントログに下記のいずれかの値が含まれる場合、その値を「サービスID」として扱います。以下のうち複数のものが含まれる場合、1->2->3の順で優先されます。
- ug_service_id イベントパラメータの値(※1)
- ug_service_id ユーザプロパティの値
- user_id の値(※2) (※3)
サービスIDは、IDの値をキーにしてUSERGRAM上でユーザを特定する目的や、異なるプラットフォーム間(アプリとWebなど)のユーザ行動を一人の行動として統合するために用います。後者のユーザ統合を行うには、 各プラットフォームでそれぞれ同じサービスIDの値を取得する必要があります。 同じユーザ(端末)に対して異なるサービスIDの値が付与された場合、サービスIDごとに別々のユーザとして扱われてしまいますので、ユーザ(端末)ごとに必ず同一の値が付与されるようご注意ください。
なお、USERGRAMではアプリごと・端末ごとに固有の値である user_pseudo_id をユーザ識別子として用いてアプリ計測を行いますので、同一アプリ内に限り、サービスIDを取得しなくてもユーザ行動を正しく計測できます。(ただし、アプリを削除 -> 再インストールするとuser_pseudo_idが変わるので、再インストール後の行動も紐付けたい場合はサービスIDを取得する必要があります)
※1: ug_service_idパラメータは、Google Analytics for Firebaseのカスタムイベントに対して手動で設定する必要があるため、自動で計測されるGoogle Analytics for Firebaseのイベントには設定できません。 そのため、 ug_service_idパラメータを計測できるのは、USERGRAMにおいてコンバージョン・イベントおよび(手動での)スクリーン閲覧を計測したいタイミングのみです。それ以外のタイミングでサービスIDを計測したい場合は、ug_service_idプロパティやuser_idをご利用ください。
※2: user_idは、イベントパラメータやユーザプロパティとは別にFirebaseで計測できるデータの1つで、任意の値をセットすることができます。 サービスIDとして計測したい値をuser_idとしてセットすることで、値を継続的に記録することができます。iOSではsetUserID()メソッド、AndroidではsetUserId()メソッドを使って値をセットできます。詳しくは Firebaseのドキュメントを参照してください。
※3: user_id をすでに別用途で利用している場合は、ug_service_id イベントパラメータか ug_service_id ユーザプロパティをご利用ください。user_id を利用していない場合は、3 つのうちお客様実装のご都合がよいものをお選びください。
USERGRAM側設定
計測項目を設定する
Firebase で計測したイベントを最終的に USERGRAM に反映させるには、USERGRAMにて以下の設定を行う必要がございます。
- USERGRAM側に登録されたコンバージョン名と、Google Analytics for Firebase(以下Firebase)で計測するFirebaseのカスタムイベント名とを紐付ける
- USERGRAM側に登録されたイベント名と、Firebaseで計測するFirebaseのカスタムイベント名とを紐付ける
- USERGRAM側に登録されたコンバージョン・イベント属性名と、Firebaseで計測するFirebaseのイベントパラメータ名またはユーザプロパティ名とを紐付ける
本設定につきましては、Web 計測(WebView計測を含む)を行っている(あるいは行う予定)かどうかで作業内容が変わってきます。 それぞれの手順を以下に示しますので、 お客様の計測状況にあったものをご参照ください。
設定の際には、データ連携元であるFirebaseのパラメータ名と、コンバージョン/コンバージョン・イベント属性/イベントを紐付ける必要がございます。「連携元パラメータ」という設定項目を設けていますので、そちらにFirebaseのパラメータ名をご入力ください。
Webとネイティブアプリの両方を計測する場合
Web+アプリ契約のお客様が計測項目の設定をする場合、 Web計測で利用中のコンバージョン、コンバージョン・イベント属性、イベントを利用します。
従いまして、アプリ計測の項目設定をする前に、 Web計測での必要な設定をお済ませください。
Web計測の項目設定につきましてはこちらをご参照ください。
Web計測のコンバージョン、イベント、コンバージョン・イベント属性、の準備が整いましたら、
以下のように設定を進めてください。
コンバージョンポイントの設定
- 右上人アイコンより、[システム設定] > [アプリ計測に関する設定] > [計測対象アプリ設定]を選択します
- データ連携を設定するアプリをクリックします(右表のアプリ名のリンク or 左ナビ)
- 「コンバージョン設定」をクリックします(右表 or 左ナビ)
- 「コンバージョンを新規登録」をクリックします
- 紐づけするWebコンバージョンを「コンバージョン」から選択します
- 「連携元パラメータ」を入力し、「確認」をクリックします
- 確認画面にて「登録」をクリックします
イベントの設定
- 右上人アイコンより、[システム設定] > [アプリ計測に関する設定] > [計測対象アプリ設定]を選択します
- データ連携を設定するアプリをクリックします(右表のアプリ名のリンク or 左ナビ)
- 「イベント設定」をクリックします(右表 or 左ナビ)
- 「イベントを新規登録」をクリックします
- 紐づけするWebイベントを「イベント」から選択します
- 「連携元パラメータ」を入力し、「確認」をクリックします
- 確認画面にて「登録」をクリックします
コンバージョン・イベント属性の設定
- 右上人アイコンより、[システム設定] > [アプリ計測に関する設定] > [計測対象アプリ設定]を選択します
- データ連携を設定するアプリをクリックします(右表のアプリ名のリンク or 左ナビ)
- 「コンバージョン・イベント属性設定」をクリックします(右表 or 左ナビ)
- 「属性を新規登録」をクリックします
- 紐づけするWebコンバージョン・イベント属性を「コンバージョン・イベント属性」から選択します
- 「連携元パラメータ」を入力し、「確認」をクリックします
- 確認画面にて「登録」をクリックします
ネイティブアプリのみ計測する場合
コンバージョンポイントの設定
- 右上人アイコンより、[システム設定] > [アプリ計測に関する設定] > [計測対象アプリ設定]を選択します
- データ連携を設定するアプリをクリックします(右表のアプリ名のリンク or 左ナビ)
- 「コンバージョン設定」をクリックします(右表 or 左ナビ)
- 「コンバージョンを新規登録」をクリックします
- 「コンバージョン」を入力します
- 新規に追加する場合は、「新しいコンバージョン名を追加する」を選択し、コンバージョン名を入力します
- 既存のものを使用する場合は、「既存のコンバージョン名を使用する」を選択し、プルダウンから使用するものを選択します
- 「連携元パラメータ」を入力し、「確認」をクリックします
- 確認画面にて「登録」をクリックします
イベントの設定
- 右上人アイコンより、[システム設定] > [アプリ計測に関する設定] > [計測対象アプリ設定]を選択します
- データ連携を設定するアプリをクリックします(右表のアプリ名のリンク or 左ナビ)
- 「イベント設定」をクリックします(右表 or 左ナビ)
- 「イベントを新規登録」をクリックします
- 「イベント」を入力します
- 新規に追加する場合は、「新しいイベントを追加する」を選択し、イベント名を入力します
- 既存のものを使用する場合は、「既存のイベントを使用する」を選択し、プルダウンから使用するものを選択します
- 「連携元パラメータ」を入力し、「確認」をクリックします
- 確認画面にて「登録」をクリックします
コンバージョン・イベント属性の設定
- 右上人アイコンより、[システム設定] > [アプリ計測に関する設定] > [計測対象アプリ設定]を選択します
- データ連携を設定するアプリをクリックします(右表のアプリ名のリンク or 左ナビ)
- 「コンバージョン・イベント属性設定」をクリックします(右表 or 左ナビ)
- 「属性を新規登録」をクリックします
- 「コンバージョン・イベント属性」を入力します
- 新規に追加する場合は、「新しいコンバージョン・イベント属性名を追加する」を選択し、コンバージョン・イベント属性名を入力します
- 既存のものを使用する場合は、「既存のコンバージョン・イベント属性名を使用する」を選択し、プルダウンから使用するものを選択します
- 「連携元パラメータ」を入力し、「確認」をクリックします
- 確認画面にて「登録」をクリックします