История квот для API данных в аккаунте Google Analytics 4

04 декабря, 2024

7 ноября 2024 года в интерфейсе Google Analytics 4 появился новый отчет журнала, позволяющий посмотреть, когда пользователи запрашивали данные ресурсов в аккаунте GA4 и данные аккаунта через Google Аналитику. О том, как это работает и зачем эту нужно владельцу счетчика, вы узнаете в этом материале.

Система квот для Data API Google Analytics 4

Наверняка вы знаете, что в Google Analytics 4 существуют так называемые квоты (quotas). Это понятие неразрывно связано с API Google Analytics. Поскольку с GA4 работают миллионы разработчиков и пользователей, квота на запросы к API защищает систему от обработки слишком большого количества данных и обеспечивает равномерное распределение системных ресурсов.

Когда вы выполняете тот или иной запрос к серверам Google, чтобы получить статистику по вашему счетчику GA4, система проверяет, не были ли исчерпаны квоты. Если какая-либо квота была исчерпана, запрос завершается с соответствующим сообщением об ошибке. Каждый запрос в Data API проверяет несколько наборов квот.

В Data API управление квотами API для ресурсов Google Analytics 4 осуществляется с помощью системы сегмента токенов. Чтобы понять, как она работает, представьте себе контейнер (сегмент), в котором находится ограниченное количество токенов. Каждый запрос к API сначала проверяет, есть ли в сегменте свободный токен. Если токенов не осталось, запрос не выполняется. Если токены есть, запрос выполняется и потребляет один или больше токенов в зависимости от сложности запроса. Через определенные промежутки времени сегмент вновь заполняется токенами.

В зависимости от того, какой метод Data API, вы используете, есть три отдельных категории квот:

  1. В реальном времени / Realtime (для runRealtimeReport);
  2. Воронка / Funnel (для runFunnelReport);
  3. Основное / Core (для всех других методов - runReport, runPivotReport, batchRunReports, batchRunPivotReports, runAccessReport, getMetadata, checkCompatibility и createAudienceExports).

Методы Data API проверяют наличие токенов квоты в следующих сегментах (они же категории запросов):

  1. на один ресурс в день (per property per day);
  2. на один ресурс в час (per property per hour);
  3. на один проект в одном ресурсе в час (per project per property per hour);
  4. одновременных запросов на ресурс (concurrent requests per property);
  5. серверных ошибок на один проект в одном ресурсе в час (server errors per project per property per hour).

Эти пять сегментов проверяются каждый раз, когда поступает запрос API данных для ресурса. Если какой-либо из сегментов пуст, запрос немедленно завершится ошибкой 429. Если ни один из сегментов не пуст, будет использован один токен из сегмента Concurrent requests per property (Одновременные запросы на ресурс), а затем будет выполнен запрос API. В зависимости от сложности запроса определенное количество токенов будет использовано из каждого из первых трех сегментов после завершения выполнения. В это же время Concurrent requests per property (Одновременные запросы на ресурс) также получит пополненный токен.

Квота Per project per property per hour (на один проект в одном ресурсе в час) гарантирует, что исчерпание квоты для одного или нескольких пользователей не повлияет на других пользователей вашего приложения. Квота Per property per hour (На один ресурс в час) обычно в четыре раза больше, чем квота Per project per property per hour (На один проект в одном ресурсе в час). Таким образом, для конечных пользователей к ресурсу должны получить доступ по крайней мере четыре разных проекта, прежде чем квота Per property per hour (На один ресурс в час) может быть исчерпана. Применение квот как на уровне проекта, так и на уровне ресурса гарантирует, что проблемы с квотами будут ограничены одним ресурсом и не повлияют на другие ресурсы, к которым выполняется ваш запрос.

Квота на количество серверных ошибок касается ответов API с кодами 500 и 503. Если во время доступа приложения к ресурсу возникает слишком много ошибок, квота Server errors per project per property per hour (Серверных ошибок на один проект в одном ресурсе в час) будет исчерпана.

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

Квоты ресурсов Google Analytics 4 и Google Analytics 360

Standard Property Limit - квоты для стандартных ресурсов Google Analytics 4, Analytics 360 Property Limit - для ресурсов Google Analytics 360. Единица измерения - токены. Токены рассчитываются с каждым запросом в зависимости от сложности запроса. Например, для категории запросов из Core (Основное) выделяется 14 000 токенов для Per project per property per hour (На один проект в одном ресурсе в час). Предположим, запрос от вашего приложения в среднем потребляет 10 токенов. В таком случае ваше приложение сможет выполнить 1 400 запросов в час для стандартного ресурса и в 10 раз больше для любого ресурса Google Analytics 360. Более высокий лимит на количество токенов – это одно из основных преимуществ ресурсов Аналитики 360.

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

  • запрашивается множество параметров и показателей;
  • запрашивается множество данных/строк;
  • запрашиваются данные за большой диапазон дат;
  • в нем есть параметры с большим количеством уникальных значений;
  • в нем присутствуют сложные критерии фильтрации;
  • он обращается к ресурсу Google Analytics 4, в котором много событий.

Таким образом, один и тот же запрос при обращении к разным ресурсам может потреблять разное количество токенов, так как количество уникальных значений в параметрах или объем трафика могут различаться. Однако, для ресурсов со схожими уровнями трафика или конфигурацией можно ожидать приблизительно одинакового потребления. На основе этого можно прогнозировать количество потребляемых клиентом токенов на этапе планирования и разработки приложения.

Примечание: для Data API квота устанавливается на уровне ресурса Google Analytics 4 и проекта API.

Практическое пояснение квот и лимитов

Все это очень интересно и увлекательно в теории. Но как это выглядит на практике? Где вы можете встретить эти квоты и ограничения? Пожалуйста! Тогда, когда будете использовать запросы к Data API программно, то есть с помощью различных языков программирования. В моем блоге есть несколько статей, посвященных API Google Analytics 4 и практических приемам выполнения запросов на Python. Обязательно прочитайте их:

С каждым запросом API вы можете указать "returnPropertyQuota": true в тексте запроса, чтобы он возвращал текущий статус токенов ресурса. Этот статус содержит как сумму, потребленную этим запросом, так и оставшуюся сумму для каждой группы квот:

Возврат токенов в запросе

Если вы не работаете с данными Google Analytics 4 программно, то точно когда-нибудь использовали отчеты Looker Studio. С 7 ноября 2022 г. на отчеты, использующие встроенный коннектор Google Analytics 4, стали распространяться те самые квоты Google Analytics Data API (GA4).

Наверняка у вас есть отчет в Looker Studio и при работе с ним вы могли наблюдать ошибку, связанную с квотами (Quota Error / Достигнута квота):

Уведомление о достигнутых квотах

Или такую:

Ошибка конфигурации набора данных

Сами того не ведая, вы как и прежде работали с отчетом, анализировали данные, меняли диапазоны дат, использовали разные типы визуализации данных. И в один "прекрасный день" ваш отчет стал отображать ошибку. Токены расходуются каждый раз, когда вы меняете фильтры, редактируете диапазоны дат или даже при обновлении данных на панели инструментов Looker Studio. Стандартным пользователям GA4 выделяется 14 000 токенов на один проект в одном ресурсе в час. Два года назад их было вообще 1 250. Лимиты расширили, но ограничения все равно очень часто и быстро могут наступать, особенно в проектах с большим количеством данных и пользователей. Визуализация, использующая совмещенные данные, потребует вдвое больше токенов, чем визуализация с одним источником подключения.

Исходя из таблицы квот, пользователям выделяется 10 вызовов API одновременно. Это означает, что на странице вашего отчета Looker Studio с 10 графиками вы сразу же уткнётесь в потолок квот для одновременных запросов. Точно так же будет происходить, если два пользователя, работающих одновременно с одним и тем же отчетом, получают доступ к дашборду, на котором 5 графиков. И такая ошибка не случайна - не может же Google делать все свои продукты бесплатными и без каких-либо ограничений. Если вы желаете увеличить порог и анализировать данные в полном объеме, Google предлагает вам перейти на Google Analytics 4 (в Google Analytics 360), подписка на который начинается от 50 000$ в год.

Вы можете очень легко посмотреть расход токенов в своем отчете Looker Studio. Для этого на холсте нажмите правой кнопкой мыши и выберите пункт меню Использование токенов Google:

Использование токенов Google

Вам откроется дополнительное окно с детальными сведениями по использованию токенов Google Analytics 4. Те, которые вы использовали за этот сеанс, на текущей странице, для каких диаграмм было использовано больше всего токенов, какие токены были сэкономлены благодаря кэшированию и т.д. и т.п. Это даст вам возможность бережнее относится к запросам и контролировать токены и квоты.

Детальная информация по использованию токенов в Looker Studio (GA4)

Другой пример - это использование расширения GA4 Reports Builder for Google Analytics™ для Google Таблиц. С его помощью вы можете создавать отчеты и выгружать данные по вашему ресурсу Google Analytics 4 прямо в Google Sheets.

Пример выгруженной статистики по событиям GA4 с помощью GA4 Reports Builder for Google Analytics

Как и в случае готового коннектора в Looker Studio, данные с помощью расширения запрашиваются по Data API, поэтому здесь тоже расходуются токены.

Не стоит забывать и о сторонних решениях и приложениях, которые могут быть использованы вами для работы с Google Analytics 4. Например, такие сервисы, как: Supermetrics, SimilarWeb, Analytics Canvas, Porter Metrics, TapClicks и другие. Они тоже выполняют определенные запросы и расходуют ваши токены. Вы или ваши коллеги могли использовать их когда-то ранее, предоставив доступ к ресурсу Google Analytics 4, но со временем забыли про это, не отвязали приложение от ресурса, а оно продолжает иметь разрешение на чтение/анализ ваших данных и расходовать токены. Как узнать, что такое может быть?

Вот мы и подошли с вами к новому отчету журнала Google Analytics 4.

История квот для API данных в аккаунте Google Analytics 4

С этим обновлением вы можете просматривать отчет журнала квот прямо в интерфейсе Google Analytics 4. Этот журнал показывает, кто потреблял квоту API на данном ресурсе. Это позволяет вам проводить аудит проблемных пользователей/приложений и потенциально отключать их.

Примечание: для доступа к истории квот API данных для аккаунта или ресурса GA4 нужна роль администратора.

Перейдите на страницу Администратор и в разделе Аккаунт или Ресурс нажмите История квот для API данных в аккаунте или История квот для API данных ресурса.

История квот для API данных

На открывшейся странице вы увидите:

  • Дата и час доступа. Дата и время, когда пользователь Google Analytics 4 осуществил доступ к данным отчетов GA4;
  • Название ресурса, к которому был получен доступ. Отображаемое название ресурса, через который пользователь просматривал данные отчетов Google Analytics 4. Большинство отчетов о доступе к данным содержат сведения только об одном ресурсе, но если запрос был отправлен к дочернему ресурсу, то в отчетах будет информация о доступе и к исходному, и к дочернему ресурсам;
  • Имя приложения, использованного для доступа. Название приложения, с помощью которого пользователь получил данные отчетов Google Analytics 4. Сторонним приложениям и сервисам можно предоставлять доступ к данным отчетов GA4;
  • Электронная почта пользователя. Это адрес пользователя Google Analytics 4, осуществившего доступ к данным отчетов GA4. В некоторых случаях пользователи, не имеющие прямого доступа к ресурсам, получают доступ к данным отчетов GA4 с помощью интеграции. Тогда это поле возвращает, к примеру, Google Ads Linked User;
  • Категория квоты Data API. Некоторые возможные значения: Core (Основное), Realtime (В реальном времени) и Funnel (Воронка);
  • Количество использованных токенов для ресурса из квоты Data API. Общее количество использованных токенов для ресурса из квоты для запросов к API данных.

Пример истории квот API данных (для osipenkov.ru)

По умолчанию в отчете показываются данные для всех пользователей. Вы можете сузить результаты поиска с помощью фильтров:

  • Дата и час доступа
  • Местоположение
  • Название ресурса, к которому был получен доступ
  • Имя приложения, использованного для доступа.
  • Электронная почта пользователя
  • Категория квоты Data API
  • Количество использованных токенов для ресурса из квоты Data API

Использование фильтров

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

Изменение диапазона дат

Чем практически полезен этот журнал? Ключевое - это посмотреть, кто расходует токены из квоты Data API (что за пользователи или какие приложения) и в каком количестве. И в случае, если этот человек или приложение уже не имеют никакого отношения к вашему ресурсу, закрыть ему доступ.

Например, как только этот журнал отчета появился в Google Analytics 4, я увидел, что к моему ресурсу подключено стороннее приложение SimilarWeb.com, которое ежедневно, в фоновом режиме (тихо) посылает запросы к моему ресурсу. А я уже и забыл про то, что когда-то выдавал доступ к нему.

Приложение SimilarWeb.com использует токены Data API моего ресурса GA4

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

Если в журнале Google Analytics 4 вы нашли такое приложение, которое хотели бы отключить, в аккаунте Google откройте страницу со связанными сторонними приложениями и сервисами.

Сторонние приложения и сервисы

Вы увидите список сторонних приложений и сервисов. Найдите в нем то приложение, связь с которым вы хотите проверить. Если приложений в списке много, можно воспользоваться поиском:

Поиск приложения

Нажмите на его название. Вам откроется страница с дополнительной информацией об этом приложении:

  • как Google помогает входить в сервис этому приложению;
  • какой доступ к некоторым данным вашего аккаунта Google имеет данный сервис.

Например, вот так выглядит страница с приложением SimilarWeb.com:

Страница приложения "SimilarWeb.com"

Как видите, этот сервис имеет доступ к просмотру данных моего профиля Gmail и доступ к просмотру и скачиванию данных Google Analytics 4. Поскольку я давно не использую это приложение в своей работе, я хочу отменить все доступы SimilarWeb.com.

Для этого в самом низу страницы приложения необходимо нажать на Отмена всех связей с сервисом ...

Отмена всех связей с сервисом "SimilarWeb.com"

В завершение нажмите Подтвердить:

Подтверждение отмены связи

После отмены связи данное приложение не будет отправлять запросы к ресурсу Google Analytics 4, следовательно, расходовать токены Data API. Но сторонние приложения и сервисы, для которых была отменена связь с аккаунтом Google, могут и дальше хранить полученные от вас данные, которые уже получили. Подробные сведения о том, как удалить такие данные, вы найдете на сайте этого стороннего приложения или сервиса.

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

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике