首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google标记管理器在路由更改后不发送分析请求

Google标记管理器在路由更改后不发送分析请求
EN

Stack Overflow用户
提问于 2019-06-28 06:07:27
回答 2查看 4.5K关注 0票数 4

我正在尝试在react应用程序中实现google标记管理器。它在页面重新加载时工作,但是当我通过路径在应用程序之间移动时,它不会在google分析中注册页面视图。

我已经尝试过react-gtm-module,但它也在重新加载,而不是路由更改。

index.htmlhead标记中添加了下面的代码。

代码语言:javascript
复制
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXX');</script>
<!-- End Google Tag Manager -->

body标记中添加了下面的代码。

代码语言:javascript
复制
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

在我的组件componentDidMount中,我正在推动dataLayer中的新pageView

代码语言:javascript
复制
dataLayer.push({
    event: 'Pageview',
    pagePath: 'page-path-here',
    pageTitle: 'page-title-here',
});

我创建了pagePathpageTitle dataLayer变量,并将它们分配给Google标签,还创建了一个自定义触发器PageView,并将其添加到Google标记中的触发器中。

数据层变量

自定义触发器

将数据层变量分配给Analytics标记

谁能给我指出正确的方向吗?

编辑:详细数据层变量视图

第一负荷(重装)

路线变更

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-28 08:06:59

我将componentDidMount代码更改为

代码语言:javascript
复制
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
    event: 'Pageview',
    pagePath: 'page-path-here',
    pageTitle: 'page-title-here',
});

数据层推送

现在,我可以在中看到关于路由更改的页面查看。

票数 0
EN

Stack Overflow用户

发布于 2019-06-28 07:24:31

您用index.html编写的代码仅在页面加载时运行一次,如果要在页上注册事件,需要在要触发的路由上触发相同的事件,则可以从window访问dataLayer变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56801708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档