'use strict';
/** Provide easy access to the UTM parameters from the query parameters. */
export default class UtmParams {
/** Create an object which houses the UTM information from window.location.search
* at that moment in time.
*/
constructor() {
const params = new URLSearchParams(window.location.search);
this.source = params.get('utm_source') || params.get('campaignSource') || '';
this.campaign = params.get('utm_campaign') || params.get('campaignName') || '';
this.medium = params.get('utm_medium') || params.get('campaignMedium') || '';
this.content = params.get('utm_content') || params.get('campaignContent') || '';
this.term = params.get('utm_term') || params.get('campaignKeyword') || '';
}
/**
* Return the URL search parameter string corresponding to the UTM parameters
* @return {string} the search parameter string
*/
toString() {
return 'utm_source=' + this.source +
'&utm_campaign=' + this.campaign +
'&utm_medium=' + this.medium +
'&utm_content=' + this.content +
'&utm_term=' + this.term;
}
}