Подмена номера по utm меткам и сохранение состояние в cookie

Подмена номера по utm меткам и сохранение состояние в cookie

// Функция для установки куки
function setCookie(name, value, days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + (value || "") + expires + "; path=/";
}

// Функция для получения значения куки по имени
function getCookie(name) {
    var nameEQ = name + "=";
    var cookies = document.cookie.split(';');
    for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i];
        while (cookie.charAt(0) == ' ') {
            cookie = cookie.substring(1, cookie.length);
        }
        if (cookie.indexOf(nameEQ) == 0) {
            return cookie.substring(nameEQ.length, cookie.length);
        }
    }
    return null;
}

// Функция для проверки UTM метки в URL
function checkUTM() {
  var urlParams = new URLSearchParams(window.location.search);
  return ['utm_source', 'utm', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'].some(param => urlParams.has(param));
}

// Функция для обновления номера телефона
function updatePhoneNumber() {
    var phoneNumber = "+7(111)11-11-11"; // Подменный номер телефона
    var utmEmail = "order@test.ru "; // Подменная почта
    // Проверяем, есть ли UTM метка и устанавливаем куки, если нужно
    setCookie('UTM_phone_number', phoneNumber, 365); // Куки хранятся 1 год
    setCookie('UTM_email', utmEmail, 365);

    // Получаем номер телефона из куки
    var storedPhoneNumber = getCookie('UTM_phone_number');
    var storedUtmEmail = getCookie("UTM_email")

    // Заменяем номер телефона на странице
    var phoneElements = document.querySelectorAll('.phone, .header__tel_num');
    var emailElements = document.querySelectorAll('.utm_email');
    var telElement = document.querySelectorAll('.header__tel, .header__tel_mob');

    emailElements.forEach(function (element, key) {
        if (storedUtmEmail) {
            element.textContent = storedUtmEmail;
            element.setAttribute('href', 'mailto:' + storedUtmEmail); // Обновляем атрибут href
        }
    });

    phoneElements.forEach(function (element, key) {
        if (storedPhoneNumber) {
            element.textContent = storedPhoneNumber;
            element.setAttribute('href', 'tel:' + storedPhoneNumber); // Обновляем атрибут href
            telElement[key].setAttribute('href', 'tel:' + storedPhoneNumber);
        }
    });
}
// Вызываем функцию обновления номера телефона при загрузке страницы
if (checkUTM() || getCookie('UTM_phone_number')) {
    updatePhoneNumber();
}

Все статьи

Другие статьи

Смотреть все