@amazinginternetsites

Как записать последние значения utm в куки, а не первые?

К сайту подключил 2 файла для работы с куками.
1. jquery.cookie.js
2. Второй файл содержит

// Parse the URL
function getParameterByName(name) {
	name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
	var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
		results = regex.exec(location.search);
	return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

// Give the URL parameters variable names
var source = getParameterByName('utm_source');
var medium = getParameterByName('utm_medium');
var campaign = getParameterByName('utm_campaign');
var content = getParameterByName('utm_content');
var term = getParameterByName('utm_term');

if($.cookie('utm_source') == null || $.cookie('utm_source') == "") {
$.cookie('utm_source', source, {expires: 365, path: '/' });
}

if($.cookie('utm_medium') == null || $.cookie('utm_medium') == "" || $.cookie('utm_medium') == null || $.cookie('utm_medium') == "") {
$.cookie('utm_medium', medium, {expires: 365, path: '/' });
}

if($.cookie('utm_campaign') == null || $.cookie('utm_campaign') == "") {
$.cookie('utm_campaign', campaign, {expires: 365, path: '/' });
}
if($.cookie('utm_content') == null || $.cookie('utm_content') == "") {
$.cookie('utm_content', content, {expires: 365, path: '/' });
}
if($.cookie('utm_term') == null || $.cookie('utm_term') == "") {
$.cookie('utm_term', term, {expires: 365, path: '/' });
}


Результат - в куки записываются utm из первой ссылки с utm, если изменить их, то новые utm не отображаются. Отображаются предыдущие.

Удаление условий приводит к тому, что при повторном заходе на сайт, никаких значений в куках нет.


Использовался метод https://jennamolby.com/how-to-use-cookies-to-captu...
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ответы на вопрос 1
uDenX
@uDenX
PHP Developer
Результат - в куки записываются utm из первой ссылки с utm, если изменить их, то новые utm не отображаются.


if($.cookie('utm_term') == null || $.cookie('utm_term') == "")


Вы же проверяете отсутствие кук и если их нет, то тогда сохраняете. Вам же нужно перезаписывать если они уже есть (если конечно я правильно понял)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы