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

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(アプリ)クライアントをセットアップする

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

  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 アナリティクス 4 クライアントがそれをもとにイベントデータ オブジェクトを生成し、その値がタグに引き継がれます。そのため、通常は、GA4 クライアントがリクエストを要求するたびにタグを配信することをおすすめします。

トリガーをセットアップする手順は次のとおりです。

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

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

    1. [イベント名] が選択された状態で表示されます。そのセレクタをクリックし、リストから [組み込み変数を選択します] を選択します。
    2. イベントを生成したクライアントの名前を自動的に返すには、[クライアント名] を選択します。
    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 をコピーします。これは、Google タグ マネージャーの [管理] > [コンテナの設定] > [サーバー コンテナの URL] で確認できます。
    3. サーバー コンテナにルーティングするトラフィックの割合を選択します。すべてのトラフィックにサーバーサイド タグ設定を使用する前に、100% 未満のオプションを選択して、サーバーのセットアップと構成を検証できます。

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

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

既知の制限事項

  • Android アプリの場合:

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

API

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