将 ga.js 更新为 gtag.js 后页面浏览量(以及用户和会话)下降 40%

40% drop in number of page views (and users and sessions) after updating ga.js to gtag.js

我管理的网站有一个相应的 Google Analytics 属性 多年前创建的,其 ID 类似于“UA-XXXXXX-X”(其中 X 是数字)。

到目前为止,每个 html 页面顶部的跟踪代码曾经是这样的:

<script>
window.google_analytics_uacct = 'UA-XXXXXX-X'; var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXXX-X'], ['_trackPageview'], ['_trackPageLoadTime']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);  })();
</script>

这就是 Google 多年前告诉我们要使用的东西。

昨天我去了 Admin -> Tracking Info -> Tracking code(同样 属性),发现他们现在提供的跟踪代码是:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-X"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  
  gtag('config', 'UA-XXXXXX-X');
</script>

所以我在 HTML.

中用新代码替换了旧代码

之后,今天,访问量(包括页面浏览量、用户和会话)下降了 40% 到 50%。 这并不是真正的流量下降,就服务器收到的请求而言,吞吐量没有显着下降(我们说的是每天约 2 万用户)。

如果我做错了什么,我本可以期待看到完全为零的访问量,但访问量减少大约 50% 是没有意义的。

可能是什么问题?

实际上,另外两个较小的网站也发生了完全相同的事情,它们的流量大约是大网站的 1/10(我同时更新了所有三个网站,每个网站都有自己的跟踪 ID);对于最小的,下降了大约 80%。

显然 gtag.js 根本无法使用 UA-XXX 属性 .

他们声称确实如此,他们告诉您使用它(意思是,他们在您的 UA 属性 管理面板中提供给您的跟踪代码用于复制和粘贴是使用 gtag.js), 但它不起作用。

来源:none 除了我自己的经验。文档中没有任何内容告诉您这一点;事实上,他们告诉你的恰恰相反。

我已经为六个 UA-XXXX 属性完成了此操作,替换了旧的 ga.js,据说已经过时(两次过时,因为它已经被假定替换为 analytics.js ),使用新的 gtag.js 在所有情况下 ,数据量下降了 50% 到几乎 100%(即几乎没有数据).

然后我刚刚为相同的网站创建了新的 GA4 属性,我开始跟踪它们,并且我再次获得了数据,一切正常。好吧,我得到的数据 有几个小时的延迟 ,而使用旧的 UA 属性和旧的 JS 代码我可以立即得到所有数据,但这只是 Google:新版本提供的服务比旧版本差。然而,除了延迟之外,我现在再次获得正确且显然完整的数据。

总而言之,Google 分析的 js 代码有三个版本:

  • ga.js:超级过时,你不应该使用这个(但我直到昨天才使用它,它与 UA-XXX 属性完美配合). 适用于 UA 属性,不适用于 GA4 属性(即 G-XXX)
  • analytics.js 不太过时。我没有用过这个所以我不能提供任何实验数据。它应该取代 ga.js,如果我没记错的话它应该适用于 UA 属性而不是 GA4 属性。
  • gtag.js新的。它应该替换所有其他内容并支持 UA 和 GA4 属性(UA-XXXXX 和 G-XXXXX)但 实际上只适用于 GA4 属性 尽管有所有声明在文档中恰恰相反。如果你将这个与 UA 属性 一起使用,你将丢失随机(巨大)百分比的数据,没有任何错误的警告,也没有迹象表明有多少下采样 你得到了。

因此,他们建议您迁移到 gtag.js,但如果您这样做,您还必须切换到新的 GA4 属性.

这将破坏与几乎所有与 API 有关的现有工具的向后兼容性:

  • 您使用 Google Analytics API 时与旧 UA 属性兼容的任何内容都需要使用新的 Google Analytics 数据 API 完全重写(顺便说一句,它处于测试阶段,它不稳定,有错误并且缺少旧版本中存在的功能)。哦,这个新东西将与旧的 UA 属性不兼容。它是双向的。
  • 嵌入 API(一种 JS api,可让您轻松地将 front-end pre-made 图表与 Analytics 数据嵌入,而无需付出任何努力)不兼容,并且有没有替代品(您需要使用新的 API 和 Google 图表从头开始)。

这就是 Google 做生意的方式。