Help us understand the problem. What is going on with this article?

【Firebase Analytics】Universal Links/App Linksでアプリを起動した回数が知りたい

はじめに

※仕様が変更される場合もあるので、必ず公式のマニュアルを参照しましょう!

導入:Universal Links/App Linksとは

本記事ではあまり詳細に説明しませんが、ざっくり説明すると、Webとアプリ(iOS,Android)に対応しているサービスにおいて、Webの特定のURLにアクセスすると、下記のような動作をする仕組みのことです。

  • アプリがインストールされている場合→アプリが起動する
  • アプリがインストールされていない場合→Webページが開かれる

iOSではUniversal Links, AndroidではApp Linksと呼ばれています。
実装方法などは公式のドキュメントをご覧ください。
Universal Links - Apple Developer
Android アプリリンクの処理  |  Android Developers

結論:Universal Links/App Linksでアプリを起動したとき、firebase_campaignというイベントが自動計測される

いきなり結論ですが、Firebase Analyticsにおいて、Universal Links/App Linksでモバイルアプリを起動したときのイベントは、firebase_campaign というイベント名で計測されます。

実は公式のドキュメントをちゃんと読むとしっかり書いてあります。

ユニバーサル リンクは、utm パラメータ(utm_source、utm_medium、utm_campaign)を含めるように設定することができます。関連データは [アトリビューション] レポートに表示されます。

ユニバーサル リンクの例:

http://my.app.link?utm_campaign=myappcampaign&utm_source=google&utm_medium=cpc

ユーザーがリンクをクリックすると、firebase_campaign イベントが上記のパラメータとともに記録され、キャンペーン関連のイベントについては次のデータが表示されます。

キャンペーン: myappcampaign
参照元: google
メディア: cpc
https://support.google.com/firebase/answer/6317518?hl=ja

上記はUniversal Linksについてですが、App Linksについても同様のイベント名で集計されています。

Android App Links は、utm パラメータ(utm_source、utm_medium、utm_campaign)を含めるように設定することができます。関連データは [アトリビューション] レポートに表示されます。

Android App Link の例

http://example.com/gizmos?utm_campaign=myappcampaign&utm_source=google&utm_medium=cpc

ユーザーがリンクをクリックすると、firebase_campaign イベントが上記のパラメータとともに記録され、キャンペーン関連のイベントについては次のデータが表示されます。

キャンペーン: myappcampaign
参照元: google
メディア: cpc

このfirebase_campaignイベントは、Firebase Analytics側で自動的に集計されるイベントのひとつのようなので、Firebase Analyticsが導入されていればモバイルアプリ側で特別になにか実装をしなければならないということはありません。

ちなみにfirebase_campaignイベントで自動で記録されるパラメーターは source、medium、campaign、term、content、gclid、aclid、cp1、anid だそうです。
https://support.google.com/firebase/answer/7061705?hl=ja

firebase_campaignイベントの内容はどこから確認できるのか?

それでは、このイベントによって集計された値はどこから確認できるのでしょうか? ドキュメントには関連データは [アトリビューション] レポートに表示されます。と記載されています。

Eventsレポートからは確認できない

サイドバーにある[Events]をクリックすると集計された各イベントの回数やパラメータ等を確認できるのですが、ここにはfirebase_campaignという名前のイベントは表示されていませんでした。

スクリーンショット 2019-12-05 21.30.03.png
※実際の数値等は隠しています

Conversionsレポートでコンバージョンイベントに紐づく参照元として確認できた

サイドバーにある[Conversions]をクリックすると、コンバージョンイベントのレポート結果を閲覧できます。

例えばデフォルトでコンバージョンイベントとして用意されている first_open(アプリ初回起動)イベントを選択すると、画面下部あたりにそのコンバージョンイベントの参照元が表示されています。
この「参照元」パラメータが、firebase_campaignイベントで集計されたutm_sourceの値だと思われます(違っていたら申し訳ありません…)

スクリーンショット 2019-12-05 21.37.44.png
※実際の数値等は隠しています

その他のFirebaseコンソール画面を調べてみたのですが、これ以外の画面でfirebase_campaignイベントの計測結果を確認できる箇所が見つかりませんでした :scream:

この画面が[アトリビューション] レポートなのでしょうか?どの画面が該当の画面なのか、筆者にはわかりませんでした…。もしご存じの方がいれば、コメント等で教えていただけると大変喜びます :pray:

しかし、この画面からは純粋な「モバイルアプリを起動した回数」を特定することができません…。

BigQuery経由でfirebase_campaignイベントを集計してみた

いろいろ調べてみたのですが、Firebaseコンソール画面上でfirebase_campaignイベントの内容を確認する方法がわかりませんでした :cry:
ですが、BigQueryからFirebase Analyticsの生データを分析できるので、そこから結果を確認することができました。

Firebase Analyticsで集計されたイベントの生データは、BigQuery経由でアクセスすることができます。
具体的な連携方法等は公式のドキュメントや他の方のQiitaの記事で確認していただければと思います。
Firebase の BigQuery Export - Firebase ヘルプ

BigQueryで、前日のUniversal Links/App Links経由でモバイルアプリを起動したイベント回数を、プラットフォーム(iOS, Android)と参照元等の組み合わせで表示するクエリは下記のようになりました。
ぜひみなさんのプロジェクトでも参考にしてください :bow:

SELECT
  platform,
  (SELECT value.string_value FROM UNNEST(event_params) AS x WHERE x.key = "source") AS app_source,
  (SELECT value.string_value FROM UNNEST(event_params) AS x WHERE x.key = "medium") AS medium,
  (SELECT value.string_value FROM UNNEST(event_params) AS x WHERE x.key = "campaign") AS campaign,
  COUNT(DISTINCT user_pseudo_id) as users,
  COUNT(user_pseudo_id) as eventCount
FROM
  `{your_project}.analytics_{your_id}.events_*`,
WHERE
  PARSE_DATE("%Y%m%d", event_date) = DATE(DATETIME_ADD(CURRENT_DATETIME, INTERVAL -1 DAY))
AND
  _TABLE_SUFFIX = FORMAT_DATE("%Y%m%d", DATE(DATETIME_ADD(CURRENT_DATETIME, INTERVAL -1 DAY)))
AND
  event_name  = 'firebase_campaign'
GROUP BY 
  platform,app_source,medium,campaign
ORDER BY users desc

所感:独自のイベントを実装するのもアリかも? :pencil:

  • 本記事はFirebase Analyticsをモバイルアプリに導入した際に、Universal Links/App Linksでアプリを起動したときの自動計測イベント firebase_campaignの分析方法について紹介しました
  • firebase_campaignイベントはFirebaseコンソール画面からだと確認しづらい?かも?
  • それならばいっそ独自のカスタムイベントとして、Universal Links/App Linksでアプリを起動したときにFirebase Analyticsの集計イベントを発火させるように実装したほうが、後々集計しやすいのではないかと思いました
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした