当用户在ReactJS中向下滚动页面时,GTM触发

时间:2018-10-10 16:28:11

标签: javascript reactjs google-tag-manager

我正在使用https://www.npmjs.com/package/react-google-tag-manager在ReactJS中管理GTM标签。

我建议使用GoogleTagManager组件。每当用户在“产品列表”页面上向下滚动时,我都将其称为GoogleTagManager组件。当用户向下滚动时,尽管会呈现GoogleTagManager,但GTM预览报告GTM仅在页面加载时触发一次。 (尽管我可以清楚地看到,随着用户向下滚动,GTM组件中的控制台语句正在呈现,因此确实会被调用)

这就是我的称呼:

{this.state.callGTM===true &&  <GoogleTagManager gtmId='GTM-A12B12' additionalEvents={this.state.gaDataEvent}/>}

这是我在脚本标签中看到的内容:

(function(w,d,s,l,i){w[l]=w[l]||[];
    w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js', "event":"productListingImpressions","ecommerce":{"currencyCode":"INR","impressions":[{"name":"Blue Top","id":21443,"sku":"IN1747567OTOPBLU-714","price":1199,"category":"Category Results","list":""}}]}});
    var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
    j.async=true;j.src='//www.googletagmanager.com/gtm.js?id='+i+dl
    ;
    f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-A12B12');

我需要做的是将this.state.gaDataEvent作为数据层传递给GTM。但是当我使用gtm Preview时,我看到当用户向下滚动时,它没有再次被触发。

0 个答案:

没有答案