未设置自定义维度

问题描述

无论如何,我在这里有点头疼,因为我对这一切都有些陌生。

我有一个 WP 站点,该站点的 GA 代码段插入了 Google Site Kit。 有一个插件可以在用户注册时将用户 ID 设置为自定义维度。

已使用 add_action('wp_footer') 命令将执行此“set”的代码添加到 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”。

现在,此代码可在我控制的开发站点上运行(并且我已将其设置为尽可能模仿实时站点):

enter image description here

然而,当在“实时”站点上时,维度从未设置,即使我可以看到正在执行的“设置”命令(忽略控制台中的时间戳,我在离开站点之前忘记了截图,并且必须返回并重新加载页面):

enter image description here

enter image description here

实时站点不使用认跟踪器,因此调用 ga.getAll() 来访问跟踪器信息。 据我所知,一切正常。

我从查看此问题中了解到 Google Analytics Custom Dimension Not Being Set 'set' 需要出现在 'send' 之前。

我不确定如何实现这一点,因为该插件不会将综合浏览量发送到 GA,据我所知,这是 Google Site Kit。我曾考虑在加载此插件代码添加第二次浏览量发送(它仅在注册后立即执行,再也不会执行),但这会使页面点击量发生偏差。

多年来,该站点拥有无数的“管理员”,因此,如果其中一个插件中埋藏了某些东西导致某处发生冲突,我不会感到惊讶。有一次我认为这是一个时间问题,所以我每 50 毫秒加载一次函数检查要定义的“ga”,然后执行“set”命令(限制为 35 次迭代),但问题是一样(可以在控制台设置命令执行,但维度没有反映值)

我能得到的任何调试建议和找到根本原因对我都有很大帮助。请提出您需要的任何问题,我会尽快回复

解决方法

这种情况似乎有点复杂,因此了解它的工作原理以及为什么同时存在 gtagga 并不容易。

无论如何,假设一切正常,您可以不发送第二次综合浏览量,而是发送专用事件(通过设置 {{1} } 到 non-interaction),这样您就不会更改 Google Analytics 中的任何信息,并且您可以将您感兴趣的数据传递给平台(维度 1)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...