モバイルアプリ向けのサーバーサイド タグ設定

Firebase 向け Google アナリティクス SDK を使用してモバイルアプリを設定すると、Google タグ マネージャーのサーバーサイド タグ設定と連携できます。

サーバーサイド タグ設定では、データを Google アナリティクスなどの宛先サービスに送信する前に、データのステージング、削除、拡張を行うことができます。詳しくは、サーバーサイド タグ設定についての記事をご覧ください。

モバイルアプリのサーバーサイド タグ設定をセットアップする手順は次のとおりです。

  1. サーバーサイド タグ設定に対応するようにアプリを準備する
  2. モバイル トラフィックをサポートするようにサーバー コンテナを構成する
  3. GA4 プロパティでサーバーサイド タグ設定を有効にする

前提条件

ステップ 1: サーバーサイド タグ設定に対応するようにアプリを準備する

iOS

  1. Info.plist ファイルで、サーバーサイド タグ設定のアップロード機能を有効にし、サーバーサイド タグ設定のデバッグモードのカスタム URL スキームを設定します。次の BUNDLE_ID をアプリのバンドル ID に置き換えます。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    ...
            <key>CFBundleURLTypes</key>
            <array>
                    <dict>
                            <key>CFBundleTypeRole</key>
                            <string>None</string>
                            <key>CFBundleURLName</key>
                            <string>BUNDLE_ID</string>
                            <key>CFBundleURLSchemes</key>
                            <array>
                                    <string>tagmanager.sgtm.c.BUNDLE_ID</string>
                            </array>
                    </dict>
            </array>
            <key>GOOGLE_ANALYTICS_SGTM_UPLOAD_ENABLED</key>
            <true/>
    </dict>
    </plist>
    
  2. デバッグモードまたはプレビュー モードを有効にするには、ライフサイクル メソッドで Analytics.handleOpen(_:) の呼び出しを追加して、起動 URL を渡します。

    SwiftUI

    @main
    struct MyApplication: App {
      var body: some Scene {
        WindowGroup {
          ContentView()
            .onOpenURL { url in
              Analytics.handleOpen(url)
            }
        }
      }
    }
    

    UIScene

    class SceneDelegate: UIResponder, UIWindowSceneDelegate {
    func scene(_ scene: UIScene, willConnectTo session: UISceneSession,
            options connectionOptions: UIScene.ConnectionOptions) {
    ...
        if let urlContext = connectionOptions.urlContexts.first {
            let url = urlContext.url
            Analytics.handleOpen(url)
        }
      }
    }
    

    SwiftUI または UIScene を使用していないアプリの場合、対応は必要ありません。SDK は ApplicationDidFinishLaunchingNotification から起動 URL を受け取ります。

Android

  1. Firebase 向け Google アナリティクス SDK の最新のリリースをインストールします。
  2. アプリの AndroidManifest.xml ファイルに次の行を追加して、sGTM を有効にします。

    <!-- Preview Activity to enable preview mode –->
      <activity
          android:name="com.google.firebase.analytics.GoogleAnalyticsServerPreviewActivity"
          android:exported="true"
          android:noHistory="true" >
        <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
          <data android:scheme="tagmanager.sgtm.c.<APP_PACKAGE_ID>" />
        </intent-filter>
      </activity>
    
    <!-- Meta-data that enables uploads to sGTM –->
      <meta-data android:name="google_analytics_sgtm_upload_enabled" android:value="true" />
    

ステップ 2: モバイル トラフィックをサポートするようにサーバー コンテナを構成する

次のセクションでは、既存のサーバーサイド タグ設定のデプロイがあり、そのコンセプトを理解していることを前提としています。サーバーサイド タグ設定を初めて使用する場合は、サーバーサイド タグ設定の基礎コースを受講することをおすすめします。

Google アナリティクス: GA4(アプリ)クライアントをセットアップする

クライアントはタグ マネージャーのリソースタイプのひとつで、コンテナに届いた特定の種類のリクエストからイベントを生成し、送信先(たとえば Google アナリティクス 4)に受け渡す役割を持ちます。この場合、HTTP リクエストは Google アナリティクス 4 のイベントなので、コンテナにあらかじめ組み込まれている「Google アナリティクス: GA4(アプリ)」クライアントの設定を調整して使用します。GA SDK やウェブサイトなどのデータソースごとに 1 つの GA4 クライアントが必要です。詳しくは、クライアントの仕組みをご覧ください。

  1. サーバー コンテナで、[クライアント] に移動し、[新規] をクリックします。
  2. [クライアントの設定] をクリックし、[Google アナリティクス: GA4(アプリ)] を選択します。

    タグ マネージャーの [Google アナリティクス: GA4(アプリ)] クライアント オプションを示す画像

  3. クライアントの名前を入力して、[保存] をクリックします。

Google アナリティクス: GA4 タグを設定する

Google アナリティクスにデータを送信するには、サーバー コンテナ内に「Google アナリティクス: GA4」タグを作成する必要があります。コンテナに HTTP リクエストが届くと、クライアントがパースしてイベントデータ オブジェクトを生成します。タグは、このイベントデータ オブジェクトを取得し、適切な形式にマッピングして、Google アナリティクス 4 に送信します。

  1. サーバー コンテナで、[タグ] に移動し、[新規] をクリックします。
  2. [タグの設定] をクリックし、[Google アナリティクス: GA4] を選択します。

    タグ マネージャーでの Google アナリティクス: GA4 タグの設定を示す画像

デフォルトでは、タグの関連フィールドおよびパラメータはすべて、クライアントが作成したイベントデータ オブジェクトから引き継がれます。

  • コンテナに届いた Google アナリティクス 4 リクエストが「Google アナリティクス: GA4(アプリ)」クライアントで処理される場合、タグにはアプリ ID とイベント パラメータが引き継がれます。
  • コンテナに届いた Google アナリティクス 4 リクエストが「Google アナリティクス: GA4(ウェブ)」クライアントを通過すると、タグには測定 ID とイベント パラメータが引き継がれます。

モバイル トラフィックのトリガーを設定する

次に、GA4 タグを配信するタイミングを決めます。コンテナにリクエストが届くと、Google アナリティクス: GA4(アプリ)クライアントがそれをもとにイベントデータ オブジェクトを生成し、その値がタグに引き継がれます。そのため、通常は GA4 クライアントがリクエストを要求するたびにタグが配信されるようにします。

トリガーを設定する手順は次のとおりです。

  1. タグの設定で、[トリガー] をクリックします。
  2. 新しいトリガーを作成するには、右上の + アイコンをクリックします。
  3. [トリガーの設定] をクリックして、トリガーのタイプを選択します。
  4. リストから [カスタム] または [カスタム イベント] を選択します。

    • カスタム トリガー タイプは、サーバーサイド クライアントがイベントを生成するたびに、そのイベントの種類を問わずタグを配信するのがデフォルト動作です。
    • カスタム イベント トリガー タイプを使用すると、特定のイベント名または正規表現パターンに一致するイベントでタグを配信できます。
  5. モバイルまたはウェブのイベントデータでのみ発動するなど、このトリガーの発動条件のリストを有効にするには、[一部のイベント] を選択します。

    1. [イベント名] がデフォルトで選択されています。プルダウン メニューをクリックして、[組み込み変数を選択します] を選択します。
    2. イベントを生成したクライアントの名前を自動的に返す Client Name を選択します。
    3. 先ほど構成したクライアントの名前を使用して、条件を適切に設定します。トリガーは次のようになります。

      タグ マネージャーでトリガーを作成した後の [トリガーの構成] 画面を示す画像

  6. トリガーを保存し、わかりやすい名前を入力します。たとえば、「すべての GA4 アプリ イベント」などです。

  7. 再びタグの設定画面が表示され、トリガーの欄には新規作成したトリガーが加わっているはずです。タグを保存します。わかりやすい名前を付けておきましょう(「GA4」など)。タグは次のようになります。

    トリガーを設定した後の GA4 タグの画像

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

Google タグ マネージャーを使用すると、変更を公開する前にサーバー コンテナをプレビューしてデバッグできます。プレビューは、GA4 プロパティでサーバーサイド タグ設定を有効にするまで機能しません。

アプリのリクエストでプレビュー構成をトリガーするには、次の操作を行う必要があります。

  1. Google タグ マネージャーのサーバー コンテナで、[プレビュー] を選択します。
  2. 右上にある [その他の操作] アイコン をクリックし、[アプリからリクエストを送信] を選択します。
  3. アプリ ID を入力して [QR コードを生成] をクリックします。

    [QR コードを生成] をクリックしたときに QR コードが表示される画像

  4. スマートフォンのカメラアプリで QR コードをスキャンし、プレビュー イベントを生成する場合と同様に、アプリを操作します。

  5. [OK] をクリックしてダイアログを閉じます。

コンテナを公開する

変更を確認したら、コンテナを公開して、すべてのトラフィックにその変更を反映します。詳しくは、公開、バージョン作成、承認をご覧ください。

ステップ 3: GA4 プロパティでサーバーサイド タグ設定を有効にする

  1. Google アナリティクス 4 プロパティで、[管理] に移動します。
  2. [データ ストリーム] を開きます。
  3. [iOS] タブまたは [Android] タブで、アプリのストリーム構成を選択します。

    Google アナリティクス 4 の [データ ストリーム] ページを示す画像

  4. [SDK の設定を構成する]、[サーバーサイド タグ マネージャーを設定する] の順にクリックします。

    GA4 の [サーバーサイド タグ マネージャーを設定する] オプションを示す画像

  5. SDK が測定データをサーバー コンテナの URL に送信できるようにするには:

    1. [タグ マネージャーのサーバーサイド コンテナにデータを送信する] を切り替えます。
    2. サーバー コンテナの URL をコピーします。この URL は、Google タグ マネージャーの [管理] > [コンテナの設定] > [サーバー コンテナの URL] で確認できます。
    3. サーバー コンテナに転送するトラフィックの割合を選択します。100% 未満のオプションを選択して、すべてのトラフィックにサーバーサイド タグ設定を使用する前に、サーバーの設定と構成を検証できます。

    GA4 の [設定] ページを示す画像

  6. [保存] をクリックします。SDK は更新されたサーバー コンテナ URL を取得し、測定データをその URL に転送します。

既知の制限事項

  • Android アプリケーションの場合:

    • 自動的に記録されるアプリ内購入は、Google Play バックエンドとの統合に依存しており、サーバー コンテナには送信されません。
    • Android では app_remove イベントはレポートされません。
  • SDK のデータとコンバージョンを Google 広告にインポートするには、Google アナリティクスのアプリデータ ストリームを Google 広告アカウントに接続する必要があります。サーバーサイド タグ設定では、SDK と Google 広告の間の固有の統合は提供されません。

API

タグ マネージャー REST API を使用すると、タグ マネージャーの設定データにアクセスできます。API の詳細については、以下をご覧ください。