Google 分析:如何克服负载大小限制?
Google Analytics: How to overcome payload size restriction?
我对某些商店使用 Google 分析增强型电子商务。在目录页面上,我有很多产品,我需要跟踪他们的印象。我不会逐一跟踪每个产品,因为它会引起很多请求,而是通过 .ec:addImpression
添加所有产品,然后通过发送单个 pageview
.
来跟踪整个包装
一切都很顺利,直到我遇到了一个问题,在产品请求过多的页面上 collect
停止工作,没有错误。我已经安装 analytics debugger for Chrome and found out, that I've exceeded a payload limit, which is set to 8 KB (according to official documentation):
payload_data – The BODY of the post request. The body must include
exactly 1 URI encoded payload and must be no longer than 8192 bytes.
这很好,但这是我的问题:有什么办法可以克服这个限制?也许一些选项或方法,将允许不打扰有效载荷大小,它会自动分成适当的块?或者至少是一种在 运行 时间内获取有效载荷以检查其大小的方法。我 运行 查看了文档,但一无所获。
注意:目前我手动跟踪了 "safe" 数量(凭经验发现)的产品 addImpression
然后按non-interaction
pageview
命中发送。当然,这解决了我的问题,因为我想知道是否有内置解决方案。
创建一个 product data import 将您的产品 ID 与产品属性(名称、类别、价格等)相匹配。等到数据处理完毕,然后更改您的跟踪代码,以便仅发送产品 ID。
这应该将请求正文缩小到足以发送所有产品的程度,并且在处理传入的点击时,id 将与导入的数据合并。
导入的数据不会追溯应用,因此请务必先导入数据。
另一种可能性是仅发送 true 印象,即仅针对那些 products/items 用户 实际上 看到首屏。在用户向下滚动页面到首屏下方之前,并非所有您为其发送印象的产品都会被用户实际看到。因此,这将需要修改您在用户向下滚动页面并显示更多产品时发送印象数据的实现。您可能会随每个产品发送更多信息,并且仍然不超过有效负载,并且您可以更准确地衡量您的印象。
AFAIK 无法从 google 分析中获取有效负载大小,令人遗憾的是 analytics.js 无法自动处理此问题,因为 analytics.js 库构建了payloads 最适合处理这个问题,从而最大限度地减少 Google 服务器上的负载...
我喜欢 Eike 的解决方案,但如果您的产品变化很大,它可能需要自动化。正如@nyuen 所暗示的那样 - 仅发送真实印象可能会有所帮助并且更准确。
另一个技巧是一次发送一个印象。 (如图所示或页面加载)这将需要最小的更改并将有效负载减少到远低于限制。
我对某些商店使用 Google 分析增强型电子商务。在目录页面上,我有很多产品,我需要跟踪他们的印象。我不会逐一跟踪每个产品,因为它会引起很多请求,而是通过 .ec:addImpression
添加所有产品,然后通过发送单个 pageview
.
一切都很顺利,直到我遇到了一个问题,在产品请求过多的页面上 collect
停止工作,没有错误。我已经安装 analytics debugger for Chrome and found out, that I've exceeded a payload limit, which is set to 8 KB (according to official documentation):
payload_data – The BODY of the post request. The body must include exactly 1 URI encoded payload and must be no longer than 8192 bytes.
这很好,但这是我的问题:有什么办法可以克服这个限制?也许一些选项或方法,将允许不打扰有效载荷大小,它会自动分成适当的块?或者至少是一种在 运行 时间内获取有效载荷以检查其大小的方法。我 运行 查看了文档,但一无所获。
注意:目前我手动跟踪了 "safe" 数量(凭经验发现)的产品 addImpression
然后按non-interaction
pageview
命中发送。当然,这解决了我的问题,因为我想知道是否有内置解决方案。
创建一个 product data import 将您的产品 ID 与产品属性(名称、类别、价格等)相匹配。等到数据处理完毕,然后更改您的跟踪代码,以便仅发送产品 ID。
这应该将请求正文缩小到足以发送所有产品的程度,并且在处理传入的点击时,id 将与导入的数据合并。
导入的数据不会追溯应用,因此请务必先导入数据。
另一种可能性是仅发送 true 印象,即仅针对那些 products/items 用户 实际上 看到首屏。在用户向下滚动页面到首屏下方之前,并非所有您为其发送印象的产品都会被用户实际看到。因此,这将需要修改您在用户向下滚动页面并显示更多产品时发送印象数据的实现。您可能会随每个产品发送更多信息,并且仍然不超过有效负载,并且您可以更准确地衡量您的印象。
AFAIK 无法从 google 分析中获取有效负载大小,令人遗憾的是 analytics.js 无法自动处理此问题,因为 analytics.js 库构建了payloads 最适合处理这个问题,从而最大限度地减少 Google 服务器上的负载...
我喜欢 Eike 的解决方案,但如果您的产品变化很大,它可能需要自动化。正如@nyuen 所暗示的那样 - 仅发送真实印象可能会有所帮助并且更准确。
另一个技巧是一次发送一个印象。 (如图所示或页面加载)这将需要最小的更改并将有效负载减少到远低于限制。