Save a local version of your Google Analytics script
Google Page Speed Insights complains about the expiry date set for the Google Analytics (or Google Tag Manager) script.
One way to work around this issue is to self host this script.
This however is not so good idea because this way the script will no longer be updated/bug-fixed.
This is where localga
steps in.
localga
automates the task of updating the Google Analytics (or Google Tag Manager) script.
You can also use this package if you need (or want to) self host the analytics files because you offer offline experience for your users. The actual analytics tracking should be done by you and is not part of this package.
npm i localga --save-dev
or
yarn add localga --dev
- As a package.json script:
"scripts": {
"ga": "localga --id UA-XXXXXXXX-Y --folder ./your/js/folder"
}
- From command line (Install the module globally first):
localga --id UA-XXXXXXXX-Y --folder ./your/js/folder
The localga
module will generate two new script files called google-analytics-local.js
and analytics.js
placed in the folder you provided.
If no --folder
is specified, the files will be placed in the root of your project.
After the files are generated, you should require
the google-analytics-local.js
file in your bundle (or include it in your HTML file(s)).
Then you should enable the analytics script. Something like the following:
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-XXXXXXXX-Y');
UA-XXXXXXXX-Y is your Google Analytics ID
MIT