mirror of
https://github.com/TiddlyWiki/TiddlyWiki5.git
synced 2026-04-25 13:24:38 +00:00
Update to Google Analytics 4 (#7554)
* Adopt Google Analytics 4 tag code * Fix typo * Temporarily add Google Analytics tracking to tw5.com So that we can test everything is working with the Vercel preview * Remove test configuration
This commit is contained in:
@@ -17,7 +17,7 @@ exports.name = "google-analytics";
|
||||
exports.platforms = ["browser"];
|
||||
exports.synchronous = true;
|
||||
|
||||
var CONFIG_CONSENT_REQUIRED_TITLE = "$:/config/cookie-consent-required",
|
||||
var CONFIG_CONSENT_REQUIRED_TITLE = "$:/config/cookie-consent-required", // "yes" or "no" (the default)
|
||||
CONSENT_TITLE = "$:/state/consent-banner/accepted"; // "": undeclared, "yes": accepted, "no": declined
|
||||
|
||||
exports.startup = function() {
|
||||
@@ -25,15 +25,16 @@ exports.startup = function() {
|
||||
initialiseGoogleAnalytics = function() {
|
||||
console.log("Initialising Google Analytics");
|
||||
hasInitialised = true;
|
||||
var gaAccount = $tw.wiki.getTiddlerText("$:/GoogleAnalyticsAccount","").replace(/\n/g,""),
|
||||
gaDomain = $tw.wiki.getTiddlerText("$:/GoogleAnalyticsDomain","auto").replace(/\n/g,"");
|
||||
// Using ga "isogram" function
|
||||
(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',gaAccount,gaDomain);
|
||||
ga('send','pageview');
|
||||
var gaMeasurementID = $tw.wiki.getTiddlerText("$:/GoogleAnalyticsMeasurementID","").replace(/\n/g,"");
|
||||
var url ="https://www.googletagmanager.com/gtag/js?id=" + gaMeasurementID;
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
window.gtag = function() { window.dataLayer?.push(arguments); };
|
||||
window.gtag("js",new Date());
|
||||
window.gtag("config",gaMeasurementID);
|
||||
const scriptElement = window.document.createElement("script");
|
||||
scriptElement.async = true;
|
||||
scriptElement.src = url;
|
||||
window.document.head.appendChild(scriptElement);
|
||||
};
|
||||
// Initialise now if consent isn't required
|
||||
if($tw.wiki.getTiddlerText(CONFIG_CONSENT_REQUIRED_TITLE) !== "yes") {
|
||||
|
||||
Reference in New Issue
Block a user