Теги универсальной аналитики

Чтобы внести изменения во время выполнения вашей реализации Google Analytics, которые не требуют пересборки и повторной отправки двоичного файла вашего приложения на рынки, внедрите Universal Analytics (UA) в свое приложение с помощью Диспетчера тегов Google (GTM).

В этом руководстве показано, как использовать теги Universal Analytics и Google Tag Manager SDK для Android, чтобы:

Отправить просмотры экрана

Чтобы отправлять вид экрана каждый раз, когда в вашем приложении открывается новый экран, в Google Analytics:

  1. Создайте переменную имени экрана
  2. Создайте триггер события открытого экрана
  3. Создайте тег просмотра экрана Universal Analytics
  4. Перенести событие открытия экрана и имя экрана на уровень данных.

1. Создайте переменную имени экрана.

Чтобы создать переменную имени экрана в GTM:

  1. Войдите в свою учетную запись Диспетчера тегов Google .
  2. Выберите мобильный контейнер.
  3. На левой панели навигации нажмите Переменные .
  4. В разделе «Пользовательские переменные» нажмите «Создать» .
  5. Нажмите «Переменная без названия» , чтобы ввести экранное имя имени переменной.
  6. Выберите «Переменная уровня данных» в качестве типа переменной.
  7. Введите screenName в качестве имени переменной уровня данных и установите значение по умолчанию неизвестного экрана .
  8. Нажмите Создать переменную .

2. Создайте триггер события открытого экрана.

Чтобы создать в GTM триггер для активации тега просмотра экрана Universal Analytics :

  1. Войдите в свою учетную запись Диспетчера тегов Google .
  2. Выберите мобильный контейнер.
  3. На левой панели навигации нажмите Триггеры .
  4. Нажмите Создать.
  5. Нажмите Триггер без названия , чтобы ввести имя триггера OpenScreenEvent .
  6. Выберите Пользовательское событие.
  7. В разделе «Пожар включен» введите следующее условие:

    Триггер, который будет запущен, когда событие равно openScreen.

  8. Нажмите «Создать триггер» .

3. Создайте тег просмотра экрана Universal Analytics.

Чтобы создать тег просмотра экрана Universal Analytics, активируемый событием открытия экрана :

  1. Войдите в свою учетную запись Диспетчера тегов Google .
  2. Выберите мобильный контейнер.
  3. На левой панели навигации нажмите Теги .
  4. Нажмите Создать.
  5. Нажмите «Тег без названия» , чтобы ввести имя тега «Открыть экран» .
  6. Выберите продукт Google Analytics .
  7. Введите идентификатор отслеживания.
  8. Выберите «Просмотр приложения» в качестве типа отслеживания .
  9. Нажмите Дополнительные настройки .
  10. Нажмите «Поля для установки» .
  11. Несколько раз нажмите + Добавить поле , чтобы добавить следующие поля:

    добавьте эти поля: имя приложения, версия приложения и имя экрана.

  12. Нажмите Продолжить .
  13. В разделе «Включить огонь» нажмите «Пользовательский» .
  14. Выберите пользовательский триггер OpenScreenEvent .
  15. Нажмите Сохранить .
  16. Нажмите «Создать тег» .

4. Перенесите событие открытия экрана и имя экрана на уровень данных.

Добавьте в свое приложение код, чтобы передать событие openScreen и значение screenName на уровень данных, например:

import com.google.tagmanager.DataLayer;
import com.google.tagmanager.TagManager;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

  private static final String SCREEN_NAME = "Home Screen";
  private DataLayer mDataLayer;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate();
  }

  @Override
  public void onStart() {
    super.onStart();
    mDataLayer = TagManager.getInstance(this).getDataLayer();

    // Push an openScreen event and a screenName value to the data layer.
    // This call assumes the container has already been opened, otherwise events
    // pushed to the data layer will not fire tags in that container.
    mDataLayer.push(DataLayer.mapOf("event", "openScreen", "screenName", SCREEN_NAME));
  }
}

Отправить события

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

  1. (Необязательно) Создайте переменные событий.
  2. Создайте триггер события
  3. Создайте тег события Universal Analytics
  4. Передача значения события и переменной события на уровень данных.

Следующие шаги показывают, как событие отправляется в Google Analytics, когда пользователь начинает воспроизведение видео.

1. (Необязательно) Создайте переменные событий.

Если событие использует переменные уровня данных для представления полей категории, действия, метки или значения, сначала необходимо создать эти переменные. В этом примере тег события воспроизведения видео использует переменную уровня данных для получения названия видео.

Чтобы создать переменную имени видео в GTM:

  1. Войдите в свою учетную запись Диспетчера тегов Google .
  2. Выберите мобильный контейнер.
  3. На левой панели навигации нажмите Переменные .
  4. В разделе «Пользовательские переменные» нажмите «Создать» .
  5. Нажмите «Переменная без названия» , чтобы ввести имя переменной «имя видео» .
  6. Выберите «Переменная уровня данных» в качестве типа переменной.
  7. Введите videoName в качестве имени переменной уровня данных и установите для нее значение по умолчанию — неизвестное видео .
  8. Нажмите Создать переменную .

2. Создайте триггер события

Чтобы создать триггер события в GTM для активации тега события Universal Analytics :

  1. Войдите в свою учетную запись Диспетчера тегов Google .
  2. Выберите мобильный контейнер.
  3. На левой панели навигации нажмите Триггеры .
  4. Нажмите Создать.
  5. Нажмите «Триггер без названия» , чтобы ввести имя триггера VideoPlayEvent .
  6. Выберите Пользовательское событие.
  7. В разделе «Пожар включен» введите следующее условие:

    Триггер, который сработает, когда событие будет равно videoPlay.

  8. Нажмите «Создать триггер» .

3. Создайте тег события Universal Analytics.

Чтобы создать тег события Universal Analytics, активируемый событием воспроизведения видео :

  1. Войдите в свою учетную запись Диспетчера тегов Google .
  2. Выберите мобильный контейнер.
  3. На левой панели навигации нажмите Теги .
  4. Нажмите Создать.
  5. Нажмите «Тег без названия» , чтобы ввести имя тега «Событие воспроизведения видео» .
  6. Выберите продукт Google Analytics .
  7. Введите идентификатор отслеживания.
  8. Выберите «Событие» в качестве типа трека .
  9. Введите следующие параметры отслеживания событий:

    введите следующие параметры отслеживания: видео для категории, воспроизведение для действия и название видео для ярлыка.

  10. Нажмите Дополнительные настройки .
  11. Нажмите «Поля для установки» .
  12. Несколько раз нажмите + Добавить поле , чтобы добавить следующие поля:

    добавьте эти поля: имя приложения, версия приложения и имя экрана.

  13. Нажмите Продолжить .
  14. В разделе «Включить огонь» нажмите «Пользовательский» .
  15. Выберите пользовательский триггер VideoPlayEvent .
  16. Нажмите Сохранить .
  17. Нажмите «Создать тег» .

4. Перенесите событие и значение переменной события на уровень данных.

Напишите код для передачи события videoPlay и значения videoName на уровень данных, например:

import com.google.tagmanager.DataLayer;
import com.google.tagmanager.TagManager;

public class VideoPlayer {

  // Called when a user starts a video playback.
  public void onPlay(Video v) {
    DataLayer dataLayer = TagManager.getInstance(this).getDataLayer();

    // Push a videoPlay event and a videoName value to the data layer.
    // This call assumes the container has already been opened, otherwise events
    // pushed to the data layer will not fire tags in that container.
    dataLayer.push(DataLayer.mapOf("event", "videoPlay", "videoName", v.getName());
    play(v);
  }

  // Rest of the implementation.
  // ...
}

Отправка транзакций электронной торговли

Когда пользователь совершает покупку в приложении, чтобы отправить транзакцию и связанные с ней элементы в Google Analytics:

  1. Создайте триггер транзакции
  2. Создайте тег транзакции Universal Analytics.
  3. Передача события транзакции, транзакции и элементов на уровень данных

Список поддерживаемых имен переменных транзакций и товаров см. в разделе Поддерживаемые переменные уровня данных электронной торговли .

1. Создайте триггер транзакции

Чтобы создать триггер транзакции в GTM для активации тега транзакции Universal Analytics :

  1. Войдите в свою учетную запись Диспетчера тегов Google .
  2. Выберите мобильный контейнер.
  3. На левой панели навигации нажмите Триггеры .
  4. Нажмите Создать.
  5. Нажмите Триггер без названия , чтобы ввести имя триггера TransactionCompleted .
  6. Выберите Пользовательское событие.
  7. В разделе «Пожар включен» введите следующее условие:

    Триггер, который сработает, когда событие соответствует транзакции.

  8. Нажмите «Создать триггер» .

2. Создайте тег транзакции Universal Analytics.

Чтобы создать тег транзакции Universal Analytics, активируемый событием транзакции :

  1. Войдите в свою учетную запись Диспетчера тегов Google .
  2. Выберите мобильный контейнер.
  3. На левой панели навигации нажмите Теги .
  4. Нажмите Создать.
  5. Нажмите «Тег без названия» , чтобы ввести имя тега «Транзакция завершена» .
  6. Выберите продукт Google Analytics .
  7. Введите идентификатор отслеживания.
  8. Выберите «Транзакция» в качестве типа отслеживания .
  9. Нажмите Дополнительные настройки .
  10. Нажмите «Поля для установки» .
  11. Несколько раз нажмите + Добавить поле , чтобы добавить следующие поля:

    добавьте эти поля: имя приложения, версия приложения и имя экрана.

  12. Нажмите Продолжить .
  13. В разделе «Включить огонь» нажмите «Пользовательский» .
  14. Выберите пользовательский триггер TransactionCompleted .
  15. Нажмите Сохранить .
  16. Нажмите «Создать тег» .

3. Перенесите событие транзакции, транзакцию и элементы на уровень данных.

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

// Called when a user completes a transaction.
public void onPurchaseCompleted(Purchase p) {

  DataLayer dataLayer = TagManager.getInstance(this).getDataLayer();

  // Put maps of item data into an array to be pushed to the data layer.
  ArrayList<Map<String, String>> purchasedItems = new ArrayList<Map<String, String>>();
  for (Item i : p.items) {
    HashMap<String, String> currentItem = new HashMap<String, String>();

    currentItem.put("name", i.getProductName());
    currentItem.put("sku", i.getProductSku());
    currentItem.put("category", i.getProductCategory());
    currentItem.put("price", i.getProductPrice());
    currentItem.put("currency", "USD");
    currentItem.put("quantity", i.getProductQty());

    purchasedItems.add(currentItem);
  }

  // This call assumes the container has already been opened, otherwise events
  // pushed to the [DataLayer] data layer will not fire tags in that container.
  dataLayer.push(DataLayer.mapOf("event", "transaction",
                                 "transactionId", p.getTransId(),
                                 "transactionTotal", p.getTotal(),
                                 "transactionAffiliation", "In-app Store",
                                 "transactionTax", p.getTax(),
                                 "transactionShipping", p.getShippingCost(),
                                 "transactionCurrency", "USD",
                                 "transactionProducts", purchasedItems));

  // Because the data layer is persistent, you should reset fields to null
  // after you are done pushing the transaction.
  dataLayer.push(DataLayer.mapOf("transactionId", null,
                                 "transactionTotal", null,
                                 "transactionAffiliation", null,
                                 "transactionTax", null,
                                 "transactionShipping", null,
                                 "transactionCurrency", null,
                                 "transactionProducts", null));
}

Дополнительную информацию об использовании Google Tag Manager SDK для Android для реализации функций расширенной электронной торговли Universal Analytics см. в разделе Расширенная электронная торговля .

Поддерживаемые переменные уровня данных электронной торговли

Универсальные теги транзакций поддерживают следующие имена переменных транзакций и элементов.

Переменные транзакции

Имя переменной Описание Тип Необходимый
transactionId Уникальный идентификатор транзакции нить Да
transactionAffiliation Партнер или магазин нить Нет
transactionTotal Общая стоимость сделки нить Нет
transactionTax Сумма налога за операцию нить Нет
transactionShipping Стоимость доставки для транзакции нить Нет
transactionCurrency Валюта транзакции нить Нет
transactionProducts Список товаров, приобретенных в рамках транзакции массив, содержащий переменные элемента. Нет

Переменные элемента

Имя переменной Описание Тип Необходимый
name Наименование товара нить Да
sku Артикул продукта нить Нет
category Категория продукта нить Нет
price Цена продукта нить Нет
currency Валютный тип price нить Нет
quantity Количество предметов нить Нет

Установите атрибуцию рефералов

Если вы зарегистрируете следующую службу и приемник в файле AndroidManifest.xml , доступные данные реферера установки будут автоматически включаться во все обращения Google Analytics или запросы пикселей ремаркетинга AdWords:

<service android:name="com.google.tagmanager.InstallReferrerService" />
<receiver android:name="com.google.tagmanager.InstallReferrerReceiver" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>