Верх страницы
Обложка к записи Отслеживание целей кнопок и форм в Elementor
Время для прочтения: 1 мин. 5 сек.

Отслеживание целей кнопок и форм в Elementor

Отследить нажатие на кнопки и отправку форм, сделанных при помощи Elementor, в Google Analytics или Яндекс Метрике можно с помощью простых сниппетов.

Причины

Заметка создана в качестве дополнения к видеозаписи «Отслеживание нажатия кнопок и заполнения форм Elementor в Google Analytics и Яндекс Метрика» от Александра Парфилова по двум причинам.

Во-первых, код передачи целей Яндекс Метрики изменился и не совсем соответствует тому, что приведён на видео.

Во-вторых не у всех нас сайтах есть или правильно подключена библиотека jQuery.

Этому множество причин, например, плагины кэширования, которые меняют порядок подключения скриптов при оптимизации.

Поэтому приведу также сниппет на чистом коде (ванильном JavaScript).

Сниппеты

Сниппеты — это маленькие кусочки JavaScript кода, которые вам необходимо скопировать, обернуть в теги <script> и </script> и вставить на ваш сайт.

На jQuery

Этот сниппет должен быть в футере сайта как можно ниже, после подключения бибилиотеки jQuery:

jQuery(
	function( $ ) {
		$( '#email-button' ).on(
			'click',
			function() {
				// Отправка в Аналитику для кода analytics.js.
				ga( 'send', 'event', 'button', 'click', 'Email' );

				// Отправка в Аналитику для кода gtag.js.
				gtag( 'event', 'click', {
					'event_category': 'button',
					'event_label': 'email'
				} );

				// Отправка в Метрику.
				ym( 'XXXXXX', 'reachGoal', 'header-email' );
			}
		);

		$( '#contact-form' ).on(
			'submit_success',
			function(){
				// Отправка в Аналитику для кода analytics.js.
				ga( 'send', 'event', 'Lead', 'Submit', 'Contact' );

				// Отправка в Аналитику для кода gtag.js.
				gtag( 'event', 'Submit', {
					'event_category': 'Lead',
					'event_label': 'Contact'
				} );

				// Отправка в Метрику.
				ym( 'XXXXXX', 'reachGoal', 'contact-form' );
			}
		);
	}
);

На «ванильном» JavaScript

Этот сниппет также должен быть в футере сайта как можно ниже:

var ready = ( callback ) => {
	if ( 'loading' !== document.readyState ) {
		callback();
	} else {
		document.addEventListener( 'DOMContentLoaded', callback );
	}
};

ready( () => {

	document.querySelector( '#email-button' ).addEventListener( 'click', ( e ) => {
		ga( 'send', 'event', 'button', 'click', 'Email' );
		ym( 'XXXXXX', 'reachGoal', 'header-email' );
	} );

	document.querySelector( '#contact-form' ).addEventListener( 'submit_success', ( e ) => {
		ga( 'send', 'event', 'Lead', 'Submit', 'Contact' );
		ym( 'XXXXXX', 'reachGoal', 'contact-form' );
	} );		
} );

Как добавить сниппеты

Для добавления сниппетов на сайт без знания кода можно использовать либо плагин Code Snippets Extended (он не обновлялся пару лет), который рекомендует Александр в своём видео, либо плагин LuckyWP Scripts Control, который рекомендую лично я.

Если вы разбираетесь в коде и не хотите ставить лишние плагины, то сниппеты можно добавить при помощи функции wp_add_inline_script() для примера с jQuery или на хуке wp_footer для примера без jQuery внутри functions.php вашей активной темы (дочерней темы) или внутри mu-plugins.

На jQuery

add_action(
    'wp_enqueue_scripts',
    function() {
        // Добавляем сниппет как зависимость от jQuery.
        wp_add_inline_script( 'jquery', 'тут ваш сниппет' );
    }
);

На «ванильном» JavaScript

add_action(
    'wp_footer',
    function() {
        // Добавляем сниппет в вйтер сайта.
        ?>
        тут ваш сниппет
        <?php
    }
);

Проверка целей

Для проверки правильности отправки целей в Яндекс Метрику можно использовать специальный режим отладки.

Чтобы его активировать, добавьте в конце адреса проверяемой страницы параметр _ym_debug=1.

Откройте косноль Google Chrome комбинацией клавиш Ctrl + Shift + J (на маках ⌥ + ⌘ + J) и смотрите, что передаётся в метрику при клике на кнопки и отправку форм.

Обратите внимание на опцию Не учитывать мои визиты (Настройка → Фильтры) в Яндекс Метрике. Если она включена, выполняйте предыдущие шаги в приватном режиме браузера (инкогнито).

Для проверки правильности отправки целей в Google Analytics можно использовать специальное расширение Google Analytics Debugger под Google Chrome.

Результат его работы также можно наблюдать в консоли браузера.

Внимание!

Чтобы не мучать людей вставкой непонятных для них кодов отслеживания, мы написали плагин Events Tracker for Elementor, который сводит этот тяжелый процесс к двум кликам мышки.

Events Tracker For Elementor — отслеживание целей и конверсий в 2 кликаEvents Tracker For Elementor — отслеживание целей и конверсий в 2 клика

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

23 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Олег
Олег
4 лет назад

Единственно правильная строчка для ЯМ — ym( 'XXXXXX', 'reachGoal', 'header-email' );

Или можно подставить стандартную — yaCounterXXXXXX.reachGoal('header-email'); return true; ?

Calderon
Calderon
4 лет назад

Увы — не работает в моем Элементоре отслеживание кнопки. Все сделал пошагово, как указано выше + отключил cache plugin чтоб не мешал.Но GA так и не видит клика по кнопке. Если есть возможность, прошу связаться. Требуется помощь в данном вопросе

Calderon
Calderon
4 лет назад
Ответить на  Кобзарёв Михаил

Без проблем. Но не в комментах. Напишите на почту пжлста. Я вышлю ссылки и что было сделано

Calderon
Calderon
4 лет назад
Ответить на  Кобзарёв Михаил

Очень признателен за помощь. Спасибо!

Юрий
Юрий
4 лет назад

Я может быть что-то упустил но ответьте плиз на вопрос, мне нужно отслеживать кнопку оплаты которая находится на странице но она не является ни гуглом ни метрикой, здесь мне нужно узнать сколько по этой кнопке уже тыкнули. И вывести эту цифру на главной странице, как это можно сделать? Тоже пользуюсь элементором

Юрий
Юрий
4 лет назад
Ответить на  Кобзарёв Михаил

Ну просто мне потом суммировать все клики по всем таким кнопкам нужно. Я если честно сходу даже не вдупляю как это реализовать )) какой плаг посоветуете?

Андрей
Андрей
1 год назад

Плагин классный! Ребята, магазин WP пишет что плагин заблочен с 12.05.2022, как его скачать теперь можно?

Слава
Слава
1 год назад
Ответить на  Кобзарёв Михаил

тоже хотел скачать, попробовать. есть альтернативные источники?

Константин
Константин
9 месяцев назад

Попробовал плагин Events tracker for Elementor — всё равно не работают цели. Формы сделаны на Elementor Pro, если что.

Pavel
Pavel
8 месяцев назад

Events Tracker for ElementorКак разместить в начала кода страницы? а то он внизу

Виталий
Виталий
5 месяцев назад

Этот плагин был закрыт с 12.09.2023, он более не доступен для загрузки. Причина: Проблема безопасности.

Предыдущая запись

Давайте дружить
в Telegram

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы