Одна строка кода — а всё остальное по мере необходимости
Код отслеживания весит около 5 КБ в сжатом виде и работает на любом сайте. Для событий, входа, e-commerce и серверных данных есть компактный JavaScript API и серверный API.
<script defer src="https://visualclicks.de/t/fwa.js" data-site="vc_…"></script>
События, свойства и вход
Отправляйте собственные события, например поисковые запросы, загрузки или клики, через fwa.track(), а дополнительную информацию — через fwa.set(): для события, страницы, сессии или постоянно для пользователя. После входа fwa.identify() связывает сессию с вашим номером клиента.
Каждое новое свойство автоматически появляется в реестре свойств и сразу становится доступным в фильтрах, карточках и сегментах.
// событие со свойствами
fwa.track('search', { query: 'палатка', results: 12 });
// свойство для всей сессии
fwa.set('customer_type', 'vip', { scope: 'session' });
// привязать вход, выйти из аккаунта
fwa.identify('cust_4711');
fwa.reset();
// согласие из вашего cookie-баннера
fwa.consent.grant(['analytics', 'recording']);
Процесс покупки в виде событий
API e-commerce повторяет структуру Google Analytics 4: просмотр товара, корзина, оформление заказа, доставка, оплата, покупка и возврат — каждый раз с позициями, брендом, категориями, ценой и количеством.
Если у вашего магазина уже есть модель данных GA4, перенести её почти не составит труда.
fwa.ecommerce.viewItem({ item_id: 'ZT-100', item_name: 'Треккинговая палатка',
item_brand: 'NordCamp', item_category: 'Палатки', price: 249 });
fwa.ecommerce.addToCart({ item_id: 'ZT-100', price: 249, quantity: 1 });
fwa.ecommerce.beginCheckout(items, { value: 249 });
fwa.ecommerce.purchase(items, { transaction_id: 'A-1001',
value: 249, tax: 39.76, shipping: 0, currency: 'EUR' });
Заказы и ИИ-краулеры прямо с вашего сервера
С серверным ключом из настроек ваш бэкенд отправляет события напрямую в VisualClicks — независимо от браузера, блокировщика рекламы и согласия. Заказы объединяются с данными браузера по номеру заказа.
Точно так же вы сообщаете о запросах ИИ-краулеров — или загружаете журнал доступа в формате «combined».
- Несколько ключей на сайт, каждый можно отозвать отдельно
- Ключ показывается только один раз и хранится только в виде хеша
- Исключение IP-адресов для внутреннего трафика
curl -X POST https://visualclicks.de/api/s/v1/events \
-H "Authorization: Bearer vcsk_…" \
-H "Content-Type: application/json" \
-d '{"source":"server","e":[{"t":"ecommerce","n":"purchase",
"u":"https://shop.example/thank-you",
"x":{"transaction_id":"A-1001","value":249}}]}'
Асинхронно
Загружается с defer и никогда не блокирует страницу
Одностраничные приложения
Смена страниц через History API — автоматически
Без программирования
Отслеживание кликов через data-fwa-event
Несколько сайтов
Свой код и свои настройки для каждого сайта
Часто задаваемые вопросы
Куда вставлять код отслеживания?
В <head> каждой страницы — в большинстве CMS и платформ для магазинов через тему или поле для собственных скриптов. Код загружается асинхронно и не блокирует страницу.
Работает ли это с одностраничными приложениями (React, Vue, Next.js)?
Да. Смена страниц через History API автоматически фиксируется как просмотр страницы.
Как отслеживать клики по кнопкам без программирования?
С помощью атрибута data-fwa-event на элементе, например data-fwa-event="newsletter_click". Дополнительные свойства добавляются через data-fwa-prop-….
Для чего нужен серверный ключ?
С ним ваш сервер может отправлять события напрямую: заказы, возвраты или запросы ИИ-краулеров. Серверные ключи никогда не должны попадать в исходный код вашего сайта, и их можно отзывать по отдельности.
Готовы к первой строке кода?
Запросите доступ. Дальше достаточно одной строки кода отслеживания — первые визиты появятся в реальном времени.