使用react + redux的Google代码管理器

时间:2016-12-12 11:49:11

标签: reactjs react-redux google-tag-manager

我已将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,它就会触发相同的事件。可能是数据层没有变空。

2 个答案:

答案 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的内部数据模型。