;(function() {
var rootElement = document.getElementById(‘shogun-experiment’)
var experimentId = rootElement.getAttribute(‘data-experiment-id’)
var variantIds = rootElement.getAttribute(‘data-variant-ids’).split(‘,’)
var variantWeightPercentage = Number(rootElement.getAttribute(‘data-variant-weight-percentage’))
var SHGQueryParams = window.location.search.substr(1).split(‘&’).reduce(function (q, query) {
var chunks = query.split(‘=’);
var key = chunks[0];
var value = chunks[1];
return (q[key] = value, q);
}, {});
var SHGStorage = {
set: function(key, value) {
return localStorage.setItem(key, value)
},
get: function(key) {
return localStorage.getItem(key)
},
remove: function(key) {
return localStorage.removeItem(key)
}
}
function weightedRandomIndex(weight) {
return Math.random() > weight ? 0 : 1
}
function getVariant() {
var experimentKey = ‘shogun-experiment’ + experimentId
var currentExperiment = SHGStorage.get(experimentKey)
if (currentExperiment) return currentExperiment
var randomIndex = weightedRandomIndex(variantWeightPercentage)
var variantId = variantIds[randomIndex]
SHGStorage.set(experimentKey, variantId)
return variantId
}
function getVariantId() {
return SHGQueryParams.variantId || getVariant()
}
function startExperiment() {
var variantId = getVariantId()
var variantScript = document.createElement(‘script’)
variantScript.type = ‘text/javascript’
variantScript.src = ‘https://cdn.getshogun.com/’ + experimentId + ‘-‘ + variantId + ‘.js’
document.body.appendChild(variantScript)
}
startExperiment()
})()



































Reviews
There are no reviews yet.