iOS 向け Google タグ マネージャー

Google タグ マネージャーでは、モバイルアプリ内の測定用のタグやピクセルの実装と管理が可能で、その際にアプリケーションのバイナリを再ビルドしてアプリ マーケットプレイスに再提出する必要もありません。Firebase 向け Google アナリティクスの SDK を使用していれば、手軽にタグ マネージャーを導入でき、実装の管理や変更がアプリの出荷後でも可能です。

また、重要なイベントをログに記録しておくことにより、どのタグやピクセルを配信するかを後で決めることができます。

前提条件

以下の各セクションでは、iOS アプリで Google タグ マネージャーを設定および使用する手順を説明していきます。

1. タグ マネージャーをプロジェクトに追加する

  1. タグ マネージャー パッケージを追加します。

    CocoaPods

    CocoaPods からタグ マネージャーを追加するには:

    1. ターミナルで次のコマンドを実行します。

      $ sudo gem install cocoapods
      
    2. プロジェクトのディレクトリに移動します。

    3. 次のコマンドを実行して、Podfile という名前のファイルを作成します。

      $ pod init
      
    4. Podfile に以下を追加します。

      pod 'GoogleTagManager', '~> 6.0'
      
    5. 次のコマンドを実行して、タグ マネージャーの依存関係をダウンロードして、プロジェクトにインストールします。

      $ pod install
      

    Swift Package Manager

    Swift Package Manager からタグ マネージャーを追加するには:

    1. CocoaPods ベースのプロジェクトから移行する場合は、pod deintegrate を実行して Xcode プロジェクトから CocoaPods を削除します。CocoaPods が生成した .xcworkspace ファイルは、後で安全に削除できます。プロジェクトに初めて Firebase を追加する場合、この手順は無視してください。
    2. Xcode 12 で、[File] > [Tag Manager Packages] > [Add Package Dependency] に移動して、タグ マネージャー ライブラリをインストールします。
    3. 表示されるプロンプトで、タグ マネージャーの GitHub リポジトリを入力します。

      https://github.com/googleanalytics/google-tag-manager-ios-sdk.git
      
    4. 使用するタグ マネージャーのバージョンを選択します。新しいプロジェクトには、タグ マネージャーの最新バージョンを使用することをおすすめします。

    5. プロジェクトの [Build Settings] の [Other Linker Flags] に -ObjC を追加します。

  2. タグ マネージャー アカウントに iOS コンテナがない場合は、次の手順で作成します。

    1. タグ マネージャー アカウントにログインします。
    2. 上部のナビゲーション バーにある [管理] をクリックします。
    3. [コンテナ] 列で、プルダウン メニューをクリックし、[コンテナを作成] を選択します。
    4. コンテナ名を入力します。
    5. [iOS] コンテナを選択します。
    6. [Firebase(iOS 版)] SDK を選択します。
    7. [作成] をクリックします。
  3. コンテナをダウンロードします。

    1. タグ マネージャー アカウントにログインします。
    2. iOS コンテナを選択します。
    3. 上部のナビゲーション バーにある [バージョン] をクリックします。
    4. 選択したコンテナ バージョンで [アクション] > [ダウンロード] をクリックします。

  4. ダウンロードしたコンテナをプロジェクトに追加します。

    1. ダウンロードしたファイルを XCode プロジェクトのルートにある container という名前のフォルダにコピーしますにコピーします(通常、PROJECT_ROOT/container/GTM-XXXXXX.json となります)。
    2. Xcode を開きます。
    3. [File] メニューから [Add files to] を選択します。
    4. container フォルダを選択します。
    5. [Options] をクリックし、[Create folder references] がオンになっていることを確認します。
    6. [Finish] をクリックします。

2. イベントと変数をログに記録する

タグ マネージャーは、Firebase 向け Google アナリティクスの SDK によって記録されたイベント、パラメータ、ユーザー プロパティを使って、Google タグ マネージャーで設定済みのタグをトリガーおよび構築します。

イベントをログに記録する方法や、ユーザー プロパティを設定する方法については、Firebase のデベロッパー向けドキュメントをご覧ください。

タグ マネージャーで変数を設定する

Google タグ マネージャーで使用するイベント パラメータとユーザー プロパティの値を取得するには、タグ マネージャーの管理画面で変数を設定します。

たとえば、アプリで次のカスタム イベントをログに記録するとします。

Analytics.logEvent("share_image", parameters: [
  "image_name": name,
  "full_text": text
])

タグ マネージャーで新しいイベント パラメータ変数を次のように設定すれば、image_namefull_text parameter の値を取得できます。

  • 変数名: Image Name
  • 変数タイプ: イベント パラメータ
  • イベント パラメータのキー名: image_name

および

  • 変数名: Full Text
  • 変数タイプ: イベント パラメータ
  • イベント パラメータのキー名: full_text

同様に、アプリで次のユーザー プロパティを設定するとします。

Analytics.setUserProperty(food, forName: "favorite_food")

Google タグ マネージャーで新しい Firebase ユーザー プロパティ変数を次のように設定すれば、favorite_food の値を取得できます。

  • 変数名: Favorite Food
  • 変数タイプ: Firebase ユーザー プロパティ
  • イベント パラメータのキー名: favorite_food

イベントを修正またはブロックする

タグ マネージャーを使用すると、Firebase 向け Google アナリティクスにログが記録される前に、イベントを変更したりブロックしたりできます。イベントを変更できると、アプリをアップデートしなくても、イベント パラメータの値の追加、削除、変更や、イベント名の調整が可能です。ブロックされていないイベントは、Firebase 向け Google アナリティクスにログが記録されます。

Firebase 向け Google アナリティクスの SDK が自動的に記録するイベントユーザー プロパティもいくつか存在します。自動収集されているイベントやプロパティは、コードを特に追加しなくても、タグ マネージャーで活用できます。ただし、ブロックすることはできません。

3. イベントを送信する

Firebase イベント名変数、Firebase イベント パラメータ変数、その他の変数が、トリガーを設定するために使用されます。トリガー条件は、Firebase イベントをログに記録するたびに評価されます。Firebase 向け Google アナリティクスのイベントは、デフォルトでは自動的に配信されます。Firebase 向け Google アナリティクスのタグをタグ マネージャーに追加すれば、イベントがアナリティクスに送信されるのをブロックすることも可能です。

4. コンテナをプレビュー、デバッグし、公開する

あるバージョンのコンテナを公開する前に、そのコンテナをプレビューして、意図したとおりに機能することを確認する必要があります。タグ マネージャーを使用すると、タグ マネージャーの管理画面でリンクと QR コードを生成し、それらを使用してアプリを開いて、各バージョンのコンテナをプレビューできます。

コンテナをプレビューする

コンテナをプレビューするには、タグ マネージャーの管理画面でプレビュー URL を生成します。

  1. タグ マネージャー アカウントにログインします。
  2. モバイル向けのコンテナを選択します。
  3. 上部のナビゲーション バーにある [バージョン] をクリックします。
  4. プレビューするコンテナ バージョンで [アクション] > [プレビュー] をクリックします。
  5. アプリのパッケージ名を入力します。
  6. [開始プレビュー リンクを作成] をクリックします。

    プレビュー URL は、タグ マネージャー管理画面のプレビュー ウィンドウで利用できます

    図 1: タグ マネージャーの管理画面からプレビュー URL を取得する。

    後の手順で使用するために、このプレビュー URL を保存しておきます。

コンテナのプレビューを有効にするには、プロジェクトのプロパティ リストでタグ マネージャーのプレビュー URL スキームを定義する必要があります。アプリのプロパティ リストファイルの [URL タイプ] で、次の URL 識別子と URL スキームを登録します。

URL identifier: _your.package.name_
URL scheme: tagmanager.c._your.package.name_
タグ マネージャーのプレビュー URL スキームをアプリのプロパティ リストファイルに登録します。
図 2: タグ マネージャーのプレビュー URL スキームをアプリのプロパティ リストファイルに追加する。

エミュレータまたは実機上でアプリを停止し、プレビュー URL を開いて、アプリでドラフト コンテナをプレビューします。

コンテナをデバッグする

シミュレータまたはプレビュー モードでアプリを実行すると、タグ マネージャーは自動的にログ記録を詳細モードに切り替えます。

コンテナを公開する

コンテナをプレビューし、機能していることを確認したら、コンテナを公開できます。コンテナを公開すると、モバイルアプリ ユーザーがお客様のタグ設定を利用できるようになります。

高度な設定をご覧ください。