2.7 アプリ計測の導入

Firebase を使ったアプリの計測とウェブとの統合を学びます。
入門書籍換算 約 10 ページ

この章で学ぶこと

  • Firebase と GA4 の関係
  • iOS / Android アプリに GA4 を導入する流れ
  • アプリで自動的に収集されるイベント
  • ウェブとアプリを同じプロパティで見るときのポイント
  • User-ID を使ったクロスデバイス計測の考え方

ポイント この章は、スマホアプリを運営している、またはこれから運営する人向けです。ウェブサイトだけを計測する場合は、読み飛ばして次の章に進んでもかまいません。

Firebase と GA4 の関係

Firebase は、Google が提供するアプリ開発のためのプラットフォームです。データベース、認証、プッシュ通知、クラッシュ レポートなど、アプリ開発に必要な機能をまとめて提供しています。

アプリに GA4 を導入するときは、Firebase の SDK(アプリに組み込むためのプログラムのまとまり)を使います。Firebase の Google アナリティクス機能で集めたデータは、GA4 のプロパティに送られ、ウェブのデータと同じように GA4 のレポートで見ることができます。

iOS アプリ ─┐
            ├─ Firebase SDK ─→ Firebase プロジェクト ─(リンク)─→ GA4 プロパティ
Android アプリ ┘                                                       ↑
ウェブサイト ─────────── Google タグ ───────────────────────────────┘
用語役割
Firebase プロジェクトアプリの開発・運用のための単位。GA4 のプロパティとリンクする
Firebase アプリプロジェクトの中に登録した iOS / Android のアプリ
Firebase SDKアプリに組み込むプログラム。計測やその他の機能を提供する
アプリ データストリームGA4 側から見た、アプリのデータの入口

iOS / Android アプリの導入概要

アプリへの導入は、アプリの開発者が行う作業です。ここでは、GA4 の担当者が全体の流れを理解しておくための概要を紹介します。

導入の流れ

  1. Firebase プロジェクトを作る:Firebase コンソール(console.firebase.google.com)でプロジェクトを作成し、Google アナリティクスを有効にする。このとき、既存の GA4 プロパティとリンクするか、新しく作るかを選ぶ
  2. アプリを登録する:プロジェクトに iOS アプリ(バンドル ID)と Android アプリ(パッケージ名)を登録する
  3. 設定ファイルを組み込む:iOS は GoogleService-Info.plist、Android は google-services.json をダウンロードし、アプリのプロジェクトに追加する
  4. SDK を組み込む:Firebase の Analytics SDK をアプリに追加し、初期化のコードを書く
  5. 動作を確認する:DebugView でイベントが届くかを確認する

アプリを登録すると、GA4 のプロパティに アプリ データストリーム が自動的に作られます。

アプリのデバッグ

アプリでも、DebugView を使ってイベントを確認できます。アプリをデバッグ モードにするには、開発環境で起動オプションを指定します。

# Android(adb コマンド)
adb shell setprop debug.firebase.analytics.app <パッケージ名>

# iOS(Xcode のスキームの起動引数に追加)
-FIRDebugEnabled

注意 アプリは、ストアで公開したバージョンを利用者が更新するまで、新しい計測が反映されません。ウェブのように「タグを直せばすぐに反映」とはいかないので、リリース前に計測の内容を十分に確認しておくことが大切です。

アプリ固有の自動収集イベント

Firebase SDK を組み込むと、アプリ特有のイベントが自動的に収集されます。主なものを紹介します。

イベント名タイミング
first_openアプリをインストール後、初めて起動したとき
session_startアプリのセッションが始まったとき
screen_view画面が切り替わったとき(ウェブの page_view にあたる)
user_engagementアプリが前面に表示されている間、定期的に
app_updateアプリが新しいバージョンに更新され、起動されたとき
app_removeアプリが削除されたとき(Android のみ)
os_update端末の OS が更新されたとき
in_app_purchaseアプリ内課金が完了したとき(ストアとの連携が必要)
notification_openFirebase Cloud Messaging の通知を開いたとき

ウェブとアプリでは、同じ意味の行動でもイベント名が異なるものがあります。

意味ウェブアプリ
初めての訪問・起動first_visitfirst_open
ページ・画面の表示page_viewscreen_view
ページ・画面の識別page_location、page_titlefirebase_screen、firebase_screen_class

GA4 のレポートでは、「表示回数」のように両方をまとめて数える指標や、「ページ タイトルとスクリーン クラス」のように両方をまとめて表示するディメンションが用意されています。

ウェブとアプリを同じプロパティで見る

ウェブとアプリの両方を 1 つのプロパティで計測すると、レポートには両方のデータが合算されて表示されます。

プラットフォームで分けて見る

ウェブとアプリを分けて見たいときは、プラットフォーム または ストリーム名 のディメンションを使います。

  • レポートの「比較を追加」で、プラットフォームが「web」「iOS」「Android」の比較を作る
  • 探索レポートで、「プラットフォーム」や「ストリーム名」を行に追加する

イベント名とパラメータをそろえる

ウェブとアプリで同じ行動を計測するときは、イベント名とパラメータ名をそろえる ことが重要です。たとえば、ウェブでは purchase、アプリでは order_complete という名前で購入を計測すると、レポートで合算できません。

推奨イベント(purchase、sign_up、login など)は、ウェブとアプリの両方で同じ名前で使えるので、推奨イベントがある行動はそれを使いましょう(第 3 部)。

ポイント ウェブとアプリの開発チームが別々の場合は、計測計画書(第 1 部)を共通にして、イベント名とパラメータの命名を一元管理しましょう。

User-ID でクロスデバイス計測

ウェブとアプリを同じプロパティで計測しても、それだけでは「アプリで見て、ウェブで購入した人」を同じ人として把握することはできません。ウェブはブラウザの Cookie、アプリはアプリのインスタンス ID という、それぞれ別の識別子でユーザーを区別しているからです。

そこで使うのが User-ID です。ユーザーがログインしたときに、自社の会員 ID などをもとにした識別子を GA4 に送ることで、デバイスやプラットフォームをまたいでも同じユーザーとして扱えるようになります。

// ウェブ: ログインしているユーザーの ID を送る例
gtag('config', 'G-XXXXXXXXXX', {
    user_id: 'u_8f3a2b1c', // 会員 ID をもとにした識別子(個人情報は含めない)
});

User-ID を使うときの注意点

  • 個人情報を送らない:メールアドレスや氏名をそのまま User-ID にしてはいけない。会員番号など、それ単体では個人を特定できない値(できればハッシュ化したもの)を使う
  • ログアウト時の扱いを決める:ログアウトしたら User-ID を送らないようにする
  • プライバシー ポリシーに記載する:User-ID を使ってデバイスをまたいだ分析をしていることを明記する
  • ログインしないと効果がない:会員登録やログインの機会が少ないサイトでは、効果が限られる

User-ID の詳しい仕組みと、レポートでのユーザーの識別方法については、第 3 部の「ユーザーの識別」で解説します。

よくある質問

Q. アプリの計測に、Firebase のプロジェクトは必ず必要ですか。

A. GA4 でアプリを計測するには、Firebase の SDK(Google Analytics for Firebase)を使うのが基本で、Firebase のプロジェクトと GA4 のプロパティをリンクします。Firebase には、クラッシュの分析やプッシュ通知など、アプリの運営に役立つ機能もあるため、あわせて活用できます。

Q. アプリのデータは、どのくらいで GA4 に反映されますか。

A. アプリの SDK は、電池や通信量を節約するため、イベントを まとめて送信 します。そのため、ウェブより反映が遅れることがあります。開発中は、デバッグ モードを有効にして、DebugView でリアルタイムに確認しましょう。

Q. ウェブとアプリで、同じイベント名を使うべきですか。

A. 同じ意味の行動には、同じイベント名とパラメータ を使いましょう。たとえば、ウェブでもアプリでも、購入は purchase、会員登録は sign_up にします。そうすると、プラットフォームをまたいで、まとめて分析できます。

Q. アプリのストアからのダウンロード数は、GA4 で見られますか。

A. ストアでのダウンロードの数は、App Store や Google Play の管理画面で確認します。GA4 では、アプリの 初回起動(first_open)から計測が始まります。ダウンロード数と初回起動の数の差は、ダウンロードしたが開いていない人などを表します。

実践ワーク

ウェブとアプリの両方がある場合(または計画している場合)、次の表で、イベントの対応を整理しましょう。

行動ウェブのイベントアプリのイベント共通のパラメータキーイベントか
会員登録sign_upsign_upmethodする
ログインloginloginmethodしない
商品の閲覧view_itemview_itemitemsしない
購入purchasepurchasetransaction_id、value、currency、itemsする
(自社の行動を書き足す)

表を作っておくと、ウェブとアプリの開発者に、同じ仕様で実装を依頼できます。User-ID も、ウェブとアプリで同じ値を送るように、仕様に書いておきましょう。

まとめ

  • アプリの GA4 計測は Firebase の SDK で行い、Firebase プロジェクトと GA4 プロパティをリンクする
  • アプリには first_open や screen_view など、アプリ特有の自動収集イベントがある
  • ウェブとアプリを 1 つのプロパティで見るときは、イベント名とパラメータ名をそろえる
  • プラットフォームやストリーム名のディメンションで、ウェブとアプリを分けて見られる
  • User-ID を使うと、デバイスをまたいだ同じユーザーの行動を把握しやすくなる

次の章では、ユニバーサル アナリティクス(UA)から移行してきた人向けに、旧データの扱いや数値の違いについて整理します。