В маркетинге важна точная и своевременная информация о поведении клиентов на сайте. Для сайтов на WordPress можно создать собственный автоматический инструмент отслеживания действий пользователей, чтобы улучшить маркетинговые кампании и повысить конверсию. В этой статье мы подробно разберем, как реализовать такой отслеживатель своими руками с примерами кода и полезными плагинами.
Зачем нужен автоматический маркетинговый отслеживатель клиентов
Отслеживание пользователей помогает понять, какие страницы и продукты вызывают интерес, откуда приходят посетители, какие действия они совершают (заполнение форм, клики по кнопкам, подписки). Эта информация позволяет:
- Персонализировать маркетинговые предложения и акции;
- Оптимизировать структуру сайта и пользовательский путь;
- Повысить эффективность рекламы и рассылок;
- Собирать данные для аналитики и сегментации аудитории.
Реализовать отслеживание можно с помощью готовых систем, например Google Analytics, но для более глубокой интеграции и автоматизации удобнее создавать собственные решения в WordPress.
Выбор плагина для сбора и обработки данных
Для начала рассмотрим, какие плагины помогут упростить задачи сбора данных и построения автоматических процессов в WordPress:
- WPRemark — отличный плагин для управления отзывами и сбора пользовательских данных с возможностью автоматизации;
- My Popup — позволяет создавать целевые всплывающие формы для сбора контактов и триггеров поведения;
- WPGPT — помогает автоматизировать маркетинговые сценарии с помощью искусственного интеллекта.
Эти плагины можно использовать как в связке, так и по отдельности, дополняя функционал собственными решениями.
Создание базового кода для отслеживания действий пользователя
Для максимально гибкой настройки создадим простой плагин, который будет логировать клики по определенным элементам сайта и сохранять данные в пользовательской таблице базы данных WordPress.
Регистрация таблицы для хранения данных
Добавим функцию для создания таблицы при активации плагина:
function wpmarketing_create_tracking_table() {
global $wpdb;
$table_name = $wpdb->prefix . 'wpmarketing_user_actions';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
user_id BIGINT(20) UNSIGNED NULL,
action_type VARCHAR(100) NOT NULL,
action_data TEXT NULL,
action_time DATETIME NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
register_activation_hook(__FILE__, 'wpmarketing_create_tracking_table');Эта таблица будет хранить идентификатор пользователя, тип действия, дополнительные данные и время события.
Отслеживание кликов с помощью AJAX
Далее добавим JavaScript для отправки информации о кликах на сервер:
function wpmarketing_enqueue_scripts() {
wp_enqueue_script('wpmarketing-tracker', plugin_dir_url(__FILE__) . 'js/tracker.js', array('jquery'), '1.0', true);
wp_localize_script('wpmarketing-tracker', 'wpmarketing_ajax_obj', array(
'ajax_url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('wpmarketing_nonce')
));
}
add_action('wp_enqueue_scripts', 'wpmarketing_enqueue_scripts');В файле js/tracker.js разместим код:
jQuery(document).ready(function($) {
$('.track-click').on('click', function() {
var actionType = $(this).data('action-type');
var actionData = $(this).data('action-data') || '';
$.post(wpmarketing_ajax_obj.ajax_url, {
action: 'wpmarketing_track_action',
nonce: wpmarketing_ajax_obj.nonce,
action_type: actionType,
action_data: actionData
});
});
});Любой элемент с классом track-click и атрибутами data-action-type и data-action-data будет автоматически отслеживаться.
Обработка AJAX запроса
Добавим PHP обработчик для записи данных:
function wpmarketing_handle_track_action() {
check_ajax_referer('wpmarketing_nonce', 'nonce');
if (!is_user_logged_in()) {
wp_send_json_error('User not logged in');
}
$user_id = get_current_user_id();
$action_type = sanitize_text_field($_POST['action_type']);
$action_data = sanitize_textarea_field($_POST['action_data']);
global $wpdb;
$table_name = $wpdb->prefix . 'wpmarketing_user_actions';
$wpdb->insert($table_name, array(
'user_id' => $user_id,
'action_type' => $action_type,
'action_data' => $action_data,
'action_time' => current_time('mysql')
));
wp_send_json_success('Action logged');
}
add_action('wp_ajax_wpmarketing_track_action', 'wpmarketing_handle_track_action');Автоматизация на основе собранных данных
Собранные действия можно использовать для различных маркетинговых целей. Например, можно:
- Отправлять автоматические email при достижении определенного количества кликов;
- Показывать персонализированные попапы через плагин My Popup;
- Интегрировать с CRM через REST API для управления лидами;
- Использовать данные для сегментации пользователей и создания таргетированных кампаний.
Пример функции для отправки письма, если пользователь кликнул по определенной кнопке больше 5 раз:
function wpmarketing_check_and_send_email($user_id, $action_type) {
global $wpdb;
$table_name = $wpdb->prefix . 'wpmarketing_user_actions';
$click_count = $wpdb->get_var($wpdb->prepare(
"SELECT COUNT(*) FROM $table_name WHERE user_id = %d AND action_type = %s",
$user_id, $action_type
));
if ($click_count >= 5) {
$user_info = get_userdata($user_id);
wp_mail($user_info->user_email, 'Спасибо за активность!', 'Вы проявили большой интерес к нашему сайту.');
}
}<Как улучшить и расширить функционал отслеживателя
Вышеописанный пример – базовый каркас. Для профессионального маркетинга стоит добавить:
- Отслеживание не только кликов, но и скроллов, времени на странице и заполнения форм.
- Хранение данных не только для авторизованных пользователей, но и для гостей с помощью cookie или localStorage.
- Визуальную панель администратора для анализа и фильтрации собранных данных;
- Интеграцию с популярными маркетинговыми сервисами и CRM.
Для удобства и расширения возможностей советуем рассмотреть плагины из экосистемы WPSHOP, например WPGPT для интеллектуальной автоматизации и WPRemark для работы с отзывами и пользовательским контентом.