Как подключить amoCRM к сайту: интеграции и автоматизация в 2026

0
thumb

Заявка с сайта улетает на почту, теряется в папке «Промоакции», менеджер видит её через сутки — и сделка сгорает. amoCRM решает эту проблему, но только если её правильно подключить к сайту. В этой статье разберём пять способов связать сайт с amoCRM — от готовых виджетов до собственного вебхука, поговорим про API, передачу UTM и сквозную аналитику. К концу ты будешь понимать, какой способ подходит под твою задачу и где конкретно ломается интеграция у большинства команд.

Зачем вообще подключать amoCRM к сайту

Сайт без CRM — это дырявое ведро. Трафик льётся, лиды приходят, но часть оседает в почте, часть в мессенджере у менеджера, часть в Excel-файле на чьём-то ноутбуке. Потом маркетолог пытается посчитать ROI и понимает, что данных просто нет.

Когда amoCRM подключена к сайту правильно, происходит три вещи. Первая — каждая заявка автоматически создаёт сделку в воронке с источником, UTM-метками и контактами клиента. Вторая — менеджер видит уведомление в течение секунд, а не часов. Третья — данные из CRM возвращаются в аналитику: ты понимаешь, какой рекламный канал приносит не клики, а реальные продажи.

Это и есть полноценная сквозная аналитика, ради которой бизнес и подключает amoCRM. Без неё CRM превращается в дорогой список контактов.

Что должно работать после подключения

  • заявки с форм сайта создают сделки автоматически;
  • передаются UTM-метки, ClientID Метрики, реферер;
  • статусы сделок отправляются обратно в Яндекс.Метрику как офлайн-конверсии;
  • чат и виджет заявок на сайте пишут в ту же воронку, что и формы;
  • при изменении статуса сделки клиенту уходит триггерное письмо или сообщение.

Если хотя бы один пункт не закрыт — связка работает наполовину. Дальше разберём, как закрыть всё.

API и вебхуки amoCRM: двусторонняя интеграция с сайтом

Пять способов подключить amoCRM к сайту

Способов много, но реально рабочих — пять. У каждого свой порог входа и свои ограничения. Выбирай по задаче, а не по моде.

1. Встроенный виджет «Сайт» в amoCRM

В разделе «Настройки → Интеграции» amoCRM есть виджет для генерации формы. Создаёшь форму, копируешь HTML-код, вставляешь на страницу — заявки начинают падать в выбранную воронку. Подходит для простых лендингов, не требует разработчика.

Минусы: дизайн формы ограничен, кастомные поля цепляются криво, мобильная версия не всегда красивая. Для MVP — норм, для бренда с дизайн-системой — нет.

2. Подключение через сторонний конструктор форм

Tilda, Craftum, Bitrix24 Sites, WordPress с плагинами — почти у всех есть нативная интеграция с amoCRM. Указываешь поддомен amoCRM, авторизуешься, выбираешь воронку — и формы конструктора сразу пишут в CRM.

Это самый быстрый путь для маркетолога без программиста. Никаких API, никаких вебхуков, всё работает «из коробки».

3. Виджет онлайн-заявок и чат на сайте

Виджет с поп-апом «Оставить заявку» или чат-окно собирает лиды с тех, кто не дошёл до формы. Это отдельный класс инструментов — JivoSite, Talk-Me, Carrot Quest и другие сервисы на рынке. Часть из них работает по подписке, часть — по CPA-модели с оплатой за заявку.

Например, Venyoo отдаёт заявки сразу в amoCRM по нативной интеграции — 14 дней бесплатно, дальше оплата только за реальные обращения от 4,5 ₽. ⭐ Удобный формат, когда трафик нестабильный или ты только тестируешь нишу: не платишь подписку за пустые недели.

4. API amoCRM

Для нестандартных задач — собственный калькулятор, многошаговый квиз, личный кабинет — есть REST API. Документация открытая, аутентификация по OAuth 2.0, методы покрывают сделки, контакты, компании, задачи, теги, пользовательские поля.

Плюс: полный контроль. Минус: нужен разработчик и поддержка кода при обновлениях API.

5. Вебхуки

Вебхук — это URL на твоём сервере, на который amoCRM сама присылает событие, когда что-то меняется. Создана сделка, изменён статус, добавлена задача — пришёл POST-запрос с данными.

Используется в обе стороны: сайт шлёт вебхук в amoCRM при заявке, amoCRM шлёт вебхук на сайт при смене статуса (например, чтобы запустить рассылку или обновить личный кабинет).

Сквозная аналитика: передача UTM и офлайн-конверсий из amoCRM в Метрику

Пошаговое подключение через API: на что обратить внимание

Если выбрал путь через API — вот что важно сделать правильно с самого начала, иначе потом перепиливать долго.

Шаг 1. Создай интеграцию в amoCRM

В разделе «Интеграции» нажми «Создать интеграцию». Укажи название, ссылку на сайт, описание. После создания получишь ID интеграции, секретный ключ и код авторизации. Эти три параметра — основа OAuth-аутентификации.

Шаг 2. Получи access_token и refresh_token

Через первый запрос обменяй код авторизации на пару токенов. Access живёт 24 часа, refresh — три месяца. Когда access протухает, обновляешь его через refresh — и обязательно сохраняешь новые токены, иначе через 24 часа интеграция отвалится.

Самая частая ошибка новичков — не хранить refresh_token или хранить только access. Через сутки всё ломается, маркетолог в панике.

Шаг 3. Создание сделки и контакта

Минимальный сценарий: POST-запрос на /api/v4/leads/complex с телом, где указаны имя сделки, контакт, кастомные поля. В одном запросе сразу создаются и сделка, и контакт — это удобнее, чем плодить два отдельных запроса.

Передавай UTM-метки и ClientID Яндекс.Метрики в кастомных полях. Без них сквозная аналитика не соберётся.

Шаг 4. Обработка ошибок

  • лимит запросов — 7 в секунду на аккаунт; превысил — получишь 429 и блок на минуту;
  • при ошибке 401 — токен протух, нужно обновить через refresh;
  • при ошибке 400 — проверяй структуру JSON, чаще всего проблема в типе данных кастомного поля;
  • обязательно логируй каждый запрос: без логов отладка превращается в гадание.

Шаг 5. Защита

Никогда не вставляй секретный ключ в код фронтенда. Все запросы к API — только с бэкенда. Иначе любой школьник через DevTools утянет твои токены и нальёт в твою CRM мусор или, что хуже, выкачает базу клиентов.

Вебхуки: двусторонняя связь сайта и amoCRM

API хорош для разовых действий — «создай сделку». Вебхуки нужны, когда события происходят на стороне amoCRM, а сайт или другой сервис должны на них реагировать. Это уже автоматизация в полном смысле.

Пример сценария 1: триггерная рассылка

Менеджер переводит сделку в статус «Счёт выставлен». amoCRM шлёт вебхук на твой сервер, сервер дёргает API почтового сервиса и отправляет клиенту письмо со ссылкой на оплату. Клиент платит — менеджер ничего не делает руками.

Пример сценария 2: обновление личного кабинета

Сделка переходит в «Оплачено» → вебхук обновляет статус заказа в личном кабинете клиента на сайте. Никакой ручной синхронизации, никаких «а где мой заказ».

Пример сценария 3: уведомление в Telegram

Создана новая сделка → вебхук шлёт сообщение в чат менеджеров с кратким описанием. Особенно полезно для горячих заявок, когда счёт идёт на минуты.

Как настроить вебхук

В amoCRM зайди в «Настройки → Интеграции → WebHook». Укажи URL твоего обработчика и события, на которые подписываешься: добавление сделки, изменение статуса, добавление контакта, задачи. amoCRM начнёт слать POST-запросы.

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

И ещё: вебхуки могут дублироваться. amoCRM в редких случаях шлёт одно и то же событие дважды. Добавь идемпотентность — проверяй по ID события, не обработан ли он уже.

Передача UTM и сквозная аналитика с Яндекс.Метрикой

Это самая больная часть. По нашим наблюдениям, у 70% команд amoCRM подключена, а сквозная аналитика всё равно не собирается — потому что UTM-метки теряются по пути или ClientID не сохраняется.

Что нужно ловить на сайте

  • UTM-метки из URL — utm_source, utm_medium, utm_campaign, utm_term, utm_content;
  • ClientID Яндекс.Метрики — уникальный идентификатор посетителя из cookie _ym_uid;
  • Реферер — откуда пришёл пользователь;
  • Первый и последний источник — отдельно, если человек заходил несколько раз.

Всё это нужно прокинуть в скрытые поля формы или передать в API-запросе при создании сделки. В amoCRM создаёшь под каждое значение отдельное кастомное поле — и заполняешь их.

Передача офлайн-конверсий обратно в Метрику

Когда сделка переходит в «Успешно реализовано», нужно отдать это событие обратно в Метрику как офлайн-конверсию. Тогда в отчётах по рекламе ты увидишь не клики, а реальные продажи — и сможешь оптимизировать кампании по доходу.

Делается это либо через коннектор Метрики для amoCRM (появился относительно недавно, работает через сервис Albato), либо самописно через API Метрики и вебхук amoCRM. Второй способ — для тех, у кого нестандартная воронка и нужна гибкость.

Главное правило

Передавай в Метрику тот же ClientID, который сохранил при заявке. Если потеряешь связку — Метрика не сматчит конверсию с источником, и вся затея бессмысленна.

Что подключать в каком сценарии: краткая навигация

Чтобы не утонуть в способах, держи короткую карту.

  • Лендинг на Tilda, бюджет 0, скорость важнее красоты — нативная интеграция Tilda + amoCRM, 15 минут на настройку.
  • Корпоративный сайт с дизайном, формы кастомные — собственная отправка через API amoCRM, разработчик нужен на 1-2 дня.
  • Нужно ловить тех, кто не заполняет форму — виджет онлайн-заявок или чат с интеграцией в amoCRM. Здесь хорошо заходит CPA-модель: ⭐ Venyoo подходит для нестабильного трафика и теста ниши — платишь только за реальные заявки от 4,5 ₽, риск переплатить минимальный.
  • Сложная воронка с триггерами, оплатой, личным кабинетом — API + вебхуки в обе стороны, полноценная интеграция через бэкенд.
  • Нужна сквозная аналитика с Яндекс.Директом — связка amoCRM + Метрика + Директ через коннектор или Albato, передача офлайн-конверсий обязательна.

Чего стоит избежать

Не подключай всё сразу. Сначала — самый простой канал заявок в одну воронку. Потом — UTM и сквозная. Потом — вебхуки и триггеры. Если попытаешься построить идеальную архитектуру за месяц, скорее всего получишь рабочую через полгода и кучу багов.

И ещё: документируй все интеграции в одном файле. Какой ID интеграции, какие поля заведены, какие вебхуки настроены, кто из подрядчиков что делал. Иначе через год новый маркетолог будет распутывать клубок втрое дольше, чем стоило бы.

Типовые ошибки при подключении amoCRM к сайту

За годы наблюдений собрался топ ошибок, которые повторяются у девяти из десяти команд.

Ошибка 1. Хранить токены в открытом виде

access_token и refresh_token — это ключи от твоей CRM. Если они утекут, злоумышленник может выгрузить всю базу. Храни в защищённом хранилище: переменные окружения, secret manager, шифрованная БД. В коде Git их быть не должно.

Ошибка 2. Не обрабатывать обновление токена

access живёт 24 часа. Если не реализован автообновление через refresh — интеграция падает каждый день в одно и то же время, а ты узнаёшь об этом от менеджеров, которые жалуются на отсутствие заявок.

Ошибка 3. Отсутствие очереди для отправки заявок

Сайт упал? Сеть моргнула? API amoCRM временно недоступен? Если отправка идёт синхронно — заявка теряется. Правильно: положить в очередь (Redis, RabbitMQ, даже простая таблица в БД), потом отправить ретраем.

Ошибка 4. Не передавать все источники сразу

UTM, реферер, ClientID, страница, с которой отправлена форма — это всё нужно собирать в момент заявки, а не «потом подумаем». Потом не подумаешь, потому что данных уже не будет.

Ошибка 5. Игнорировать дубли

Один и тот же человек может оставить три заявки за день с разных устройств. Без дедупликации в amoCRM появится три сделки и три контакта. Используй встроенную функцию объединения дублей или проверяй по телефону/email до создания.

Ошибка 6. Не тестировать после изменений на сайте

Меняешь форму, переезжаешь на новый дизайн, обновляешь Tilda — обязательно тестовая заявка с реальным телефоном. Часто после релиза интеграция тихо ломается, а заметят это через неделю по падению количества лидов.

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

Сколько стоит подключить amoCRM к сайту?

Зависит от способа. Нативная интеграция через Tilda или встроенный виджет — бесплатно, только цена подписки amoCRM. Виджет онлайн-заявок с интеграцией — от бесплатного триала до подписочной модели или CPA от нескольких рублей за заявку. Кастомная интеграция через API с собственным бэкендом — работа разработчика, обычно от 20 до 80 часов в зависимости от сложности воронки и количества кастомных полей. Самое дорогое — поддержка кода после, не забудь заложить бюджет.

Нужен ли программист, чтобы подключить amoCRM к сайту?

Не всегда. Для простой связки лендинга на Tilda с amoCRM достаточно маркетолога: 15 минут в настройках. Для виджета онлайн-заявок — тоже без кода, всё в личном кабинете сервиса. Программист нужен, если у тебя кастомные формы, многошаговые квизы, личный кабинет, нестандартная воронка с автоматизациями через вебхуки или нужно построить сквозную аналитику с офлайн-конверсиями. Для среднего проекта рассчитывай на одного разработчика на 1-3 недели в зависимости от глубины интеграции.

Как передавать UTM-метки в amoCRM?

Алгоритм такой: на сайте при загрузке страницы скрипт читает UTM из URL и сохраняет их в cookie или localStorage. При отправке формы значения подставляются в скрытые поля. На стороне amoCRM заведены отдельные кастомные поля под каждый параметр — utm_source, utm_medium, utm_campaign, utm_term, utm_content. При создании сделки через API или нативную интеграцию эти поля заполняются. Главное — не терять метки между сессиями: храни первый источник отдельно от последнего.

Что лучше — API или вебхуки?

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

Как протестировать виджет заявок на сайте бесплатно перед оплатой?

У большинства сервисов есть бесплатный триал, но условия разные: у одних 7 дней с привязкой карты, у других — ограниченный функционал. Например, Venyoo даёт 14 дней без карты, дальше CPA-модель от 4,5 ₽ за заявку — удобно, если хочется без риска оценить, реально ли виджет приносит лидов в твоей нише. Перед выбором проверь две вещи: есть ли нативная интеграция с amoCRM из коробки и не нужно ли вводить платёжные данные для активации триала.

Можно ли подключить amoCRM к нескольким сайтам сразу?

Да, без проблем. Можно создать одну интеграцию и использовать её на нескольких доменах — все заявки будут падать в один аккаунт amoCRM. Чтобы различать источники, в кастомное поле сделки передавай домен или название сайта. Также можно разнести заявки по разным воронкам: одна воронка для основного сайта, другая для лендингов промо-акций. Удобно настраивать в коде через параметр pipeline_id при создании сделки — каждая форма указывает свою воронку.

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

Первое — проверь логи отправки на своей стороне: вообще уходят ли запросы. Второе — статус токена: не истёк ли access_token и работает ли автообновление через refresh. Третье — лимиты API: amoCRM ограничивает 7 запросами в секунду, при превышении отдаёт 429. Четвёртое — статус самой amoCRM на их странице мониторинга, бывают редкие сбои. Если всё это в порядке — отправь тестовую заявку с тестовым телефоном и смотри ответ API: код, тело ошибки, заголовки. Чаще всего там сразу понятна причина.

Как связать заявки из чата на сайте с amoCRM?

Большинство сервисов чата и виджетов заявок имеют нативную интеграцию: указываешь поддомен amoCRM, авторизуешься, выбираешь воронку — диалоги и контакты начинают писаться автоматически. Важно проверить, что передаётся не только имя и телефон, но и UTM-метки, ClientID Метрики, текст переписки в карточке сделки. Если нативной интеграции нет, остаётся API: сервис чата шлёт вебхук, твой бэкенд принимает и создаёт сделку. Это рабочий, но более трудозатратный путь.

Похожие статьи