Если вы интегратор Битрикс24, то обратите внимание, что настраивать связь с Битрикс24 в веб-формах БУСа лучше под клиентским логином Битрикс24. Лучше, чтобы это был администратор с ID=1. В противном случае, после того, как вы уйдёте с портала, у клиента перестанет работать эта связка.
Спасибо за статью, как раз сейчас над этим работаем. А то статистика в Директ одна, а в Срм другая)) все думают контекст не работает, а он бедненький работает, просто его не видят!
подскажите как передать ClientID из метрики?
Это уже отдельный вопрос. Тут надо смотреть что именно вы хотите делать. В данной статье мы рассмотрели только работу с UTM-метками, не касаясь ClientID.
Надо понять подробнее что именно за поле вы имете в виду. Напишите в телеграм @neket89
Классная статья! Спасибо за идею со скрытым полем. Жаль что редактирование 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);
спасибо за ответ, все работает