Когда Яндекс.Метрика перестаёт показывать цели, возникает тревожный вопрос: пропали заявки или только их учёт? Это разные неисправности. Сайт может спокойно получать обращения, пока внешняя аналитика не отвечает. А может случиться наоборот: счётчик исправен, но формы и уведомления действительно сломаны.
Поэтому резервный учёт конверсий нужно строить на стороне сайта, там, где происходят реальные действия: успешная обработка формы, создание заказа, подтверждение оплаты. Разберём простой подход для MODX Revolution, FormIt и miniShop2.
Факт заявки должен сохраняться независимо от того, загрузилась ли внешняя аналитика.
Разделите четыре разных события
| Событие | Что подтверждает | Чего не подтверждает |
|---|---|---|
| Клик «Отправить» | Попытку пользователя | Успешную заявку |
| Успех серверной обработки | Форма прошла обработку | Получение письма клиентом |
| Заказ записан в базу | Создание заказа | Оплату заказа |
| Оплата подтверждена | Коммерческий результат | Корректную атрибуцию рекламы |
События GA4 и Метрики полезны для анализа источников, но не должны быть единственным доказательством полученного обращения.
Шаг 1. Проверьте сам путь заявки
- Отправьте контрольную форму с валидными данными.
- Убедитесь, что проверка формы проходит и появляется страница или сообщение успеха.
- Проверьте, фиксируется ли обращение в базе/CRM или серверном журнале.
- Проверьте почтовый транспорт и фактическое получение письма.
- И лишь после этого проверяйте событие цели в аналитике.
Если письма не доходят, используйте нашу инструкцию «Не приходят заявки с сайта на почту».
Шаг 2. Добавьте серверную отметку успешной обработки FormIt
В MODX с FormIt можно поставить собственный hook spLeadAudit после успешно выполненного hook отправки и до перенаправления. Ниже иллюстрация порядка вызова; используйте ваши существующие имена полей, параметры email и реальный ID страницы успеха, не заменяйте рабочую форму только этим фрагментом.
<!-- Example of the relevant options INSIDE an existing FormIt call. -->
Создайте сниппет spLeadAudit:
// Snippet spLeadAudit; place AFTER a successful email hook.
// Never record customer e-mail, phone or message in an unsecured log.
$modx->log(
modX::LOG_LEVEL_INFO,
'[site-lead] form=contact processed; ' . gmdate('c')
);
return true;
Это только метка в журнале MODX, без персональных данных. Для производственного учёта лучше сохранять обезличенное событие в отдельной таблице со сроком хранения и уникальным идентификатором обработки для защиты от повторов. Запись после email hook означает успешное выполнение обработчика, а не гарантированную доставку письма адресату. При работе с FormIt проверяйте и используемую версию, и порядок ваших хуков.
Шаг 3. Настройте отдельную регистрацию заказов miniShop2
Для магазина источником истины является заказ miniShop2 в базе данных: его номер, дата, статус и сумма. Событие на странице «Спасибо» не всегда означает оплату: пользователь мог уйти, платёж мог не подтвердиться, страницу могли открыть повторно.
Практическое правило: «заказ создан» и «заказ оплачен» — две отдельные конверсии. Для оплаты ориентируйтесь на подтверждённое изменение статуса заказа или платёжное уведомление, проверенное сервером. Не меняйте статусы заказов на основании одного JavaScript-события.
Шаг 4. Отправляйте внешние цели как дополнительный слой
Если у вас включён GA4, можно отправлять событие generate_lead после подтверждения обработки формы. Например, на настоящей странице успешной отправки:
// Only on the real success page after server-side form processing:
if (typeof window.gtag === 'function') {
window.gtag('event', 'generate_lead', { method: 'contact_form' });
}
// External analytics is supplemental; the server-side lead log is the backup.
Это вспомогательный канал: блокировщики и сетевые сбои могут помешать доставке события, а повторный визит на страницу успеха — создать дубликат. Поэтому для важных конверсий потребуется контроль повторов и надёжная серверная запись.
Сначала запись на сервере, затем дополнительные события в Метрику и GA4.
Минимальный план резервного учёта для бизнеса
- Ежедневно сверяйте число полученных форм и созданных заказов с журналом/CRM.
- Следите за ошибками отправки почты и за зависшими статусами заказов.
- Сохраняйте резервную аналитику источников: вот бесплатные варианты.
- Следите за доступностью кода счётчика отдельно: PHP и Telegram-мониторинг.
- Не включайте в публичные логи содержимое заявок, телефоны, адреса электронной почты и платежные данные.
Итог: отказ Метрики не обязан приводить к потере бизнес-данных. Сделайте сохранение заявок и заказов первичным, а внешнюю аналитику — полезной, но необязательной надстройкой.
Если вы работаете с MODX, можем помочь проверить именно техническую сторону: FormIt, почтовый транспорт, miniShop2, события и корректность установки счётчиков. Начать можно с раздела наших услуг.


