UNPKG

sourcebuster

Version:

Get sources of your site's visitors (utm / organic / referral / typein).

101 lines (81 loc) 2.59 kB
"use strict"; var terms = require('./terms'), utils = require('./helpers/utils'); var data = { containers: { current: 'sbjs_current', current_extra: 'sbjs_current_add', first: 'sbjs_first', first_extra: 'sbjs_first_add', session: 'sbjs_session', udata: 'sbjs_udata', promocode: 'sbjs_promo' }, service: { migrations: 'sbjs_migrations' }, delimiter: '|||', aliases: { main: { type: 'typ', source: 'src', medium: 'mdm', campaign: 'cmp', content: 'cnt', term: 'trm' }, extra: { fire_date: 'fd', entrance_point: 'ep', referer: 'rf' }, session: { pages_seen: 'pgs', current_page: 'cpg' }, udata: { visits: 'vst', ip: 'uip', agent: 'uag' }, promo: 'code' }, pack: { main: function(sbjs) { return ( data.aliases.main.type + '=' + sbjs.type + data.delimiter + data.aliases.main.source + '=' + sbjs.source + data.delimiter + data.aliases.main.medium + '=' + sbjs.medium + data.delimiter + data.aliases.main.campaign + '=' + sbjs.campaign + data.delimiter + data.aliases.main.content + '=' + sbjs.content + data.delimiter + data.aliases.main.term + '=' + sbjs.term ); }, extra: function(timezone_offset) { return ( data.aliases.extra.fire_date + '=' + utils.setDate(new Date, timezone_offset) + data.delimiter + data.aliases.extra.entrance_point + '=' + document.location.href + data.delimiter + data.aliases.extra.referer + '=' + (document.referrer || terms.none) ); }, user: function(visits, user_ip) { return ( data.aliases.udata.visits + '=' + visits + data.delimiter + data.aliases.udata.ip + '=' + user_ip + data.delimiter + data.aliases.udata.agent + '=' + navigator.userAgent ); }, session: function(pages) { return ( data.aliases.session.pages_seen + '=' + pages + data.delimiter + data.aliases.session.current_page + '=' + document.location.href ); }, promo: function(promo) { return ( data.aliases.promo + '=' + utils.setLeadingZeroToInt(utils.randomInt(promo.min, promo.max), promo.max.toString().length) ); } } }; module.exports = data;