Ebook: Buyer persona stappenplan

Marketing begint bij het creëren van een buyer persona. Dit stappenplan helpt je om een buyer persona op te stellen, tips voor het interviewen en veelgemaakte fouten.
Buyer persona stappenplan

In dit e-book leer je:

  • Wat is een buyer persona?
  • Opstellen en inzetten van buyer persona’s
  • Tips bij het interviewen
  • Veelgemaakte fouten
#_form_15_ { font-size:14px; line-height:1.6; font-family:arial, helvetica, sans-serif; margin:0; } #_form_15_ * { outline:0; } ._form_hide { display:none; visibility:hidden; } ._form_show { display:block; visibility:visible; } #_form_15_._form-top { top:0; } #_form_15_._form-bottom { bottom:0; } #_form_15_._form-left { left:0; } #_form_15_._form-right { right:0; } #_form_15_ input[type="text"],#_form_15_ input[type="date"],#_form_15_ textarea { padding:6px; height:auto; border:#979797 1px solid; border-radius:4px; color:#000 !important; font-size:14px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; } #_form_15_ textarea { resize:none; } #_form_15_ ._submit { -webkit-appearance:none; cursor:pointer; font-family:arial, sans-serif; font-size:14px; text-align:center; background:#ff6857 !important; border:0 !important; -moz-border-radius:4px !important; -webkit-border-radius:4px !important; border-radius:4px !important; color:#fff !important; padding:12px !important; } #_form_15_ ._close-icon { cursor:pointer; background-image:url('https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png'); background-repeat:no-repeat; background-size:14.2px 14.2px; position:absolute; display:block; top:11px; right:9px; overflow:hidden; width:16.2px; height:16.2px; } #_form_15_ ._close-icon:before { position:relative; } #_form_15_ ._form-body { margin-bottom:30px; } #_form_15_ ._form-image-left { width:150px; float:left; } #_form_15_ ._form-content-right { margin-left:164px; } #_form_15_ ._form-branding { color:#fff; font-size:10px; clear:both; text-align:left; margin-top:30px; font-weight:100; } #_form_15_ ._form-branding ._logo { display:block; width:130px; height:14px; margin-top:6px; background-image:url('https://d226aj4ao1t61q.cloudfront.net/hh9ujqgv5_aclogo_li.png'); background-size:130px auto; background-repeat:no-repeat; } #_form_15_ .form-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); border:0; } #_form_15_ ._form-label,#_form_15_ ._form_element ._form-label { font-weight:bold; margin-bottom:5px; display:block; } #_form_15_._dark ._form-branding { color:#333; } #_form_15_._dark ._form-branding ._logo { background-image:url('https://d226aj4ao1t61q.cloudfront.net/jftq2c8s_aclogo_dk.png'); } #_form_15_ ._form_element { position:relative; margin-bottom:10px; font-size:0; max-width:100%; } #_form_15_ ._form_element * { font-size:14px; } #_form_15_ ._form_element._clear { clear:both; width:100%; float:none; } #_form_15_ ._form_element._clear:after { clear:left; } #_form_15_ ._form_element input[type="text"],#_form_15_ ._form_element input[type="date"],#_form_15_ ._form_element select,#_form_15_ ._form_element textarea:not(.g-recaptcha-response) { display:block; width:100%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-family:inherit; } #_form_15_ ._field-wrapper { position:relative; } #_form_15_ ._inline-style { float:left; } #_form_15_ ._inline-style input[type="text"] { width:150px; } #_form_15_ ._inline-style:not(._clear) + ._inline-style:not(._clear) { margin-left:20px; } #_form_15_ ._form_element img._form-image { max-width:100%; } #_form_15_ ._form_element ._form-fieldset { border:0; padding:0.01em 0 0 0; margin:0; min-width:0; } #_form_15_ ._clear-element { clear:left; } #_form_15_ ._full_width { width:100%; } #_form_15_ ._form_full_field { display:block; width:100%; margin-bottom:10px; } #_form_15_ input[type="text"]._has_error,#_form_15_ textarea._has_error { border:#f37c7b 1px solid; } #_form_15_ input[type="checkbox"]._has_error { outline:#f37c7b 1px solid; } #_form_15_ ._error { display:block; position:absolute; font-size:14px; z-index:10000001; } #_form_15_ ._error._above { padding-bottom:4px; bottom:39px; right:0; } #_form_15_ ._error._below { padding-top:4px; top:100%; right:0; } #_form_15_ ._error._above ._error-arrow { bottom:0; right:15px; border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid #f37c7b; } #_form_15_ ._error._below ._error-arrow { top:0; right:15px; border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:5px solid #f37c7b; } #_form_15_ ._error-inner { padding:8px 12px; background-color:#f37c7b; font-size:14px; font-family:arial, sans-serif; color:#fff; text-align:center; text-decoration:none; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; } #_form_15_ ._error-inner._form_error { margin-bottom:5px; text-align:left; } #_form_15_ ._button-wrapper ._error-inner._form_error { position:static; } #_form_15_ ._error-inner._no_arrow { margin-bottom:10px; } #_form_15_ ._error-arrow { position:absolute; width:0; height:0; } #_form_15_ ._error-html { margin-bottom:10px; } .pika-single { z-index:10000001 !important; } #_form_15_ input[type="text"].datetime_date { width:69%; display:inline; } #_form_15_ select.datetime_time { width:29%; display:inline; height:32px; } @media all and (min-width:320px) and (max-width:667px) { ::-webkit-scrollbar { display:none; } #_form_15_ { margin:0; width:100%; min-width:100%; max-width:100%; box-sizing:border-box; } #_form_15_ * { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-size:1em; } #_form_15_ ._form-content { margin:0; width:100%; } #_form_15_ ._form-inner { display:block; min-width:100%; } #_form_15_ ._form-title,#_form_15_ ._inline-style { margin-top:0; margin-right:0; margin-left:0; } #_form_15_ ._form-title { font-size:1.2em; } #_form_15_ ._form_element { margin:0 0 20px; padding:0; width:100%; } #_form_15_ ._form-element,#_form_15_ ._inline-style,#_form_15_ input[type="text"],#_form_15_ label,#_form_15_ p,#_form_15_ textarea:not(.g-recaptcha-response) { float:none; display:block; width:100%; } #_form_15_ ._row._checkbox-radio label { display:inline; } #_form_15_ ._row,#_form_15_ p,#_form_15_ label { margin-bottom:0.7em; width:100%; } #_form_15_ ._row input[type="checkbox"],#_form_15_ ._row input[type="radio"] { margin:0 !important; vertical-align:middle !important; } #_form_15_ ._row input[type="checkbox"] + span label { display:inline; } #_form_15_ ._row span label { margin:0 !important; width:initial !important; vertical-align:middle !important; } #_form_15_ ._form-image { max-width:100%; height:auto !important; } #_form_15_ input[type="text"] { padding-left:10px; padding-right:10px; font-size:16px; line-height:1.3em; -webkit-appearance:none; } #_form_15_ input[type="radio"],#_form_15_ input[type="checkbox"] { display:inline-block; width:1.3em; height:1.3em; font-size:1em; margin:0 0.3em 0 0; vertical-align:baseline; } #_form_15_ button[type="submit"] { padding:20px; font-size:1.5em; } #_form_15_ ._inline-style { margin:20px 0 0 !important; } } #_form_15_ { position:relative; text-align:left; margin:25px auto 0; padding:20px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; *zoom:1; background:transparent !important; border:0px solid #b0b0b0 !important; width:766px; -moz-border-radius:0px !important; -webkit-border-radius:0px !important; border-radius:0px !important; color:#0039b7 !important; } #_form_15_._inline-form,#_form_15_._inline-form ._form-content,#_form_15_._inline-form input,#_form_15_._inline-form ._submit { font-family:arial, helvetica, sans, 'IBM Plex Sans', arial, sans-serif; } #_form_15_ ._form-title { font-size:22px; line-height:22px; font-weight:600; margin-bottom:0; } #_form_15_:before,#_form_15_:after { content:" "; display:table; } #_form_15_:after { clear:both; } #_form_15_._inline-style { width:auto; display:inline-block; } #_form_15_._inline-style input[type="text"],#_form_15_._inline-style input[type="date"] { padding:10px 12px; } #_form_15_._inline-style button._inline-style { position:relative; top:27px; } #_form_15_._inline-style p { margin:0; } #_form_15_._inline-style ._button-wrapper { position:relative; margin:27px 12.5px 0 20px; } #_form_15_ ._form-thank-you { position:relative; left:0; right:0; text-align:center; font-size:18px; } @media all and (min-width:320px) and (max-width:667px) { #_form_15_._inline-form._inline-style ._inline-style._button-wrapper { margin-top:20px !important; margin-left:0 !important; } } #_form_15_ { /* Styling for all fonts */ /* Styling for all input areas */ /* Styling for input type = select */ /* Submit button aligned center */ /* No padding around form */ /* Styling for the submit button */ } @font-face { font-family:faktumregular; src:url(https://www.spotonvision.com/wp-content/themes/lagoon/fonts/rene_bieder_-_faktum_regular-webfont.woff2) format("woff2"), url(https://www.spotonvision.com/wp-content/themes/lagoon/fonts/rene_bieder_-_faktum_regular-webfont.woff) format("woff"); font-weight:300; font-style:normal; } @font-face { font-family:faktummedium; src:url(https://www.spotonvision.com/wp-content/themes/lagoon/fonts/rene_bieder_-_faktum_medium-webfont.woff2) format("woff2"), url(https://www.spotonvision.com/wp-content/themes/lagoon/fonts/rene_bieder_-_faktum_medium-webfont.woff) format("woff"); font-weight:400; font-style:normal; } @font-face { font-family:faktumbold; src:url(https://www.spotonvision.com/wp-content/themes/lagoon/fonts/rene_bieder_-_faktum_bold-webfont.woff2) format("woff2"), url(https://www.spotonvision.com/wp-content/themes/lagoon/fonts/rene_bieder_-_faktum_bold-webfont.woff) format("woff"); font-weight:400; font-style:normal; } #_form_15_ ._form-label,#_form_15_ ._form-content,#_form_15_ ._html-code,#_form_15_ ._form_element * { font-family:faktumregular, arial, sans-serif !important; font-size:18px !important; font-weight:normal !important; } #_form_15_ ._form_element input,#_form_15_ ._form_element textarea,#_form_15_ ._form_element select { background-color:#fff; border-color:#ececec; border-width:1px; color:#545454; font-size:18px; } #_form_15_ ._form_element select { padding:6px 6px 6px 6px !important; } #_form_15_ ._button-wrapper { text-align:center; } #_form_15_._form { padding:0px !important; } #_form_15_ ._submit { font-family:faktumregular, arial, sans-serif !important; font-size:18px !important; margin-top:10px; } @media (min-width: 320px) and (max-width: 667px) ._submit { #_form_15_ { font-family:faktumregular, arial, sans-serif !important; font-size:18px !important; margin-top:10px; } } #_form_15_ #field_59true { display:none; } #_form_15_ label[for="field_59true"] { display:none !important; } #_form_15_ #field_59 { display:none; } #_form_15_ #field_59false { display:none; } #_form_15_ label[for="field_59false"] { display:none !important; }
Algemene interesse Onderzoek of het iets voor mij/ons is Doe onderzoek hoe te starten met buyer persona's Gestart met ontwikkelen van buyer persona's, altijd open voor nieuwe inzichten Werk al met buyer persona's. Benieuwd naar jullie input Geen antwoord
Marketing Marketing/Communication - Professional Junior Level Marketing/Communication - Manager Level Marketing/Communication - Director Level Marketing/Communication - VP Level Communicatie Sales Sales - Manager Level Service Anders Student

Door je aan te melden, ga je akkoord met de Privacy Policy van SPOTONVISION. Jouw gegevens gebruiken we alleen om je updates te sturen en worden niet aan derden verstrekt. De gegevens worden zorgvuldig bewaard en niet langer dan door jou aangegeven. Informatie over jouw rechten en beleid rondom het verwerken van persoonlijke gegevens vind je in onze privacyverklaring.

window.cfields = {"79":"main_challenge_bp_nl","78":"contact_function_form","59":"opt_in","86":"utm_source","88":"utm_campaign","87":"utm_medium","90":"initial_referrer","89":"last_referrer","91":"initial_landingpage"}; window._show_thank_you = function(id, message, trackcmp_url, email) { var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you'); form.querySelector('._form-content').style.display = 'none'; thank_you.innerHTML = message; thank_you.style.display = 'block'; const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias; var visitorObject = window[vgoAlias]; if (email && typeof visitorObject !== 'undefined') { visitorObject('setEmail', email); visitorObject('update'); } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) { // Site tracking URL to use after inline form submission. _load_script(trackcmp_url); } if (typeof window._form_callback !== 'undefined') window._form_callback(id); }; window._show_error = function(id, message, html) { var form = document.getElementById('_form_' + id + '_'), err = document.createElement('div'), button = form.querySelector('button'), old_error = form.querySelector('._form_error'); if (old_error) old_error.parentNode.removeChild(old_error); err.innerHTML = message; err.className = '_error-inner _form_error _no_arrow'; var wrapper = document.createElement('div'); wrapper.className = '_form-inner'; wrapper.appendChild(err); button.parentNode.insertBefore(wrapper, button); document.querySelector('[id^="_form"][id$="_submit"]').disabled = false; if (html) { var div = document.createElement('div'); div.className = '_error-html'; div.innerHTML = html; err.appendChild(div); } }; window._load_script = function(url, callback) { var head = document.querySelector('head'), script = document.createElement('script'), r = false; script.type = 'text/javascript'; script.charset = 'utf-8'; script.src = url; if (callback) { script.onload = script.onreadystatechange = function() { if (!r && (!this.readyState || this.readyState == 'complete')) { r = true; callback(); } }; } head.appendChild(script); }; (function() { if (window.location.search.search("excludeform") !== -1) return false; var getCookie = function(name) { var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)')); return match ? match[2] : null; } var setCookie = function(name, value) { var now = new Date(); var time = now.getTime(); var expireTime = time + 1000 * 60 * 60 * 24 * 365; now.setTime(expireTime); document.cookie = name + '=' + value + '; expires=' + now + ';path=/'; } var addEvent = function(element, event, func) { if (element.addEventListener) { element.addEventListener(event, func); } else { var oldFunc = element['on' + event]; element['on' + event] = function() { oldFunc.apply(this, arguments); func.apply(this, arguments); }; } } var _removed = false; var form_to_submit = document.getElementById('_form_15_'); var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false; var getUrlParam = function(name) { var regexStr = '[\?&]' + name + '=([^&#]*)'; var results = new RegExp(regexStr, 'i').exec(window.location.href); return results != undefined ? decodeURIComponent(results[1]) : false; }; for (var i = 0; i < allInputs.length; i++) { var regexStr = "field\\[(\\d+)\\]"; var results = new RegExp(regexStr).exec(allInputs[i].name); if (results != undefined) { allInputs[i].dataset.name = window.cfields[results[1]]; } else { allInputs[i].dataset.name = allInputs[i].name; } var fieldVal = getUrlParam(allInputs[i].dataset.name); if (fieldVal) { if (allInputs[i].dataset.autofill === "false") { continue; } if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") { if (allInputs[i].value == fieldVal) { allInputs[i].checked = true; } } else { allInputs[i].value = fieldVal; } } } var remove_tooltips = function() { for (var i = 0; i < tooltips.length; i++) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); } tooltips = []; }; var remove_tooltip = function(elem) { for (var i = 0; i < tooltips.length; i++) { if (tooltips[i].elem === elem) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); tooltips.splice(i, 1); return; } } }; var create_tooltip = function(elem, text) { var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {}; if (elem.type != 'radio' && elem.type != 'checkbox') { tooltip.className = '_error'; arrow.className = '_error-arrow'; inner.className = '_error-inner'; inner.innerHTML = text; tooltip.appendChild(arrow); tooltip.appendChild(inner); elem.parentNode.appendChild(tooltip); } else { tooltip.className = '_error-inner _no_arrow'; tooltip.innerHTML = text; elem.parentNode.insertBefore(tooltip, elem); new_tooltip.no_arrow = true; } new_tooltip.tip = tooltip; new_tooltip.elem = elem; tooltips.push(new_tooltip); return new_tooltip; }; var resize_tooltip = function(tooltip) { var rect = tooltip.elem.getBoundingClientRect(); var doc = document.documentElement, scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)); if (scrollPosition < 40) { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below'; } else { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above'; } }; var resize_tooltips = function() { if (_removed) return; for (var i = 0; i < tooltips.length; i++) { if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]); } }; var validate_field = function(elem, remove) { var tooltip = null, value = elem.value, no_error = true; remove ? remove_tooltip(elem) : false; if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, ''); if (elem.getAttribute('required') !== null) { if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) { var elems = form_to_submit.elements[elem.name]; if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) { no_error = elem.checked; } else { no_error = false; for (var i = 0; i < elems.length; i++) { if (elems[i].checked) no_error = true; } } if (!no_error) { tooltip = create_tooltip(elem, "Please select an option."); } } else if (elem.type =='checkbox') { var elems = form_to_submit.elements[elem.name], found = false, err = []; no_error = true; for (var i = 0; i < elems.length; i++) { if (elems[i].getAttribute('required') === null) continue; if (!found && elems[i] !== elem) return true; found = true; elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, ''); if (!elems[i].checked) { no_error = false; elems[i].className = elems[i].className + ' _has_error'; err.push("Checking %s is required".replace("%s", elems[i].value)); } } if (!no_error) { tooltip = create_tooltip(elem, err.join('
')); } } else if (elem.tagName == 'SELECT') { var selected = true; if (elem.multiple) { selected = false; for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected) { selected = true; break; } } } else { for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected && !elem.options[i].value) { selected = false; } } } if (!selected) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Please select an option."); } } else if (value === undefined || value === null || value === '') { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "This field is required."); } } if (no_error && elem.name == 'email') { if (!value.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Enter a valid email address."); } } if (no_error && /date_field/.test(elem.className)) { if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Enter a valid date."); } } tooltip ? resize_tooltip(tooltip) : false; return no_error; }; var needs_validate = function(el) { if(el.getAttribute('required') !== null){ return true } if(el.name === 'email' && el.value !== ""){ return true } return false }; var validate_form = function(e) { var err = form_to_submit.querySelector('._form_error'), no_error = true; if (!submitted) { submitted = true; for (var i = 0, len = allInputs.length; i < len; i++) { var input = allInputs[i]; if (needs_validate(input)) { if (input.type == 'text') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); addEvent(input, 'input', function() { validate_field(this, true); }); } else if (input.type == 'radio' || input.type == 'checkbox') { (function(el) { var radios = form_to_submit.elements[el.name]; for (var i = 0; i < radios.length; i++) { addEvent(radios[i], 'click', function() { validate_field(el, true); }); } })(input); } else if (input.tagName == 'SELECT') { addEvent(input, 'change', function() { validate_field(this, true); }); } else if (input.type == 'textarea'){ addEvent(input, 'input', function() { validate_field(this, true); }); } } } } remove_tooltips(); for (var i = 0, len = allInputs.length; i < len; i++) { var elem = allInputs[i]; if (needs_validate(elem)) { if (elem.tagName.toLowerCase() !== "select") { elem.value = elem.value.trim(); } validate_field(elem) ? true : no_error = false; } } if (!no_error && e) { e.preventDefault(); } resize_tooltips(); return no_error; }; addEvent(window, 'resize', resize_tooltips); addEvent(window, 'scroll', resize_tooltips); window._old_serialize = null; if (typeof serialize !== 'undefined') window._old_serialize = window.serialize; _load_script("//d3rxaij56vjege.cloudfront.net/form-serialize/0.3/serialize.min.js", function() { window._form_serialize = window.serialize; if (window._old_serialize) window.serialize = window._old_serialize; }); var form_submit = function(e) { e.preventDefault(); if (validate_form()) { // use this trick to get the submit button & disable it using plain javascript document.querySelector('#_form_15_submit').disabled = true; var serialized = _form_serialize(document.getElementById('_form_15_')).replace(/%0A/g, '\\n'); var err = form_to_submit.querySelector('._form_error'); err ? err.parentNode.removeChild(err) : false; _load_script('https://spotonvision.activehosted.com/proc.php?' + serialized + '&jsonp=true'); } return false; }; addEvent(form_to_submit, 'submit', form_submit); })(); a = 5; b = 6; c = a + b; console.log(c); var _uf = _uf || {}; _uf.utm_source_field = "utm_soruce"; // Default 'USOURCE' _uf.utm_medium_field = "utm_medium"; // Default 'UMEDIUM' _uf.utm_campaign_field = "utm_campaign"; // Default 'UCAMPAIGN' _uf.utm_content_field = "utm_content"; // Default 'UCONTENT' _uf.utm_term_field = "utm_term"; // Default 'UTERM' _uf.initial_referrer_field = "initial_referrer"; // Default 'IREFERRER' _uf.last_referrer_field = "last_referrer"; // Default 'LREFERRER' _uf.initial_landing_page_field = "initial_landingpage"; // Default 'ILANDPAGE' _uf.visits_field = "visits"; // Default 'VISITS' var UtmCookie; UtmCookie = (function() { function UtmCookie(options) { if (options == null) { options = {}; } this._cookieNamePrefix = '_uc_'; this._domain = options.domain; this._sessionLength = options.sessionLength || 1; this._cookieExpiryDays = options.cookieExpiryDays || 365; this._additionalParams = options.additionalParams || []; this._utmParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content']; this.writeInitialReferrer(); this.writeLastReferrer(); this.writeInitialLandingPageUrl(); this.setCurrentSession(); if (this.additionalParamsPresentInUrl()) { this.writeAdditionalParams(); } if (this.utmPresentInUrl()) { this.writeUtmCookieFromParams(); } return; } UtmCookie.prototype.createCookie = function(name, value, days, path, domain, secure) { var cookieDomain, cookieExpire, cookiePath, cookieSecure, date, expireDate; expireDate = null; if (days) { date = new Date; date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000); expireDate = date; } cookieExpire = expireDate != null ? '; expires=' + expireDate.toGMTString() : ''; cookiePath = path != null ? '; path=' + path : '; path=/'; cookieDomain = domain != null ? '; domain=' + domain : ''; cookieSecure = secure != null ? '; secure' : ''; document.cookie = this._cookieNamePrefix + name + '=' + escape(value) + cookieExpire + cookiePath + cookieDomain + cookieSecure; }; UtmCookie.prototype.readCookie = function(name) { var c, ca, i, nameEQ; nameEQ = this._cookieNamePrefix + name + '='; ca = document.cookie.split(';'); i = 0; while (i < ca.length) { c = ca[i]; while (c.charAt(0) === ' ') { c = c.substring(1, c.length); } if (c.indexOf(nameEQ) === 0) { return c.substring(nameEQ.length, c.length); } i++; } return null; }; UtmCookie.prototype.eraseCookie = function(name) { this.createCookie(name, '', -1, null, this._domain); }; UtmCookie.prototype.getParameterByName = function(name) { var regex, regexS, results; name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); regexS = '[\\?&]' + name + '=([^&#]*)'; regex = new RegExp(regexS); results = regex.exec(window.location.search); if (results) { return decodeURIComponent(results[1].replace(/\+/g, ' ')); } else { return ''; } }; UtmCookie.prototype.additionalParamsPresentInUrl = function() { var j, len, param, ref; ref = this._additionalParams; for (j = 0, len = ref.length; j < len; j++) { param = ref[j]; if (this.getParameterByName(param)) { return true; } } return false; }; UtmCookie.prototype.utmPresentInUrl = function() { var j, len, param, ref; ref = this._utmParams; for (j = 0, len = ref.length; j < len; j++) { param = ref[j]; if (this.getParameterByName(param)) { return true; } } return false; }; UtmCookie.prototype.writeCookie = function(name, value) { this.createCookie(name, value, this._cookieExpiryDays, null, this._domain); }; UtmCookie.prototype.writeAdditionalParams = function() { var j, len, param, ref, value; ref = this._additionalParams; for (j = 0, len = ref.length; j < len; j++) { param = ref[j]; value = this.getParameterByName(param); this.writeCookie(param, value); } }; UtmCookie.prototype.writeUtmCookieFromParams = function() { var j, len, param, ref, value; ref = this._utmParams; for (j = 0, len = ref.length; j -1 || referrer.indexOf(hostname) > -1; }; UtmCookie.prototype._isInvalidReferrer = function(referrer) { return referrer === '' || referrer === void 0; }; UtmCookie.prototype.writeInitialReferrer = function() { var value; value = document.referrer; if (this._isInvalidReferrer(value)) { value = 'direct'; } this.writeCookieOnce('referrer', value); }; UtmCookie.prototype.writeLastReferrer = function() { var value; value = document.referrer; if (!this._sameDomainReferrer(value)) { if (this._isInvalidReferrer(value)) { value = 'direct'; } this.writeCookie('last_referrer', value); } }; UtmCookie.prototype.writeInitialLandingPageUrl = function() { var value; value = this.cleanUrl(); if (value) { this.writeCookieOnce('initial_landing_page', value); } }; UtmCookie.prototype.initialReferrer = function() { return this.readCookie('referrer'); }; UtmCookie.prototype.lastReferrer = function() { return this.readCookie('last_referrer'); }; UtmCookie.prototype.initialLandingPageUrl = function() { return this.readCookie('initial_landing_page'); }; UtmCookie.prototype.incrementVisitCount = function() { var cookieName, existingValue, newValue; cookieName = 'visits'; existingValue = parseInt(this.readCookie(cookieName), 10); newValue = 1; if (isNaN(existingValue)) { newValue = 1; } else { newValue = existingValue + 1; } this.writeCookie(cookieName, newValue); }; UtmCookie.prototype.visits = function() { return this.readCookie('visits'); }; UtmCookie.prototype.setCurrentSession = function() { var cookieName, existingValue; cookieName = 'current_session'; existingValue = this.readCookie(cookieName); if (!existingValue) { this.createCookie(cookieName, 'true', this._sessionLength / 24, null, this._domain); this.incrementVisitCount(); } }; UtmCookie.prototype.cleanUrl = function() { var cleanSearch; cleanSearch = window.location.search.replace(/utm_[^&]+&?/g, '').replace(/&$/, '').replace(/^\?$/, ''); return window.location.origin + window.location.pathname + cleanSearch + window.location.hash; }; return UtmCookie; })(); var UtmForm, _uf; UtmForm = (function() { function UtmForm(options) { if (options == null) { options = {}; } this._utmParamsMap = {}; this._utmParamsMap.utm_source = options.utm_source_field || 'USOURCE'; this._utmParamsMap.utm_medium = options.utm_medium_field || 'UMEDIUM'; this._utmParamsMap.utm_campaign = options.utm_campaign_field || 'UCAMPAIGN'; this._utmParamsMap.utm_content = options.utm_content_field || 'UCONTENT'; this._utmParamsMap.utm_term = options.utm_term_field || 'UTERM'; this._additionalParamsMap = options.additional_params_map || {}; this._initialReferrerField = options.initial_referrer_field || 'IREFERRER'; this._lastReferrerField = options.last_referrer_field || 'LREFERRER'; this._initialLandingPageField = options.initial_landing_page_field || 'ILANDPAGE'; this._visitsField = options.visits_field || 'VISITS'; this._addToForm = options.add_to_form || 'all'; this._formQuerySelector = options.form_query_selector || 'form'; this.utmCookie = new UtmCookie({ domain: options.domain, sessionLength: options.sessionLength, cookieExpiryDays: options.cookieExpiryDays, additionalParams: Object.getOwnPropertyNames(this._additionalParamsMap) }); if (this._addToForm !== 'none') { this.addAllFields(); } } UtmForm.prototype.addAllFields = function() { var fieldName, param, ref, ref1; ref = this._utmParamsMap; for (param in ref) { fieldName = ref[param]; this.addFormElem(fieldName, this.utmCookie.readCookie(param)); } ref1 = this._additionalParamsMap; for (param in ref1) { fieldName = ref1[param]; this.addFormElem(fieldName, this.utmCookie.readCookie(param)); } this.addFormElem(this._initialReferrerField, this.utmCookie.initialReferrer()); this.addFormElem(this._lastReferrerField, this.utmCookie.lastReferrer()); this.addFormElem(this._initialLandingPageField, this.utmCookie.initialLandingPageUrl()); this.addFormElem(this._visitsField, this.utmCookie.visits()); }; UtmForm.prototype.addFormElem = function(fieldName, fieldValue) { var allForms, firstForm, form, i, len; if (fieldValue) { allForms = document.querySelectorAll(this._formQuerySelector); if (allForms.length > 0) { this.deleteEloquaField(fieldName); if (this._addToForm === 'first') { firstForm = allForms[0]; this.insertAfter(this.getFieldEl(fieldName, fieldValue), firstForm.lastChild); } else { for (i = 0, len = allForms.length; i < len; i++) { form = allForms[i]; this.insertAfter(this.getFieldEl(fieldName, fieldValue), form.lastChild); } } } } }; UtmForm.prototype.getFieldEl = function(fieldName, fieldValue) { var fieldEl; fieldEl = document.createElement('input'); fieldEl.type = "hidden"; fieldEl.name = fieldName; fieldEl.value = fieldValue; return fieldEl; }; UtmForm.prototype.insertAfter = function(newNode, referenceNode) { return referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling); }; UtmForm.prototype.deleteEloquaField = function(fieldName) { //Added retrieving old value and if necessery add it and afterwards remove the old field var oldEl; oldEl = document.getElementsByName(fieldName)[0]; if(oldEl != null) { oldEl.parentNode.removeChild(oldEl); } //End of remove script } return UtmForm; })(); _uf = window._uf || {}; window.UtmForm = new UtmForm(_uf);