Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'js/piwik.js')
-rw-r--r--js/piwik.js22
1 files changed, 19 insertions, 3 deletions
diff --git a/js/piwik.js b/js/piwik.js
index e280517eb2..0e158bc96c 100644
--- a/js/piwik.js
+++ b/js/piwik.js
@@ -71,7 +71,7 @@
discardHashTag, alwaysUseSendBeacon, disableAlwaysUseSendBeacon, isUsingAlwaysUseSendBeacon,
setCookieNamePrefix, setCookieDomain, setCookiePath, setSecureCookie, setVisitorIdCookie, getCookieDomain, hasCookies, setSessionCookie,
setVisitorCookieTimeout, setSessionCookieTimeout, setReferralCookieTimeout, getCookie, getCookiePath, getSessionCookieTimeout,
- setConversionAttributionFirstReferrer, tracker, request,
+ setExcludedQueryParams, setConversionAttributionFirstReferrer, tracker, request,
disablePerformanceTracking, maq_confirm_opted_in,
doNotTrack, setDoNotTrack, msDoNotTrack, getValuesFromVisitorIdCookie,
enableCrossDomainLinking, disableCrossDomainLinking, isCrossDomainLinkingEnabled, setCrossDomainLinkingTimeout, getCrossDomainLinkingUrlParameter,
@@ -2248,6 +2248,9 @@ if (typeof window.Matomo !== 'object') {
// HTML anchor element classes to not track
configIgnoreClasses = [],
+ // Query parameters to be excluded
+ configExcludedQueryParams = [],
+
// HTML anchor element classes to treat as downloads
configDownloadClasses = [],
@@ -2502,12 +2505,16 @@ if (typeof window.Matomo !== 'object') {
* or before being sent as GET parameters
*/
function purify(url) {
- var targetPattern;
+ var targetPattern, i;
// we need to remove this parameter here, they wouldn't be removed in Matomo tracker otherwise eg
// for outlinks or referrers
url = removeUrlParameter(url, configVisitorIdUrlParameter);
+ for (i = 0; i < configExcludedQueryParams.length; i++) {
+ url = removeUrlParameter(url, configExcludedQueryParams[i]);
+ }
+
if (configDiscardHashTag) {
targetPattern = new RegExp('#.*');
@@ -5809,6 +5816,15 @@ if (typeof window.Matomo !== 'object') {
};
/**
+ * Set an array of query parameters to be excluded if in the url
+ *
+ * @param string|array excludedQueryParams 'uid' or ['uid', 'sid']
+ */
+ this.setExcludedQueryParams = function (excludedQueryParams) {
+ configExcludedQueryParams = isString(excludedQueryParams) ? [excludedQueryParams] : excludedQueryParams;
+ };
+
+ /**
* Get first-party cookie domain
*/
this.getCookieDomain = function () {
@@ -7090,7 +7106,7 @@ if (typeof window.Matomo !== 'object') {
* Constructor
************************************************************/
- var applyFirst = ['addTracker', 'forgetCookieConsentGiven', 'requireCookieConsent', 'disableCookies', 'setTrackerUrl', 'setAPIUrl', 'enableCrossDomainLinking', 'setCrossDomainLinkingTimeout', 'setSessionCookieTimeout', 'setVisitorCookieTimeout', 'setCookieNamePrefix', 'setCookieSameSite', 'setSecureCookie', 'setCookiePath', 'setCookieDomain', 'setDomains', 'setUserId', 'setVisitorId', 'setSiteId', 'alwaysUseSendBeacon', 'enableLinkTracking', 'setCookieConsentGiven', 'requireConsent', 'setConsentGiven', 'disablePerformanceTracking', 'setPagePerformanceTiming'];
+ var applyFirst = ['addTracker', 'forgetCookieConsentGiven', 'requireCookieConsent', 'disableCookies', 'setTrackerUrl', 'setAPIUrl', 'enableCrossDomainLinking', 'setCrossDomainLinkingTimeout', 'setSessionCookieTimeout', 'setVisitorCookieTimeout', 'setCookieNamePrefix', 'setCookieSameSite', 'setSecureCookie', 'setCookiePath', 'setCookieDomain', 'setDomains', 'setUserId', 'setVisitorId', 'setSiteId', 'alwaysUseSendBeacon', 'enableLinkTracking', 'setCookieConsentGiven', 'requireConsent', 'setConsentGiven', 'disablePerformanceTracking', 'setPagePerformanceTiming', 'setExcludedQueryParams'];
function createFirstTracker(matomoUrl, siteId)
{