【发布时间】:2021-02-26 01:18:28
【问题描述】:
无论如何,对我来说,我在这里有点头疼,因为我对这一切有点陌生。
我有一个 WP 站点,它的 GA sn-p 插入了 Google Site Kit。 有一个插件,当用户注册时,将用户 ID 设置为自定义维度。
已使用add_action('wp_footer') 命令将执行此“集合”的代码添加到 WP 页脚。
代码如下所示:
<script type=\"text/javascript\" id=\"set-google-id-dimension\">
document.addEventListener(\"readystatechange\", event => {
if (event.target.readyState === \"complete\") {
try{
gtag('event', 'registration', {'dimension1': '".$client."'});
}catch(e){
try{
ga(function() {
// Logs an array of all tracker objects
var trackers = ga.getAll();
var firstTracker = trackers[0];
console.log('tracker: '+firstTracker.get('name'));
ga(firstTracker.get('name')+\".set\",\"dimension1\" ,\"".$client."\");
});
}catch(e){
console.log('GA and GTAG not defined');
}
}
}
});
</script>
为了便于阅读,我去掉了 PHP,但这会在页脚中显示出来。
为什么要使用 GTAG 和 GA 命令?两种分析都在控制台中输出,但网站所有者不知道原因,因为“他们只使用 Google Site Kit”。
现在,此代码可在我控制的开发网站上运行(并且我已将其设置为尽可能模仿实时网站):
但是,在“实时”站点上时,从未设置维度,即使我可以看到正在执行的“设置”命令(忽略控制台中的时间戳,我在离开该站点之前忘记截图了,并且不得不返回并重新加载页面):
实时站点不使用默认跟踪器,因此调用ga.getAll() 来访问跟踪器信息。
据我所知,一切都应该正常。
通过查看此问题,我了解到 Google Analytics Custom Dimension Not Being Set 'set' 需要在 'send' 之前出现。
我不知道如何实现这一点,因为插件不会将综合浏览量发送到 GA,据我了解,这就是 Google Site Kit。我曾考虑在加载此插件代码时添加第二次网页浏览发送(它仅在注册后立即执行,不再执行),但这会扭曲页面点击。
多年来,该网站拥有无数“管理员”,因此如果其中一个插件中埋藏了什么东西导致某处发生冲突,我不会感到惊讶。有一次我认为这是一个时间问题,所以我让函数每 50 毫秒加载一次,检查要定义的“ga”,然后执行“set”命令(限制为 35 次迭代),但问题是一样(可以设置命令在控制台执行,但是维度没有反映值)。
任何我能得到的调试和找到根本原因的建议都会对我有很大帮助。请提出您需要的任何问题,我会尽快回复。
【问题讨论】:
标签: google-analytics custom-dimensions