2017-08-23 9 views
2

私は次のjsアプリケーションにgoogle analyticsを挿入するためにreact-ga npmモジュールを使用していました。そしてそれは単に、このようなものだった:Googleタグマネージャを使用してNext-J用にGoogle Analyticsを設定するにはどうすればよいですか?

import ReactGA from 'react-ga' 

export const initGA =() => { 
    ReactGA.initialize('UA-*******-*', { 
    titleCase: false 
    }) 
} 

export const logPageView =() => { 
    if (window.location.href.split('?')[1]) { 
    ReactGA.set({page: window.location.pathname + '?' + window.location.href.split('?')[1]}) 
    ReactGA.pageview(window.location.pathname + '?' + window.location.href.split('?')[1]) 
    } else { 
    ReactGA.set({page: window.location.pathname}) 
    ReactGA.pageview(window.location.pathname) 
    } 
} 

し、私はこのように(それは私のアプリのすべてのページに挿入された)私のヘッダー内のlogPageView関数を呼び出していました。今、私が使用したい

componentDidMount() { 
    if (!window.GA_INITIALIZED) { 
     initGA() 
     window.GA_INITIALIZED = true 
    } 
    logPageView() 
    } 
    componentWillReceiveProps() { 
    if (!window.GA_INITIALIZED) { 
     initGA() 
     window.GA_INITIALIZED = true 
    } 
    logPageView() 
    } 

アナリティクスのページビューを処理するGoogleタグマネージャどうすればこのことができますか?

答えて

2

Googleタグマネージャを使用するには、タグマネージャスクリプトをすべてのページに挿入する必要があります。 _document.jsはすべてのページのラッパーです。あなたはこのようなヘッド部で_document.jsでタグマネージャのスクリプトを挿入する必要があります

<Head> 
     <script dangerouslySetInnerHTML={{ 
      __html: `(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-*****');`, 
     }}> 
     </script> 
... 
</Head> 

今、あなたはすべてのあなただけのページビューを処理するために進むべきあなたの次-jsのアプリでGoogleタグマネージャを使用するように設定されており、タグマネージャのダッシュボードにある他のアナリティクス関連のもの

シングルページアプリケーション(nextjsなど)のGoogleアナリティクスページビューを設定するには、theseの手順に従います。

関連する問題