Перейти к содержимому
Рабочее время Telegram @kalaganov5

Продвинутая аналитика Contact Form 7: передача ID формы и параметров в Яндекс Метрику

Опубликовано 2 мин
Содержание

Цель на клик по «Отправить» считает ошибки и спам. Готовый скрипт на wpcf7mailsent передаёт в Метрику ID формы и страницы — с проверкой в отладчике.

Частая ошибка при настройке конверсий для CF7 — привязывать цель к обычному клику по кнопке «Отправить». Из-за этого в статистику попадают ошибки заполнения полей и спам.

Правильный путь — использовать встроенное DOM-событие wpcf7mailsent. Оно срабатывает только после успешной отправки письма.

Но можно сделать аналитику еще прозрачнее и передавать в Метрику не просто факт лида, а детальные параметры отправки:

  • ID формы (con­tact­FormId) — чтобы понимать, какая именно форма отработала.
  • ID страницы (con­tain­er­PostId) — чтобы знать, с какой записи или страницы пришла заявка.
  • Unit Tag (unit­Tag) — уникальный идентификатор вывода формы. Незаменимо, если одна и та же форма стоит и в шапке, и в подвале сайта.

Вот готовый код:

<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
    if (typeof ym === 'undefined') return; // Защита от ошибок, если счетчик не загружен

    var goalParams = {
        'cf7_form_id': event.detail.contactFormId,
        'cf7_page_id': event.detail.containerPostId,
        'cf7_unit_tag': event.detail.unitTag
    };

    // Передаем цель и параметры визита
    // Замените XXXXXX на номер счетчика, а TARGET_NAME на ID цели
    ym(XXXXXX, 'reachGoal', 'TARGET_NAME', goalParams); 
}, false );
</script>

Как проверить, что данные реально уходят в Метрику? (Дебаг)

  1. Чтобы не гадать, сработал ли скрипт, используйте встроенный отладчик Яндекс Метрики.
  2. Откройте страницу с вашей формой и добавьте в конец URL-адреса параметр ?_ym_debug=2 (например: yoursite.com/contact/?_ym_debug=2). Нажмите Enter.
  3. Внизу экрана (или в отдельном окне) появится специальная панель отладчика Метрики.
  4. Заполните форму и отправьте ее.
  5. В панели отладчика перейдите на вкладку Events (События) или Para­me­ters (Параметры).
  6. Если все настроено верно, вы увидите событие reach­Goal с вашим TARGET_NAME, а внутри — раскрывающийся список переданных параметров (те самые ID формы, страницы и Unit Tag).
Событие "Form submitted" с параметрами и цель "form_submit" в интерфейсе Яндекс Метрики.
Раздел Параметры, показывающий данные Contact Form 7: "cf7_form_id": 12, "cf7_page_id": 0, "cf7_unit_tag": "wpcf7-f12-o1".

Если после отправки формы страница автоматически перезагружается, включите в меню отладчика галочку Pre­serve log (Сохранять логи). Так данные не затрутся при обновлении страницы, и вы сможете спокойно их изучить.

Галочка Preserve log в консоли разработчика Chrome включена для сохранения логов при перезагрузке страницы.

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

Можно использовать wpcf7submit для успешной заявки?

Это событие срабатывает при завершении Ajax-отправки независимо от ряда результатов. Для успешной отправки письма выбирают wpcf7mailsent и отдельно проверяют доставку.

Можно передавать в Метрику все поля формы?

Нет. Передавайте только согласованные технические параметры без личных данных посетителя.

По теме: Как проверить форму заявки: список действий для владельца сайта.

Опишите задачу

Первая оценка бесплатная. По описанию и ссылке на сайт дам ориентир по цене и сроку. Если потребуется платная диагностика, согласуем её до начала. Отвечаю в течение рабочего часа, пн–пт 10:00–19:00 по Тбилиси (09:00–18:00 МСК).

Быстрее в Telegram

    Как обрабатываются данные заявки, описано в политике конфиденциальности. NDA можно согласовать до передачи материалов.