From ace2c5778f00d7bd07d9d5cbb17cc41a309eb83c Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Tue, 23 May 2023 23:43:22 +0100 Subject: [PATCH] Call matomo manually on Turbo page visits --- app/webpacker/js/matomo.js | 10 ++++++++++ app/webpacker/packs/admin.js | 1 + app/webpacker/packs/application.js | 1 + 3 files changed, 12 insertions(+) create mode 100644 app/webpacker/js/matomo.js diff --git a/app/webpacker/js/matomo.js b/app/webpacker/js/matomo.js new file mode 100644 index 0000000000..e6ba5facf4 --- /dev/null +++ b/app/webpacker/js/matomo.js @@ -0,0 +1,10 @@ +// Call Matomo on asynchronous page loads +["turbo:load", "ujs:afterMorph"].forEach((listener) => + document.addEventListener(listener, (event) => { + if (typeof event?.detail?.timing === "object" && Object.keys(event?.detail?.timing).length === 0) { + return; + } + + window._mtm?.push({ "event": "mtm.PageView" }); + }) +); diff --git a/app/webpacker/packs/admin.js b/app/webpacker/packs/admin.js index 80b8b57af2..2980fdf0de 100644 --- a/app/webpacker/packs/admin.js +++ b/app/webpacker/packs/admin.js @@ -2,6 +2,7 @@ import "controllers"; import "channels"; import "@hotwired/turbo"; import "../js/mrujs"; +import "../js/matomo"; import "../js/moment"; import bigDecimal from "js-big-decimal"; diff --git a/app/webpacker/packs/application.js b/app/webpacker/packs/application.js index fff4a63b79..d565a6e818 100644 --- a/app/webpacker/packs/application.js +++ b/app/webpacker/packs/application.js @@ -1,6 +1,7 @@ import "controllers"; import "@hotwired/turbo"; import "../js/mrujs"; +import "../js/matomo"; import "../js/moment"; require.context("../fonts", true);