'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; } }