Skip to content

Commit

Permalink
Moved google analytics script to head
Browse files Browse the repository at this point in the history
The code now uses the new gtag script to track the website on google analytics.
The migration is explained [here](https://developers.google.com/analytics/devguides/collection/gtagjs/migration).
This will help to solve issues such as facebook#375.
As indicated at https://support.google.com/analytics/answer/1008080
the analytics code must be placed in the head tag, so it is moved there.
  • Loading branch information
ramiel committed Apr 25, 2018
1 parent 255fa40 commit 5de6ac9
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 15 deletions.
13 changes: 13 additions & 0 deletions lib/core/Head.js
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,19 @@ class Head extends React.Component {
title={this.props.config.title + ' Blog RSS Feed'}
/>
)}
{this.props.config.gaTrackingId && (<script async src={`https://www.googletagmanager.com/gtag/js?id=${this.props.config.gaTrackingId}`}/>)}
{this.props.config.gaTrackingId && (
<script
dangerouslySetInnerHTML={{
__html: `
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', '${this.props.config.gaTrackingId}');
`
}}
/>
)}

{/* External resources */}
{this.props.config.stylesheets &&
Expand Down
15 changes: 0 additions & 15 deletions lib/core/Site.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,21 +83,6 @@ class Site extends React.Component {
src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"
/>
)}
{this.props.config.gaTrackingId && (
<script
dangerouslySetInnerHTML={{
__html: `
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '${this.props.config.gaTrackingId}', 'auto');
ga('send', 'pageview');
`,
}}
/>
)}
{this.props.config.facebookAppId && (
<script
dangerouslySetInnerHTML={{
Expand Down

0 comments on commit 5de6ac9

Please sign in to comment.