]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/matomo.js
Merge remote-tracking branch 'upstream/pull/4699'
[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.setSecureCookie(true);
30         matomoTracker.trackPageView();
31         matomoTracker.enableLinkTracking();
32
33         $("meta[name=matomo-goal]").each(function () {
34           matomoTracker.trackGoal($(this).attr("content"));
35         });
36       }
37     });
38
39     $("body").on("matomogoal", function (e, goal) {
40       matomoLoader.done(function () {
41         matomoTracker.trackGoal(goal);
42       });
43     });
44   });
45 }