Расширенные варианты использования

В этом документе описываются несколько расширенных функций Google Analytics Data API v1. Подробную информацию об API см. в справочнике по API .

Перечисление пользовательских определений и создание отчетов

API данных может создавать отчеты по зарегистрированным специальным параметрам и специальным показателям . Метод Metadata API можно использовать для получения списка имен API зарегистрированных пользовательских определений вашего Ресурса. Эти имена API можно использовать, например, в запросах отчетов к методу runReport .

В следующих разделах показаны примеры для каждого типа пользовательского определения. В этих примерах замените GA4_PROPERTY_ID на идентификатор вашего объекта .

Специальные параметры на уровне событий

Шаг 1. Запросите метод API метаданных, указав свой идентификатор свойства.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID/metadata

Шаг 2. Найдите специальный параметр на уровне событий, по которому вы хотите создать отчеты на основе ответа. Если размер отсутствует, необходимо зарегистрировать размер .

"dimensions": [
...
    {
      "apiName": "customEvent:achievement_id",
      "uiName": "Achievement ID",
      "description": "An event scoped custom dimension for your Analytics property."
    },
...
],

Шаг 3. Включите специальный параметр в запрос отчета. Ниже приведен пример запроса к методу runReport .

POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "2020-09-01", "endDate": "2020-09-15" }],
  "dimensions": [{ "name": "customEvent:achievement_id" }],
  "metrics": [{ "name": "eventCount" }]
}

Пользовательские пользовательские параметры

Шаг 1. Запросите метод API метаданных, указав свой идентификатор свойства.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID/metadata

Шаг 2. Найдите на основе ответа пользовательское измерение, по которому вы хотите создавать отчеты. Если размер отсутствует, необходимо зарегистрировать размер .

"dimensions": [
...
    {
      "apiName": "customUser:last_level",
      "uiName": "Last level",
      "description": "A user property for your Analytics property."
    },
...
],

Шаг 3. Включите специальный параметр в запрос отчета. Ниже приведен пример запроса к методу runReport .

POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
  "entity": { "propertyId": "GA4_PROPERTY_ID" },
  "dateRanges": [{ "startDate": "7daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "customUser:last_level" }],
  "metrics": [{ "name": "activeUsers" }]
}

Специальные метрики на уровне событий

Шаг 1. Запросите метод API метаданных, указав свой идентификатор свойства.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID/metadata

Шаг 2. Найдите специальную метрику на уровне событий, по которой вы хотите создать отчеты на основе ответа. Если метрики нет, необходимо зарегистрировать метрику .

"metrics": [
...
    {
      "apiName": "customEvent:credits_spent",
      "uiName": "Credits Spent",
      "description": "An event scoped custom metric for your Analytics property.",
      "type": "TYPE_STANDARD"
    },
...
],

Шаг 3. Включите специальную метрику в запрос отчета. Ниже приведен пример запроса к методу runReport .

POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "customEvent:credits_spent" }]
}

Показатели коэффициента конверсии для одной конверсии

Шаг 1. Запросите метод API метаданных, указав идентификатор вашего свойства.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID/metadata

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

"metrics": [
...
    {
      "apiName": "sessionConversionRate:add_to_cart",
      "uiName": "Session conversion rate for add_to_cart",
      "description": "The percentage of sessions in which a specific conversion event was triggered",
    },
...
],

Шаг 3. Включите показатель коэффициента конверсии в запрос отчета. Ниже приведен пример запроса к методу runReport .

POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "sessionConversionRate:add_to_cart" }]
}

Средние специальные показатели на уровне событий

Шаг 1. Запросите метод API метаданных, указав идентификатор вашего свойства.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID/metadata

Шаг 2. Найдите среднее значение специального показателя на уровне событий, по которому вы хотите создать отчеты на основе ответа. Если метрики нет, необходимо зарегистрировать метрику .

"metrics": [
...
    {
      "apiName": "averageCustomEvent:credits_spent",
      "uiName": "Average Credits Spent",
      "description": "The average of an event scoped custom metric for your Analytics property.",
      "type": "TYPE_STANDARD"
    },
...
],

Шаг 3. Включите среднее значение специального показателя в запрос отчета. Ниже приведен пример запроса к методу runReport .

POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "2020-11-01", "endDate": "2020-11-10" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "averageCustomEvent:credits_spent" }]
}

Примеры когортных отчетов

Отчеты по когортам создают временные ряды удержания пользователей для когорты. Подробную документацию по каждому полю API см. в справочнике REST для CohortSpec .

Создание когортного отчета

Вот пример когортного отчета, где:

  • Когорта — это пользователи с параметром firstSessionDate 2020-12-01 .; это настраивается объектом cohorts . Параметры и показатели в ответе отчета будут основываться только на пользователях когорты.
  • Отчет о когорте будет содержать три столбца; это настраивается объектами измерений и метрик.
    • cohort измерения — это имя когорты.
    • Измерение cohortNthDay — это количество дней с 2020-12-01
    • Метрика cohortActiveUsers — это количество активных пользователей.
  • Объект cohortsRange указывает, что отчет должен содержать данные о событиях, начиная с 2020-12-01 и заканчивая 2020-12-06 для этой когорты.
    • Если используется уровень детализации DAILY , для обеспечения единообразия рекомендуется использовать параметр cohortNthDay .

Запрос отчета для когорты:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
  "dimensions": [{ "name": "cohort" }, { "name": "cohortNthDay" }],
  "metrics": [{ "name": "cohortActiveUsers" }],
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-12-01", "endDate": "2020-12-01" }
      }
    ],
    "cohortsRange": {
      "endOffset": 5,
      "granularity": "DAILY"
    }
  },
}

Пример ответа на этот запрос:

{
  "dimensionHeaders": [
    { "name": "cohort" }, { "name": "cohortNthDay" }
  ],
  "metricHeaders": [
    { "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
  ],
  "rows": [
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
      "metricValues": [{ "value": "293" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
      "metricValues": [{ "value": "143" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
      "metricValues": [{ "value": "123" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
      "metricValues": [{ "value": "92" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0005" }],
      "metricValues": [{ "value": "86" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
      "metricValues": [{ "value": "83" }]
    }
  ],
  "metadata": {},
  "rowCount": 6
}

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

Визуализация когортных пользователей с течением времени

Множественные когорты и доля удержания пользователей

Привлечение и удержание пользователей — это способы развития вашего веб-сайта или приложения. Когортные отчеты фокусируются на удержании пользователей. В этом примере отчет показывает, что этот ресурс улучшил четырехдневное удержание пользователей на 10 % за две недели.

Чтобы создать этот отчет, мы указываем три когорты: первую с firstSessionDate 2020-11-02 , вторую с firstSessionDate 2020-11-09 и третью с firstSessionDate 2020-11-16 . Поскольку количество пользователей на вашем ресурсе в течение этих трех дней будет разным, мы сравниваем показатель доли удержания пользователей в когорте cohortActiveUsers/cohortTotalUsers , а не используем прямой показатель cohortActiveUsers .

Запрос отчета для этих когорт:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
  "dimensions": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
  "metrics": [
    {
      "name": "cohortRetentionFraction",
      "expression": "cohortActiveUsers/cohortTotalUsers"
    }
  ],
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-02", "endDate": "2020-11-02" }
      },
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-09", "endDate": "2020-11-09" }
      },
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-16", "endDate": "2020-11-16" }
      }
    ],
    "cohortsRange": {
      "endOffset": 4,
      "granularity": "DAILY"
    }
  },
}

Пример ответа на этот запрос:

{
  "dimensionHeaders": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
  "metricHeaders": [{
      "name": "cohortRetentionFraction",
      "type": "TYPE_FLOAT"
    }
  ],
  "rows": [
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.308" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.272" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.257" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.248" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.235" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.211" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.198" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.172" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.167" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.155" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.141" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.118" }]
    }
  ],
  "metadata": {},
  "rowCount": 15
}

Из ответа на этот отчет следует диаграмма для этого отчета когорты. Из этого отчета следует, что четырехдневное удержание пользователей увеличилось на 10% в течение двух недель. Более поздняя когорта с firstSessionDate 2020-11-16 превышает удержание более ранней когорты с firstSessionDate 2020-11-02 .

Диаграмма удержания нескольких когорт

Еженедельные когорты и использование когорт с другими функциями API

Чтобы устранить ежедневные различия в поведении пользователей, используйте еженедельные когорты. В еженедельных отчетах по когортам все пользователи с firstSessionDate на одной неделе образуют когорту. Недели начинаются в воскресенье и заканчиваются в субботу. Также в этом отчете мы разрезаем когорту для сравнения пользователей с активностью в России и пользователей с активностью в Мексике. В этом срезе используются измерение country и dimensionFilter , чтобы учитывать только две страны.

Запрос отчета для этих когорт:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
  "dimensions": [
    { "name": "cohort" },
    { "name": "cohortNthWeek" },
    { "name": "country" }
  ],
  "metrics": [{ "name": "cohortActiveUsers" }],
  "dimensionFilter": {
    "filter": {
      "fieldName": "country",
      "inListFilter": {
        "values": [ "Russia", "Mexico" ]
      }
    }
  },
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": {
          "startDate": "2020-10-04",
          "endDate": "2020-10-10"
        }
      }
    ],
    "cohortsRange": {
      "endOffset": 5,
      "granularity": "WEEKLY"
    }
  },
}

Пример ответа на этот запрос:

{
  "dimensionHeaders": [
    { "name": "cohort" },
    { "name": "cohortNthWeek" },
    { "name": "country" }
  ],
  "metricHeaders": [
    { "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
  ],
  "rows": [
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0000" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "105" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0000" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "98" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0001" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "35" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0002" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "24" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0001" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "23" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0004" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "17" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0003" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "15" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0005" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "15" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0002" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "3" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0003" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0004" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "1" }]
    }
  ],
  "metadata": {},
  "rowCount": 11
}

Из ответа на этот отчет следует диаграмма этого отчета когорты. Согласно этому отчету, этот ресурс лучше удерживает пользователей, ведущих активность в Мексике, чем пользователей, ведущих активность в России.

Диаграмма когорт сравнения стран