直接使用 Google Analytics Measurement Protocol API 的速率限制是多少?
What is the rate limit for direct use of the Google Analytics Measurement Protocol API?
在 Google Analytics Collection Limits and Quotas
的文档中
它给出了 rate limits
由各种 Google 提供的库实现的。我似乎无法为直接发布到测量协议 (https://www.google-analytics.com/collect) 的用户找到已发布的速率限制。
有没有,如果有的话是什么?
2015 年 7 月 10 日编辑 -
一些评论者要求提供我发送的数据类型的示例。
对 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 属性会产生不同的结果。有时报告中没有数据。有时报告中会出现部分数据。不过,在上传期间,实时报告始终显示 activity。
最后更新:请观看解释所有 GA 配额政策的视频:
https://youtu.be/1UfER93ALxo
特别是,您的问题可能是 10 次请求/1 秒限制的结果:
https://youtu.be/1UfER93ALxo?t=5m27s
我可以确认同样的事情。在我的例子中,我有自己的 buildHitTask,它为测量协议请求 (MPR) 构造 URL 并将其存储在 hitPayload 字段中。但不是原始的 GA 报告 - 我将那些 URLs 保存到 cookie 中以用于延迟报告。
在我的实验中,2,000 个测量协议请求中只有 10-20% 实际上是 "stored".
GA 报告 UI、API 或 BigQuery 均不提供其余匹配。每个请求都通过新的 Image() 方法延迟 2 秒发送,并在出现错误时减速。收到的结果不一致。成功和失败的命中都是随机分布在整个时间段内。
如果您找到有关此约束的更多详细信息,请告诉我!
直接来自文档Google Analytics Collection Limits and Quotas
These limits apply to the Web Property / Property / Tracking ID.
10 million hits per month per property
测量协议
Universal Analytics Enabled
This applies to analytics.js, Android iOS SDK, and the Measurement
Protocol.
200,000 hits per user per day 500 hits per session not including
ecommerce (item and transaction hit types). If you go over either of
these limits, additional hits will not be processed for that session /
day, respectively. These limits apply to Premium as well.
现在我同意它没有具体说明测量协议的 per second it rate
但上面的协议将测量与 analytics.js 一起转储所以我认为我们可以假设它
analytics.js:
Each analytics.js tracker object starts with 20 hits that are
replenished at a rate of 2 hit per second. Applies to all hits except
for ecommerce (item or transaction).
但为了确保我向开发团队发送了一封电子邮件,他们应该更清楚地说明测量协议的每秒速率所在的位置。当我收到他们的消息时,我会在这里重新发布
来自Google
的回应
The Measurement Protocol does not do any kind of rate limiting or
quota-ing by IP address or tracking ID or anything like that. However,
most of the client libraries do rate limit in some form or another.
As Linda points out in her answer, there are various limits and quotas
imposed by the back end, but those are done at processing time, not
collection time.
结论
通过测量协议发送数据没有限制。但是当处理数据时可能会应用限制。我认为他们可能指的是每月最多 200 万次点击。似乎是图书馆限制了您发送数据的速度,而不是直接发送测量协议。
在 Google Analytics Collection Limits and Quotas
的文档中它给出了 rate limits
由各种 Google 提供的库实现的。我似乎无法为直接发布到测量协议 (https://www.google-analytics.com/collect) 的用户找到已发布的速率限制。
有没有,如果有的话是什么?
2015 年 7 月 10 日编辑 -
一些评论者要求提供我发送的数据类型的示例。
对 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 属性会产生不同的结果。有时报告中没有数据。有时报告中会出现部分数据。不过,在上传期间,实时报告始终显示 activity。
最后更新:请观看解释所有 GA 配额政策的视频: https://youtu.be/1UfER93ALxo
特别是,您的问题可能是 10 次请求/1 秒限制的结果: https://youtu.be/1UfER93ALxo?t=5m27s
我可以确认同样的事情。在我的例子中,我有自己的 buildHitTask,它为测量协议请求 (MPR) 构造 URL 并将其存储在 hitPayload 字段中。但不是原始的 GA 报告 - 我将那些 URLs 保存到 cookie 中以用于延迟报告。
在我的实验中,2,000 个测量协议请求中只有 10-20% 实际上是 "stored".
GA 报告 UI、API 或 BigQuery 均不提供其余匹配。每个请求都通过新的 Image() 方法延迟 2 秒发送,并在出现错误时减速。收到的结果不一致。成功和失败的命中都是随机分布在整个时间段内。
如果您找到有关此约束的更多详细信息,请告诉我!
直接来自文档Google Analytics Collection Limits and Quotas
These limits apply to the Web Property / Property / Tracking ID.
10 million hits per month per property
测量协议
Universal Analytics Enabled
This applies to analytics.js, Android iOS SDK, and the Measurement Protocol.
200,000 hits per user per day 500 hits per session not including ecommerce (item and transaction hit types). If you go over either of these limits, additional hits will not be processed for that session / day, respectively. These limits apply to Premium as well.
现在我同意它没有具体说明测量协议的 per second it rate
但上面的协议将测量与 analytics.js 一起转储所以我认为我们可以假设它
analytics.js:
Each analytics.js tracker object starts with 20 hits that are replenished at a rate of 2 hit per second. Applies to all hits except for ecommerce (item or transaction).
但为了确保我向开发团队发送了一封电子邮件,他们应该更清楚地说明测量协议的每秒速率所在的位置。当我收到他们的消息时,我会在这里重新发布
来自Google
的回应The Measurement Protocol does not do any kind of rate limiting or quota-ing by IP address or tracking ID or anything like that. However, most of the client libraries do rate limit in some form or another.
As Linda points out in her answer, there are various limits and quotas imposed by the back end, but those are done at processing time, not collection time.
结论
通过测量协议发送数据没有限制。但是当处理数据时可能会应用限制。我认为他们可能指的是每月最多 200 万次点击。似乎是图书馆限制了您发送数据的速度,而不是直接发送测量协议。