今回 iOS/Android版のデモアプリに対して上記を組み込みしましたので、それについて簡単に書きます。

モバイルアプリ用 Google Tag Manager について

https://www.google.com/intl/ja/analytics/tag-manager/

Google タグマネージャと Google のモバイル デベロッパー向けプラットフォーム Firebase を組み合わせると、マーケティング チームと開発チームの連携がかつてないほど容易になります。たとえば、デベロッパーは Firebase 向け Google アナリティクス のイベントを使用し、アプリのほとんどの操作をトラッキングできます。一方、マーケティング担当者はタグマネージャの使いやすい管理画面からイベントに修正を加え、Firebase 向け Google アナリティクス、Google アナリティクス、Kochava、Tune、Adjust などの分析ソリューションにイベントを転送することもできます。Google タグマネージャの更新内容はインストール済みのアプリに送信されるので、測定機能の設定を動的に更新できます。

アプリへの組み込み

iOSアプリへの組み込み

Androidアプリへの組み込み

Firebase Analytics で自動的に記録されるイベント

Firebase Analytics は、アプリ独自のイベントトラッキング処理の実装なしでイベントやプロパティを自動でログ送信する機能があります。

自動で記録されるイベントやパラメータはこちら: https://support.google.com/firebase/answer/7061705?hl=ja

Screen Shot 2018-02-01 at 18.37.50.png

Firebase Analytics で自動的に収集されるイベントを使った場合は、アプリのコードで定義しているクラス名がスクリーンクラスとして送信されました。

上記のスクリーンショットは参考のために貼りましたが、アプリ独自のイベントトラッキングを実装した後のものなので色々と表示されています。

web view をたくさん使っているアプリでは、共通のweb view画面が表示されたことはわかりますが、アプリ内のどの画面が開かれたのかを判別することはできません。この場合は、アプリ独自でイベントトラッキング処理を実装する必要がありそうです。

iOSアプリへの組み込み手順とGTMの設定

GTM経由でGoogleアナリティクスへのスクリーントラッキングをiOSアプリへ実装しました。その時の対応内容を順を追って書きます。

Firebase SDK をインストールします

  • ブラウザから Firebase 管理画面 https://console.firebase.google.com/ を開いてプロジェクトを作成します (バンドル ID を入力する必要があります)

  • Firebase 管理画面から GoogleService-Info.plist をダウンロードしてXcodeプロジェクトルートに追加します

Screen Shot 2018-03-01 at 15.16.50.png

  • Podfile に下記を追加して pod install します

    pod 'Firebase/Core'
    
  • Xcodeプロジェクトを開いて Firebase の起動処理を追加します

UIApplicationDelegate: に Firebase module をインポートします

import Firebase

application:didFinishLaunchingWithOptions: メソッドに FirebaseApp shared instance を設定します

FirebaseApp.configure()

Google Tag Manager を追加します

  • Podfile に下記を追加して pod install します

    pod 'GoogleTagManager', '~> 6.0'
    
  • ブラウザから Tag Manager 管理画面 https://tagmanager.google.com/ を開いてコンテナを作成します (SDK バージョンは Firebase(iOS版)を選択します)

  • Tag Manager 管理画面のトップナビゲーションバーからバージョンを開いて、アクション>ダウンロードからコンテナファイル(json)をダウンロードし、Xcodeプロジェクトに追加します

Screen Shot 2018-03-01 at 15.15.36.png

ロギングを実装します

Google Tag Manager は Fireabse Analytics のイベントやパラメータを使います。

今回は下記のようにしてカスタムイベントを送信します。

Analytics.logEvent("open_screen", parameters: [
    "screen_name": self.screenName
    ])

Google Tag Manager のコンテナに変数を追加します

  • カスタムパラメータのイベントパラメータキーには、上記のロギングで指定した screen_name を入力します

Screen Shot 2018-03-01 at 15.42.47.png

Google Tag Manager のコンテナにトリガーを追加します

Screen Shot 2018-03-01 at 15.44.18.png

Google Tag Manager のコンテナにタグを追加します

Screen Shot 2018-03-01 at 15.46.53.png

コンテナを公開します

上記の内容を保存したら画面右上の公開ボタンを押します。公開すると、最新のコンテナファイル(json)をダウンロードできますので、先ほど追加したコンテナファイル(json)と差し替えます。

デバッグロギング

  • デバッグロギングを有効にするには -FIRAnalyticsDebugEnabled を起動時変数に追加します

  • シュミレータからアプリをアンインストールしてから実行します(実機からの実行だとうまく動作しませんでした)

  • 以下のようにログが表示されます

    2018-03-01 16:02:52.487689+0900 Prototype[93594:3549898] GoogleTagManager info: Sending universal analytics hit: {...}
    
  • すると Google アナリティクスのリアルタイムに表示されます

Screen Shot 2018-03-01 at 16.34.08.png

  • また、FirebaseのDebugViewにも表示されます

Screen Shot 2018-03-01 at 16.34.52.png

※ Google Tag Manager、Firebase では新しいSDKが随時公開されていますので、実装の際は最新の情報を参照しましょう。