Каков предел для прямого использования API протокола измерений Google Analytics?
В документации для Ограничения и квоты коллекции Google Analytics
Он предоставляет rate limits
, которые реализуются различными библиотеками, предоставляемыми Google. Кажется, я не могу найти опубликованный лимит ставок для пользователей, которые непосредственно отправляются по протоколу измерений (https://www.google-analytics.com/collect).
Есть ли один, и если да, то что это?
Редактировать 10 июля 2015 года -
Несколько комментаторов попросили пример данных, которые я отправляю.
Использование серии вызовов для wget со сном в течение одной секунды между каждым вызовом.
Вот пример удаления имени приложения и кода отслеживания:
wget -nv --post-data 'ul=en&qt=7150000&av=0.0.1&ea=PLET&v=1&tid=<my_tracking_code>&ec=Move+to+Object&cid=1434738538-738-654031&an=<my_app_name>&t=event' -O /dev/null 'https://www.google-analytics.com/collect'
Я попытался отправить эти запросы в конечную точку /debug, и все они действительны. Моя первая загрузка работала так, как ожидалось, и отчеты выглядели хорошо. Последующие загрузки тех же данных, которые были установлены в разные свойства GA, имели смешанные результаты. Иногда в отчетах нет данных. Иногда в отчетах появляются частичные данные. Во время загрузки отчеты в реальном времени всегда показывают активность.
Ответы
Ответ 1
Непосредственно из документации Ограничения и квоты коллекции Google Analytics
Эти ограничения применяются к идентификатору Web Property/Property/Tracking ID.
10 миллионов обращений в месяц за собственность
Протокол измерений
Универсальная аналитика включена
Это относится к analytics.js, SDK Android iOS и Измерению Протокол.
200 000 обращений за пользователя в день 500 ударов за сеанс, не включая электронная торговля (типы товаров и транзакций). Если вы перейдете к любому из эти ограничения, дополнительные хиты не будут обрабатываться для этого сеанса/ день, соответственно. Эти ограничения распространяются и на Premium.
Теперь я соглашаюсь, что он специально не указывает per second it rate
для протокола измерений, но вышеописанное одно измерение с помощью analytics.js, поэтому я думаю, что мы можем предположить его
analytics.js:
Каждый объект отслеживания analytics.js начинается с 20 обращений, которые пополняется со скоростью 2 удара в секунду. Применяется ко всем ударам, кроме для электронной торговли (товар или транзакция).
Но чтобы убедиться, что я отправляю электронное письмо команде разработчиков, они должны сделать ее более ясной, где лежит скорость передачи данных в секунду. Я буду repost здесь, когда я услышу от них
Ответ от Google
Протокол измерений не выполняет никаких ограничений скорости или квотирование по IP-адресу или идентификатору отслеживания или что-то в этом роде. Однако, большинство клиентских библиотек в какой-то мере ограничивают лимит ставок.
Как отмечает Линда в своем ответе, существуют различные ограничения и квоты наложенные задним концом, но они выполняются во время обработки, а не время сбора.
Заключение
Нет ограничений на отправку данных через протокол измерений. Но когда данные обрабатываются, предел может быть применен. Я думаю, они могут ссылаться на максимум 2 миллиона просмотров в месяц. Он швыряет библиотеки, которые применяют ограничения на то, как быстро вы можете напрямую отправлять данные, а не протокол измерений.
Ответ 2
Последнее обновление:. Посмотрите это видео, которое объясняет все политики квот GA:
https://youtu.be/1UfER93ALxo
В частности, ваша проблема может быть результатом 10 запросов/1-секундного ограничения:
https://youtu.be/1UfER93ALxo?t=5m27s
Я могу подтвердить то же самое. В моем случае у меня был собственный buildHitTask, который строит URL для запроса протокола измерения (MPR) и сохраняет его в поле hitPayload. Но вместо оригинальной отчетности - я сохранял эти URL-адреса в файлах cookie для отложенной отчетности.
В моем эксперименте фактически было сохранено только 10-20% из 2000 запросов протокола измерений.
Остальные удары недоступны в пользовательском интерфейсе GA Reporting, ни в API, ни в BigQuery. Каждый запрос был отправлен с задержкой в 2 секунды с помощью нового метода Image() и замедления в случае ошибок. Полученные результаты несовместимы. И успех, и неудачные удары случайным образом распределяются в течение всего периода времени.
Пожалуйста, дайте мне знать, если вы найдете более подробную информацию об этом ограничении!