inFablic

Fablic開発者ブログ

Firebaseのスクリーントラッキング機能を使い、イベントの発生画面を分析する

f:id:shoby:20170613172906p:plain

こんにちは。shobyです。

今回はひっそりとFirebaseに追加されていたスクリーントラッキング機能を使い、イベントの発生画面を分析する方法をご紹介します。

皆さんは、Firebaseにスクリーントラッキング機能がついていたことをご存知でしょうか?

このスクリーントラッキング機能を使えば、イベントの発生画面などを分析することができ、アプリの改善に役立てることができます。

概要

  • Firebseのスクリーントラッキングとは
  • Google Analyticsのスクリーン機能との違い
  • イベント発生画面の集計
  • Firebaseのスクリーントラッキングの活用例

Firebseのスクリーントラッキングとは

スクリーン名を記録できる機能です。 Firebase iOS SDKの3.8.0、Android SDKの9.8以降であれば、UIViewControllerやActivityのサブクラスの名前が自動で記録されるようになっています。

Google Analytics SDKのスクリーン計測とは異なり、専用のクラスを継承する必要もなく、完全に自動でスクリーン名を記録してくれます。

また、手動でスクリーンを計測することもできます。

詳細はこちらをご覧ください。

Track Screenviews  |  Firebase

Google Analyticsのスクリーン機能との違い

Firebaseのスクリーントラッキング機能は、Google Analyticsの物とはいくつか異なる点があります。 一番大きな違いは、スクリーン名がイベントに付属するパラメータとして計測される点です。 「イベントが発生した画面が記録される」と言い換えても良いかと思います。

具体的には、記録した各イベントに対し、firebase_screen_class というパラメータが自動で付与され、そこにスクリーン名が記録されます。

このパラメータはあらゆるイベントに関して自動で記録されており、例えばview_itemというイベントを記録していたとすると、そのイベントがどの画面で発生したのかfirebase_screen_classパラメータを使って分析することができます。

また、イベント記録していない場合でも、各画面を開くごとに user_engagement というイベントが自動で記録され、そのパラメータに firebase_screen_class が保存されます。

イベント発生画面の分析

2017/6/13 現在、Firebase Analyticsの管理画面上では、 user_engagement という自動計測イベント、もしくは firebase_screen_class を使った集計をすることができません。*1

そのため、BigQueryを使って集計する必要があります。

FirebaseとBigQueryを使ったログ集計については、こちらの記事をご参照ください。

view_itemというイベントが発生したクラスを特定するクエリは以下のような形です。

SELECT
  event_dim.params.value.string_value as screen_name,
  COUNT(event_dim.params.value.string_value) AS view_count
FROM your_table_name
WHERE event_dim.name = 'view_item' 
  AND event_dim.params.key = 'firebase_screen_class'
GROUP BY screen_name
ORDER BY view_count DESC

Firebaseのスクリーントラッキングの活用例

Google Analyticsのスクリーントラッキングはコンバージョン率の測定に用いることが多い機能でしたが、 Firebaseのスクリーントラッキングは、上記のようにイベントの発生画面の特定に役立つ機能です。

具体的には、上のクエリのようにview_itemイベントの発生画面を特定したり、sign_upイベントの発生画面を特定するのに役立つと思います。*2

おそらく今後、Firebase Analytics管理画面の改善で、コンバージョン率の測定にも利用することができると思います。

まとめ

Firebaseのスクリーントラッキング機能を使うことで、イベントの発生画面を特定できます。 SDKを利用するだけで自動で計測されており、自動、手動問わず、あらゆるイベントのパラメータにスクリーン名が記録されています。 現状はBigQueryを用いて集計する必要がありますが、アプリの改善に役立ちます。

*1:イベントのパラメータレポートも使いましたがうまく集計できませんでした

*2:余談ですが、Firebaseにはview_itemやsign_up、shareといったよく使われるであろうイベント名がデフォルトで定義されているため、そちらを使うのをおすすめします