我已将GTM与react& amp; redux,我也试过反应 - 谷歌标签管理器,但它在我的应用程序中不起作用。
下面是我点击“阅读更多”的组件,我正在点击一个事件并将数据推送到dataLayer,但之后如果我点击应用程序中的任何地方就会触发相同的旧事件。
以下是我的代码 -
_toggleNews(post) {
let gtmEvent = {
'action': 'Live News',
'actionValue': {
nugget_id: post.nugget_id ? post.nugget_id : '',
event_title: post.event_title ? post.event_title : '',
event_link: post.event_link ? post.event_link : ''
}
}
dataLayer.push(gtmEvent);
}
render() {
let post = this.props.post
return (
<li>
<a href='javascript:void(0);' onClick={this._toggleNews.bind(this, post)}>Read More</a>
</div>
</li>
)
}
在我的index.html中,我添加了GTM代码。 如果我们没有点击Read More,它就会触发相同的事件。可能是数据层没有变空。
答案 0 :(得分:0)
我认为这不是您正在使用哪个模块的问题。在onClick中,您以错误的方式调用该函数。
onClick={()=>this._toggleNews.bind(this, post)}
您需要在onClick中添加()。
答案 1 :(得分:-1)
我认为您应该重置数据层。从this tweet of Simo Ahava's尝试此推荐;
google_tag_manager[“GTM-XXXX”].dataLayer.reset()
将清除GTM的内部数据模型。