我尝试使用gtag set
方法为GA4设置一个名为chain_id
的自定义维度。我还在配置中添加了一个custom_map
属性,但我甚至不确定这是否必要。问题是chain_id
永远不会与事件一起发送,正如您在GA调试器的控制台输出中看到的那样。
我不确定我在这里遗漏了什么,但我认为chain_id
和Test chain id
的值应该出现在事件参数中。
document.getElementById("another").addEventListener("click", function(event) {
gtag("event", "Button click");
});
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=<my-ga-id>"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag("js", new Date());
gtag("set", {
chain_id: "Test chain id"
});
gtag("config", "<my-ga-id>", {
debug_mode: true,
custom_map: {
dimension1: 'chain_id'
}
});
</script>
<button id="another">Another click</button>
2条答案
按热度按时间w9apscun1#
1.您可以在事件调用本身中设置参数,如下所示:
gtag(“event”,“Button click”,{chain_id:});
图片来自此页面的控制台。
1.您也可以使用配置设置eps,它们将持续存在:
请注意,Google进行了另一次偷偷更新,以忽略在使用初始配置后发布的配置。因此,如果您试图通过发出config来更改所有后续事件的持久化事件参数,而gtag.js只是忽略了它,那么请给予以下答案:GA 4自定义尺寸是否可以在初始“配置”调用后更新?
总体而言,请考虑使用GTM。或其他TMS。它使跟踪更易于实施、管理、扩展和支持。直接使用gtag.js进行跟踪只有在你只需要做一点点跟踪,并且你并不真正关心这种跟踪在长期内实现的实际业务结果时才真正有意义。
lsmd5eda2#
我不知道为什么
set
不工作。但也许你可以尝试使用config
Google文档about it
当我们使用GTM来做这样的事情时。我们将使用
Field To Set
,它基本上称为gtag('config','{Your GA4 ID}', { 'chain_id': 'Test chain id' });
在调用
event
时,这需要一些额外的代码。gtag('event','click', { 'send_to': '{Your GA4 ID}' });
我认为值得一试。