2017-02-10 5 views
0

Так что я в настоящее время могу захватить значение GCLID у посетителей и передать это через наши формы просто отлично. Мой вопрос заключается в том, что, используя те же сценарии (прилагается ниже), можно ли также захватить значение utm? Например, если посетитель приходит на сайт из объявления Bing, URL-адрес будет что-то вроде www.example.com/?utm_source=bing & utm_medium = КОПХранить теги gclid и bing utm в cookie, передать значения в форму

Мне нужно, чтобы иметь возможность хранить значение utm_source (bing) в файле cookie и передать это значение нашим формам.

Код, который работает для меня в настоящее время с GCLID:

Магазин GCLID в печенье (до </body> тега): значение

<script type="text/javascript"> 
function setCookie(name, value, days){ 
var date = new Date(); 
date.setTime(date.getTime() + (days*24*60*60*1000)); 
var expires = "; expires=" + date.toGMTString(); 
document.cookie = name + "=" + value + expires + ";path=/"; 
} 
function getParam(p){ 
var match = RegExp('[?&]' + p + '=  ([^&]*)').exec(window.location.search); 
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));} 
var gclid = getParam('gclid'); 
if(gclid){ 
var gclsrc = getParam('gclsrc'); 
if(!gclsrc || gclsrc.indexOf('aw') !== -1){ 
    setCookie('gclid', gclid, 90); 
} 
} 
</script> 

Pass, чтобы сформировать (в заголовке):

<script> 
window.onload = function getGclid() {   
document.getElementById("00N3100000H5IBe").value = (name = new  
RegExp('(?:^|;\\s*)gclid=([^;]*)').exec(document.cookie)) ? 
name.split(",")[1] : ""; } 
// window.onload() may not be supported by all browsers. 
// If you experience problems submitting the GCLID as a 
// hidden field, consider using an alternate method to 
// call this function on page load. 
</script> 

Я могу изменить текущие сценарии для захвата значения utm, но тогда он не будет записывать значение gclid. До сих пор я не мог сделать то и другое.

Любая помощь или направление были бы очень признательны. Пожалуйста, дайте мне знать, если мне нужно лучше объяснить ситуацию. Благодаря!

ответ

0

Код ниже помещает код GCLID в скрытое поле ИЛИ UTM_Source. У меня есть все это в теле, так как сначала вам нужно установить cookie, а затем прочитать его.

Удачи вам!

ПРИМЕЧАНИЕ: поле «Поле7» является идентификатором скрытого поля в моей форме. Вам нужно будет изменить его на свою форму.

<script type="text/javascript"> 
 
function setCookie(name, value, days){ 
 
    var date = new Date(); 
 
    date.setTime(date.getTime() + (days*24*60*60*1000)); 
 
    var expires = "; expires=" + date.toGMTString(); 
 
    document.cookie = name + "=" + value + expires + ";path=/"; 
 
} 
 
function getParam(p){ 
 
    var match = RegExp('[?&]' + p + '=([^&]*)').exec(window.location.search); 
 
    return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); 
 
} 
 
function readCookie(name) { 
 
var n = name + "="; 
 
var cookie = document.cookie.split(';'); 
 
for(var i=0;i < cookie.length;i++) {  
 
    var c = cookie[i];  
 
    while (c.charAt(0)==' '){c = c.substring(1,c.length);}  
 
    if (c.indexOf(n) == 0){return c.substring(n.length,c.length);} 
 
} 
 
return null; 
 
} 
 
// Define the variables 
 
var gclid = getParam('gclid'); 
 
var utm_source = getParam('utm_source'); 
 

 
// Check if there is a GCLID first, then check if there is a utm_source 
 
if(gclid){ 
 
alert(gclid); 
 
     setCookie('gclid', gclid, 90); 
 
     } else if(utm_source) { 
 
alert(utm_source); 
 
     setCookie('utm_source', utm_source, 90); 
 
} 
 

 
</script> 
 
<script type="text/javascript"> // Now set the hidden field on the form by looking for the correct cookie name 
 
window.onload = function() {  
 
    if (gclid) { 
 
document.getElementById('Field7').value = readCookie('gclid'); 
 
} else if (utm_source) { 
 
document.getElementById('Field7').value = readCookie('utm_source'); 
 
} 
 
} 
 
</script>

Смежные вопросы