Маркировка на стороне сервера для мобильных приложений

Вы можете настроить свои мобильные приложения с помощью SDK Google Analytics для Firebase для работы с тегами на стороне сервера в Диспетчере тегов Google.

Маркировка на стороне сервера позволяет обрабатывать, редактировать и дополнять данные перед отправкой их в целевые продукты, такие как Google Analytics. Узнайте больше о тегах на стороне сервера .

Чтобы настроить теги на стороне сервера для мобильных приложений:

  1. Подготовьте свое приложение к добавлению тегов на стороне сервера.
  2. Настройте серверный контейнер для поддержки мобильного трафика.
  3. Включите тегирование на стороне сервера в своем ресурсе GA4.

Предварительные условия

Шаг 1. Подготовьте свое приложение к добавлению тегов на стороне сервера.

iOS

  1. Включите функцию загрузки тегов на стороне сервера и настройте собственную схему URL-адресов для режима отладки тегов на стороне сервера в файле Info.plist . Замените BUNDLE_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)
            }
        }
      }
    }
    

    UIСцена

    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 получает URL-адрес запуска от ApplicationDidFinishLaunchingNotification .

Андроид

  1. Установите последнюю версию Google Analytics for Firebase SDK.
  2. Включите sGTM, добавив следующее в файл AndroidManifest.xml приложения.

    <!-- 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 Analytics: GA4 (приложение)

Клиент – это тип ресурса Диспетчера тегов, который перехватывает определенные типы входящих запросов и генерирует события, которые можно передать в пункт назначения, например в Google Analytics 4. В этом случае HTTP-запрос — это событие Google Analytics 4, поэтому вам необходимо настроить встроенный клиент Google Analytics: GA4 (приложение). Вам понадобится только один клиент GA4 для каждого источника данных, такого как GA SDK и веб-сайт. Узнайте больше о том, как работают клиенты .

  1. В контейнере сервера перейдите в раздел «Клиенты» и нажмите «Создать» .
  2. Нажмите «Конфигурация клиента» и выберите «Google Analytics: GA4 (приложение)» .

    Изображение, показывающее вариант клиента Google Analytics: GA4 (приложение) в Диспетчере тегов.

  3. Введите имя вашего клиента и нажмите «Сохранить» .

Настройте Google Analytics: тег GA4

Чтобы отправлять данные в Google Analytics, вам необходимо создать тег Google Analytics: GA4 в серверном контейнере. Клиент анализирует входящий HTTP-запрос в объект данных события. Тег возьмет этот объект данных о событии, сопоставит его с правильным форматом, а затем отправит в Google Analytics 4.

  1. В контейнере сервера перейдите в раздел «Теги» и нажмите «Создать» .
  2. Нажмите «Конфигурация тега» и выберите «Google Analytics: GA4» .

    Изображение: настройки тега Google Analytics: GA4 в Диспетчере тегов.

По умолчанию тег унаследует все соответствующие поля и параметры от объекта данных события, созданного клиентом:

  • Если входящий запрос Google Analytics 4 проходит через клиент Google Analytics: GA4 (App) , тег наследует идентификатор приложения и параметры события.
  • Если входящие запросы Google Analytics 4 проходят через клиент Google Analytics: GA4 (веб) , тег наследует идентификатор измерения и параметры события.

Настройте триггеры для мобильного трафика

Затем вам необходимо определить, когда должен срабатывать тег GA4. Клиент Google Analytics: GA4 (приложение) анализирует входящий запрос в объект данных события, и тег унаследует его значения. Поэтому обычно вам нужно, чтобы тег активировался всякий раз, когда клиент GA4 запрашивает запрос.

Чтобы настроить триггеры:

  1. В настройках тега нажмите «Триггер» .
  2. Чтобы создать новый триггер, щелкните значок + в правом верхнем углу.
  3. Нажмите «Конфигурация триггера» , чтобы выбрать тип триггера.
  4. Выберите «Пользовательское» или «Пользовательское событие» из списка.

    • Тип триггера «Пользовательский» по умолчанию активирует тег, когда клиент на стороне сервера генерирует какое-либо событие.
    • Тип триггера «Пользовательское событие» можно использовать для активации тега по определенному имени события или событию, которое соответствует шаблону регулярного выражения.
  5. Чтобы включить список условий активации для этого триггера, например срабатывание только по данным мобильных или веб-событий, выберите «Некоторые события» .

    1. Вы увидите предварительно выбранное название события . Щелкните этот селектор и выберите «Выбрать встроенную переменную» из списка.
    2. Чтобы автоматически возвращать имя клиента, сгенерировавшего событие, выберите Имя клиента .
    3. Используйте имя клиента, который вы настроили ранее, чтобы установить соответствующее условие. Ваш триггер должен выглядеть так:

      Изображение: экран настройки триггера после создания триггера в Диспетчере тегов.

  6. Сохраните триггер и введите описательное имя. Например, вы можете использовать «Все события приложения GA4».

  7. Теперь вы должны вернуться в настройки тега с новым триггером на своем месте. Сохраните тег и введите описательное имя, например «GA4». Ваш тег должен выглядеть так:

    Изображение, показывающее тег GA4 после настройки триггера.

Предварительный просмотр вашего контейнера

Вы можете использовать Диспетчер тегов Google для предварительного просмотра и отладки серверного контейнера перед публикацией изменений. Обратите внимание, что предварительный просмотр не будет работать, пока вы не включите теги на стороне сервера в своем ресурсе GA4 .

Чтобы запросы вашего приложения запускали конфигурацию предварительной версии, вам необходимо:

  1. Выберите «Предварительный просмотр», находясь в контейнере сервера Диспетчера тегов Google.
  2. Нажмите значок «Дополнительные действия» в правом верхнем углу и выберите «Отправлять запросы из приложения» .
  3. Введите идентификатор своего приложения и нажмите «Создать QR-код» .

    Изображение, показывающее QR-код при нажатии кнопки «Создать QR-код»

  4. Отсканируйте QR-код с помощью приложения камеры вашего телефона. Продолжайте взаимодействовать со своим приложением, как обычно, для создания событий предварительного просмотра.

  5. Нажмите кнопку ОК , чтобы закрыть диалоговое окно.

Опубликуйте свой контейнер

После проверки изменений опубликуйте контейнер, чтобы эти изменения вступили в силу для всего трафика. Узнайте больше о публикации, версиях и утверждениях .

Шаг 3. Включите тегирование на стороне сервера в своем ресурсе GA4.

  1. В своем ресурсе Google Analytics 4 перейдите в раздел «Администратор» .
  2. Открытые потоки данных .
  3. Выберите конфигурацию потока вашего приложения на вкладке iOS или Android.

    Изображение: страница "Потоки данных" в GA4.

  4. Нажмите «Настроить параметры SDK» , затем «Настроить диспетчер тегов на стороне сервера» .

    Изображение, показывающее параметр «Настроить диспетчер тегов на стороне сервера» в GA4.

  5. Чтобы разрешить SDK отправлять данные измерений на URL-адрес серверного контейнера:

    1. Переключите параметр «Отправить данные в контейнер Диспетчера тегов на стороне сервера» .
    2. Скопируйте URL-адрес контейнера сервера. Вы можете найти это в Диспетчере тегов Google, выбрав «Администратор» > «Настройки контейнера» > «URL-адреса серверных контейнеров» .
    3. Выберите процент трафика, который вы хотите направить в контейнер сервера. Вы можете выбрать вариант ниже 100 %, чтобы проверить настройку и конфигурацию вашего сервера перед использованием тегов на стороне сервера для всего вашего трафика.

    Изображение, показывающее страницу конфигурации GA4.

  6. Нажмите Сохранить . SDK получит обновленный URL-адрес серверного контейнера и направит на него данные измерений.

Известные ограничения

  • Для приложений Android:

    • Чтобы избежать потенциальных уязвимостей безопасности, связанных с серверными контейнерами и службами Google Play, события будут проходить через прокси-сервер без отслеживания состояния между SDK и вашим серверным контейнером. Этот прокси-сервер проверит источник и конечную точку запроса, но не будет проверять и хранить какие-либо данные о событиях. В соответствии с тем, как GA4 собирает данные с устройств, находящихся в ЕС , прокси-сервер будет находиться в ЕС для трафика из ЕС.
    • Автоматически регистрируемые покупки в приложении зависят от интеграции с серверной частью Google Play и не отправляются в серверный контейнер.
    • Событие app_remove не будет сообщаться на Android.
  • Подключение потоков данных вашего приложения в Google Analytics к вашей учетной записи Google Рекламы по-прежнему необходимо, чтобы обеспечить импорт данных вашего SDK и конверсий в Google Рекламу. Размещение тегов на стороне сервера не обеспечивает какой-либо внутренней интеграции между вашим SDK и Google Рекламой.

API

Вы можете использовать REST API Диспетчера тегов для доступа к данным конфигурации Диспетчера тегов. Для получения дополнительной информации об API: