В конструкторе сайта Tilda есть возможность настроить отправку Client ID с сайта в вашу CRM систему. Этот вариант настройки доступен в прямой интеграции Tilda c amoCRM, Битрикс24 и другими CRM, а также через Webhook.
Рассмотрим передачу Client ID на примере amoCRM
Во всех остальных CRM настройка в Tilda будет аналогичная, включая настройку через Webhook.
Войдите в личный кабинет Tilda → Настройки сайта → Формы

Если вы уже подключили CRM, то перейдите Настройки сайта → Формы. Найдите подключение amoCRM и нажмите "Настройки".
Найдите блок Дополнительные настройки
Поставьте галочку ☑ напротив параметра "Посылать Cookies"
Если у вас не настроено интеграция с CRM, выберите нужную CRM и настройте подключение по инструкции Tilda. Во время настройки не забудьте поставить ☑ напротив параметра "Посылать Cookies" как на скриншоте выше.
На этом настройка на уровне всего сайта закончена, но еще надо будет настроить формы и установить специальный код, читайте дальше.
Проверяем Cookies в CRM
Теперь зайдите на свой сайт и оставьте тестовую заявку, заполнив любую форму на сайте. Далее перейдите в CRM и откройте эту тестовую сделку (лид). Найдите в карточке (иногда это поле нужно добавить в настройках CRM) поле с названием cookie, название поля может отличаться, но должно содержать cookie. В это поле Tilda передает cookie. В cookie хранится Client ID.
Пример содержания поля cookie (каждый cookie уникальный):
_gcl_au=1.1.253546753.1668676655; _ga=GA1.2.353046668.1668676656; _ym_uid=1668676656346663182; _ym_d=1668676656; _cmg_csst9PFc2=1668761288;
_comagic_id9PFc2=6503605873.9622573195.1668761280; _gid=GA1.2.1653333992.1670592994; _gat_UA-245649153-1=1; _ym_visorc=w; _ym_isad=2;
Где:
_ga=GA1.2.353046668.1668676656 — это Google Client ID
_ym_uid=1668676656346663182 — это Yandex Client ID
После успешной настройки передачи Cookies, вернитесь в Тильда и настройте каждую форму обратной связи на сайте - добавьте поле, в котором будет сохраняться Client ID. Подробнее о том, как настроить поле для передачи Client ID, читайте дальше.
Поле Client ID в формах Тильда
Чтобы Client ID передовался в отдельное поле лида или сделки CRM, а не в общее поле Cookies, надо добавить в каждую форму обратной связи скрытое поле. Для этого в блоке с формой:
- нажмите "Контент"
- перейдите в раздел "Поля для ввода"
- нажмите "Добавить поле для ввода"
- выберете тип "Скрытое поле"
- укажите имя переменной "ymclientid"
- нажмите "Сохранить".

Такую манипуляцию надо провести с каждой формой - добавить в каждую форму скрытое поле, в т.ч. в блок "Корзина с формой заказа" (ST 100).
Не забудьте, что в тильде есть открытие формы, а есть pop-up блок с формой, скрытое поле надо добавить в формы всех типов:
- открытая форма
- pop-up блок с формой
- корзина
Заполнение yandex client id во всех формам
Стандартно Тильда не умеет заполнять поле с Client ID, в базовой версии Client ID передается только в поле Cookies , а нам надо, чтобы Client ID был в отдельном поле, которое мы создали на предыдущем этапе.
Для этого необходимо добавить дополнительный код, для этого:
- перейдите в "Настройки сайта"
- откройте вкладку "Еще"
- пролистайте до раздела "Html-код для вставки внутрь HEAD" и нажмите "Редактировать код"
- вставьте код ниже и нажмите "Сохранить"
- не забудьте нажать "Сохранить изменения" в настройках сайта
- опубликуйте все страницы
<script type="text/javascript">
$(document).ready(function(){
/* флаг загрузки скрипта метрики */
window.isLoadYM=false;
/* номер clientId */
window.clientYandexID = false;
/*
метод, который ждет пока Метрика загрузится
и после этого добавляет параметр в форму
*/
window.addYandexClientId = function(){
if (window.mainMetrikaId && window[('yaCounter'+window.mainMetrikaId)]) {
window.isLoadYM = true;
}
if (window.isLoadYM) {
window.clientYandexId = window[('yaCounter'+window.mainMetrikaId)].getClientID();
$('form').each(function(e){
if ($(this).find('form name[ymclientid]').length==0) {
$(this).append('<input type="hidden" name="ymclientid" value="'+clientYandexId+'">');
}
});
} else {
window.setTimeout(function() {
addYandexClientId();
}, 200);
}
};
/* обработка события генерации зеро-блока и добавления параметра в форму */
$('.t396').on('render', '.t396__elem', function(){
if (window.isLoadYM && window.clientYandexId && $(this).find('form name[ymclientid]').length==0) {
$(this).find('form').append('<input type="hidden" name="ymclientid" value="'+clientYandexId+'">');
}
});
addYandexClientId();
});
</script>
Альтернативный код, если код выше не работает - не заполняет скрытое поле
<script>
$( document ).ready(function () {
let ee = setInterval(function () {
if (typeof window.ym != 'undefined') { //если метрика загрузилась
$('input[name="ymclientid"]').each(function () { //находим все поля с нужным атрибутом
let clientYandexId = yaCounterХХХХХХХХ.getClientID(); //получаем id
$('input[name="ymclientid"]').val(clientYandexId); //заменяем в input значение value
});
clearInterval(ee);
} else {
console.log('Метрика не инициализирована'); //если метрика не загрузилась
}
}, 500); // 0,5 секунды ждать
});
</script>
Не забудьте указать свой номер счетчика Яндекс Метрики вместо ХХХХХХХХ: yaCounterXXXXXXXX.getClientID();
По итогу работы этого кода, при отправки формы в CRM, поле Сделки будет заполняться значением Client ID.
Надо передать Client ID в кастомное поле CRM?
Бывают случае, когда надо передать Client ID в существующее после Сделки, например "Яндекс Client ID", а не "ymclientid", как в примере выше, но такую переменную вы не сможете использовать в коде (код указан в пункте выше), т.к. поле содержит кириллицу.
Для того, чтобы использовать кастомное поле необходимо в Имени переменной скрытого поля и коде указывать не наименование поля CRM - "ymclientid", а его id, которое можно найти в настройках Сделки (см. скрин ниже).
Соответственное, в Имени переменной скрытого поля указываем id, и этот же id указываем а в коде, в 4х местах, вместо "ymclientid".



