Tilda · 7 мин чтения

Тильда и amoCRM: какие данные приходят в сделку

Связку Тильды и amoCRM я настраиваю и на простых лендингах, и на сайтах с несколькими формами под разные продукты. Чаще всего вопрос после запуска звучит так: заявки приходят, но в сделке не те поля, не видно рекламной кампании или один клиент превратился в две сделки. Причина почти всегда одна: от штатной интеграции ждут того, чего она не делает. Ниже разбираю, что именно и в каком виде приходит в amoCRM из формы Тильды и что делать, если данные нужно разложить по своим полям сделки.

Что приходит в amoCRM из формы Тильды

Штатный приёмщик AmoCRM создаёт сделку на этапе воронки и с ответственным, которые выбраны в его настройках. Название сделки это тема заявки. По умолчанию сделка называется Lead from Tilda, свою тему задают в настройках приёмщика.

В карточке сделки видно:

  • когда добавлена сделка;
  • контакт, если в форме были поля с названиями NAME, EMAIL и PHONE;
  • страницу, с которой отправили форму, в поле REFERER;
  • остальные поля формы под их именами, например TEXTAREA1.

Интерфейса сопоставления полей формы с полями amoCRM у штатной интеграции нет. Поля в amoCRM создаёт сама интеграция, и выбрать, что значение из формы должно лечь в ваше поле «Бюджет» или «Тариф», нельзя. Удалять поля, созданные интеграцией, тоже нельзя, это приведёт к ошибкам. Можно поменять только заголовок: например, TEXTAREA1 переименовать в «Комментарий клиента», и карточка станет понятной менеджеру.

Настройки приёмщика, которые меняют данные в сделке

Настроек у приёмщика немного, и каждая влияет на то, что увидит менеджер.

Настройка Что меняет Когда включаю
Этап воронки и ответственный Куда падает сделка и кто её получает Всегда. Для разных форм создаю несколько приёмщиков
Тема заявки Название сделки. В теме можно использовать свой текст, системные переменные и значения полей в формате {{name}} Когда на сайте несколько форм и по названию сделки нужно понять, откуда она
Метод добавления сделок с поиском дублей Заявка проходит поиск дублей, это функция самой amoCRM Когда клиенты оставляют повторные заявки
Отправка куки Вместе с заявкой уходят куки посетителя Когда нужны UTM-метки
Передача заявки только после оплаты В amoCRM уходят только оплаченные заявки Когда форма или корзина принимает оплату и в CRM нужны только оплаченные заказы

Разные воронки для разных форм штатно делаются только отдельными приёмщиками. Тема заявки с переменной, например {{tarif}}, где tarif это латинское имя переменной поля, даёт менеджеру тариф прямо в названии сделки, без открытия карточки.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

UTM-метки: где они лежат и как их достать

Отдельной настройки сбора UTM-меток в Тильде нет. Тильда хранит метки в cookie TILDAUTM: если посетитель пришёл по ссылке с меткой и вернулся не позже чем через 30 дней, метки лежат в этой куке. Если посетитель раньше на сайте не был, куки с заявкой не придут.

В amoCRM куки уходят, только если у приёмщика включена отправка куки. В каком виде они лягут в карточку сделки, справка Тильды не пишет. Поэтому после включения я отправляю тестовую заявку со страницы, открытой по ссылке с меткой, и смотрю карточку глазами.

При вебхуке формат описан точно. С включённой отправкой куки в данных заявки есть поле COOKIES, внутри него TILDAUTM, а метки разделены тремя вертикальными чертами и дополнительно закодированы. Вот так их разбираю в обработчике или в узле Code в n8n, когда тело запроса уже разобрано:

function parseTildaUtm(cookies) {
  const match = (cookies || '').match(/TILDAUTM=([^;]+)/);
  if (!match) return {};
  return Object.fromEntries(
    decodeURIComponent(match[1])
      .split('|||')
      .filter(Boolean)
      .map((pair) => pair.split('='))
  );
}

На выходе получается объект вида utm_source, utm_medium, utm_campaign, который дальше можно записать в поля сделки.

Как разложить данные по своим полям сделки

Если значения формы должны попасть в ваши поля amoCRM, штатный приёмщик не подходит. Нужен вебхук Тильды и обработчик: сценарий в n8n или свой скрипт, который пишет в amoCRM через API.

По документации amoCRM это выглядит так:

  • Список полей сделки с их ID получаю запросом GET /api/v4/leads/custom_fields, поля контакта через GET /api/v4/contacts/custom_fields.
  • Значения передаю в массиве custom_fields_values. Поле указывается через field_id или через символьный код field_code.
  • У полей типа select, multiselect и radiobutton значение можно передать текстом, символьным кодом enum_code или ID варианта enum_id. ID вариантов видны в ответе запроса списка полей, в массиве enums.
  • Телефон и email контакта это поля с кодами PHONE и EMAIL, у значения указываю enum_code, например WORK.
  • Если сделка создаётся вместе с контактом методом POST /api/v4/leads/complex, для каждой сущности можно передать не больше 40 значений дополнительных полей.

Имена переменных полей в форме Тильды задаю до запуска: именно по ним обработчик находит значения в заявке. Без своих имён поля приходят с заглавной буквы, например Name, Phone, Email. Кроме полей формы в вебхуке есть tranid, номер заявки, и formid, номер блока, из которого её отправили. Номер заявки удобно писать в поле сделки, чтобы потом найти её в разделе «Заявки» Тильды.

Для B2B-форм с названием компании и ИНН штатная интеграция положит эти значения в сделку отдельными полями под именами из формы. Если нужна отдельная карточка компании в amoCRM, её создаёт обработчик: метод /api/v4/leads/complex добавляет к сделке один контакт и одну компанию, и новые контакт и компания связываются между собой. Менеджер видит в сделке и человека, и организацию, а не название фирмы в текстовом поле.

Как понять, из какой формы пришла заявка

На сайте часто две-три формы: короткая в шапке, подробная анкета, заказ в корзине. При штатной интеграции различаю их двумя способами: отдельный приёмщик на каждую форму со своей темой заявки или одна тема с переменными. При вебхуке проще: в каждой заявке есть поле formid, номер блока с формой, и обработчик по нему выбирает воронку и этап.

Такой обработчик под свои поля и воронки собираю в рамках доработки сайтов на Tilda.

Дубли и повторные заявки

В amoCRM контроль дублей настраивается отдельно для каждой воронки: выбираются источники заявок и параметры, по которым искать дубли. Со стороны Тильды за это отвечает метод добавления сделок с поиском дублей у приёмщика, поэтому при жалобе на повторные сделки проверяю обе стороны: галочку у приёмщика и настройки воронки в amoCRM.

При своём обработчике метод /api/v4/leads/complex сам данные не дедуплицирует. Он только ищет дубли среди уже добавленных данных, и то если контроль дублей включён для интеграции. Когда нужна своя логика, например привязать повторное обращение к открытой сделке, перед созданием ищу контакт по телефону через GET /api/v4/contacts с параметром query.

Ещё одна частая причина двух сделок из одной заявки: у формы отмечены сразу два приёмщика, штатный AmoCRM и Webhook, который тоже создаёт сделку. Первым делом при такой жалобе смотрю галочки приёмщиков в «Контенте» блока с формой.

Как проверить, что данные дошли

Перед сдачей связки прохожу короткий чек-лист:

  • Отправить заявку со всеми полями формы, включая необязательные, и отдельно с телефона.
  • Подождать 5-10 минут: при штатной интеграции заявка появляется в amoCRM не сразу.
  • Проверить этап воронки, ответственного и тему сделки.
  • Открыть карточку и сверить поля: контакт, REFERER, остальные поля формы.
  • Отправить заявку со страницы, открытой по ссылке с UTM-меткой, и найти метки в сделке.
  • Если заявки нет, проверить журнал ошибок форм в Тильде, а при связке через n8n открыть вкладку Executions и посмотреть, что пришло от Тильды до любых преобразований.

Если связку нужно поднять с нуля, со своими полями, воронками и проверкой дублей, это комплексная интеграция для Tilda, от 40 000 ₽. Точечная правка, например добавить в обработчик новое поле формы, стоит от 3 000 ₽.

Настройки приёмщика amoCRM в Тильде и API amoCRM меняются, поэтому перед запуском уточняю актуальные возможности в справке Тильды и документации amoCRM.

Частые вопросы

Можно ли в штатной интеграции выбрать, в какое поле сделки попадёт значение из формы?

Нет. Поля в amoCRM создаёт сама интеграция и называет их по именам полей формы. Менять у таких полей можно только заголовок. Чтобы значение попало в ваше поле сделки, нужен вебхук и обработчик, который пишет в amoCRM через API.

Почему в карточке сделки поле называется TEXTAREA1?

Так штатная интеграция передаёт поле формы под его именем. Поле можно переименовать в amoCRM, поменяв заголовок, а удалять нельзя: по справке Тильды это приведёт к ошибкам.

Приходят ли UTM-метки в amoCRM из Тильды?

Приходят в составе куки, если у приёмщика amoCRM включена отправка куки и посетитель пришёл по ссылке с меткой не раньше чем за 30 дней. Разложить метки по своим полям сделки штатно нельзя, для этого нужен вебхук: в поле COOKIES метки лежат в куке TILDAUTM.

Что делать, если одна заявка создаёт в amoCRM две сделки?

Сначала проверить, не отмечены ли у формы одновременно приёмщик AmoCRM и Webhook, который тоже создаёт сделку. Если приёмщик один, включить у него метод добавления сделок с поиском дублей и проверить настройки контроля дублей в воронке amoCRM.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно