]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/matomo.js
Allow matomo cookie timeouts to be configured
[rails.git] / app / assets / javascripts / matomo.js
1 if (OSM.MATOMO) {
2   $(document).ready(function () {
3     var base = document.location.protocol + "//" + OSM.MATOMO.location + "/";
4     var matomoTracker;
5
6     var matomoLoader = $.ajax({
7       url: base + "matomo.js",
8       dataType: "script",
9       cache: true,
10       success: function () {
11         matomoTracker = Matomo.getTracker(base + "matomo.php", OSM.MATOMO.site);
12
13         if (OSM.user && OSM.MATOMO.set_user) {
14           matomoTracker.setUserId(OSM.user.toString());
15         }
16
17         if (OSM.MATOMO.visitor_cookie_timeout) {
18           matomoTracker.setVisitorCookieTimeout(OSM.MATOMO.visitor_cookie_timeout);
19         }
20
21         if (OSM.MATOMO.referral_cookie_timeout) {
22           matomoTracker.setReferralCookieTimeout(OSM.MATOMO.referral_cookie_timeout);
23         }
24
25         if (OSM.MATOMO.session_cookie_timeout) {
26           matomoTracker.setSessionCookieTimeout(OSM.MATOMO.session_cookie_timeout);
27         }
28
29         matomoTracker.trackPageView();
30         matomoTracker.enableLinkTracking();
31
32         $("meta[name=matomo-goal]").each(function () {
33           matomoTracker.trackGoal($(this).attr("content"));
34         });
35       }
36     });
37
38     $("body").on("matomogoal", function (e, goal) {
39       matomoLoader.done(function () {
40         matomoTracker.trackGoal(goal);
41       });
42     });
43   });
44 }