gpt4 book ai didi

javascript - Google Analytics 未调用 __utm.gif,但未抛出任何错误消息

转载 作者:行者123 更新时间:2023-11-29 18:31:20 26 4
gpt4 key购买 nike

我在使用谷歌分析时遇到问题。我知道那里有很多,但找不到解决方案。

我想将用户的电子邮件地址记录为 Google 分析中的自定义变量。我在一个函数中有谷歌分析片段,并传入用户电子邮件地址。

GA 插件不会向控制台窗口输出任何内容。

没有javascript错误。

我通过断点单步执行代码,下面的函数一直运行到完成。它进入 if 语句等。

文件 ga.js 成功加载,但 __utm.gif 文件未被调用。

    <script type="text/javascript">
//<![CDATA[
function googleTrack(email) {
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'xyz']);
_gaq.push(['_trackPageview']);

if ((parent == null) || (!parent.IsCMSDesk)) {
//track user name
_gaq.push(['_setCustomVar', //1, \"Email address\", \"{0}\", 3)
1, // This custom var is set to slot #1. Required parameter.
'email_address', // The name acts as a kind of category for the user activity. Required parameter.
email, // This value of the custom variable. Required parameter.
3 // Sets the scope to page-level. Optional parameter.
]);

//if googleCustomVar is defined, it will track it. if not, won't
if (!((typeof (window.googleCustomVar) === "undefined") && (typeof (googleCustomVar) === "undefined"))) {
_gaq.push(['_setCustomVar', //1, \"Email address\", \"{0}\", 3)
2, // This custom var is set to slot #1. Required parameter.
'section', // The name acts as a kind of category for the user activity. Required parameter.
googleCustomVar, // This value of the custom variable. Required parameter.
3 // Sets the scope to page-level. Optional parameter.
]);
}
}

(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);
})();
}

googleTrack('testm@healthed.com');
//]]>
</script>

如果我将其简化为仅这段代码,所有的事情都会再次发生:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'xyz']);
_gaq.push(['_trackPageview']);
(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);
})();

这里有什么问题?最终目标是能够调用一个函数来跟踪用户的电子邮件地址,作为 Google 分析中的自定义变量。

最佳答案

您将 _gaq 定义为一个函数内部的局部变量。因此,Google Analytics 代码无法读取该变量。原始代码使用 var 确实有效,因为它是在本地范围内执行的。要在函数内声明全局范围内的变量,请省略 var,或使用 window._gaq = ...:

你的错误代码:

<script type="text/javascript">
//<![CDATA[
function googleTrack(email) {
var _gaq = _gaq || []; //<--- `var` inside a function = local variable

固定的工作代码:

    _gaq = _gaq || [];

关于javascript - Google Analytics 未调用 __utm.gif,但未抛出任何错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7920087/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com