Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24
Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24
22

Классная статья! Спасибо за идею со скрытым полем. Жаль что редактирование top_footer_custom.php не прокатило, поэтому оставил его таким какой он был и сделал решение проще:
В настройках аспро, в разделе "Для разработчиков" в "Файл пользовательских скриптов javascript" добавил следующее:
////////////////////////////////////////////////////////////////////
const utm = new URLSearchParams(window.location.search);
const utm_source =utm.get('utm_source');
const utm_medium = utm.get('utm_medium');
const utm_campaign = utm.get('utm_campaign');
const utm_content = utm.get('utm_content');
const utm_term = utm.get('utm_term');

//Сохраняем cookie и выставляем срок жизни на 30 дней
document.cookie = "utm_source=" + utm_source +"; max-age=2592000";
document.cookie = "utm_medium=" + utm_medium +"; max-age=2592000";
document.cookie = "utm_campaign=" + utm_campaign +"; max-age=2592000";
document.cookie = "utm_content=" + utm_content +"; max-age=2592000";
document.cookie = "utm_term =" + utm_term +"; max-age=2592000";

//console.log(document.cookie);
////////////////////////////////////////////////////////////////////

А поле hiden в ответах bitrix не давал сохранить, поэтому я туда поставил null. Он будет передаваться когда utm не будет.

Ответить

Прошу не использовать код выше, т.к. у него utm слетают при переходе на другую страницу. Вот правильная версия.

const utm = new URLSearchParams(window.location.search);
const utm_source =utm.get('utm_source');
//Если utm_source не пустой
if ( utm_source ) {
//Сохраняем utm в cookie и выставляем срок жизни на 30 дней
document.cookie = "utm_source=" + utm_source +"; max-age=2592000";
document.cookie = "utm_medium=" + utm.get('utm_medium') +"; max-age=2592000";
document.cookie = "utm_campaign=" + utm.get('utm_campaign') +"; max-age=2592000";
document.cookie = "utm_content=" + utm.get('utm_content') +"; max-age=2592000";
document.cookie = "utm_term =" + utm.get('utm_term') +"; max-age=2592000";
}

//console.log(document.cookie);

Ответить