Как передать любые данные в событие аналитики: Custom Properties в KinMetric

Открываешь аналитику утром в понедельник, а там…

…обычный список событий: «Регистрация», «Покупка», «Просмотр карточки». И всё. Никаких подробностей. Какой тариф выбрал пользователь? Через какую рекламную кампанию пришёл? Сколько дней он тестировал продукт перед покупкой? Ответов нет. Ты смотришь на график, видишь всплеск регистраций, но не понимаешь, что именно сработало. Знакомо?

В KinMetric эту проблему решает функция Custom Properties. Это механизм, который позволяет прикрепить к любому событию произвольный набор полей. Без ограничений, без предопределённых схем. Просто передаёшь объект с данными — и они сохраняются как есть.

Что такое Custom Properties и как это работает

Когда ты отправляешь событие в KinMetric, третий аргумент — это объект с любыми ключами и значениями. Например, для регистрации пользователя:

window.km('signup', 'pro', {
method: 'google',
plan: 'pro',
amount: 1990
});

В этом примере событие signup получило три дополнительных поля: method (источник регистрации), plan (выбранный тариф) и amount (сумма в копейках или центах). Внутренняя кухня простая: KinMetric сериализует этот объект в JSON и сохраняет в базу данных. Никакой предварительной настройки схемы не нужно — просто передаёшь данные, и они начинают работать.

Технически это выглядит так: ты можешь передать вложенную структуру, массивы, строки, числа, булевы значения. Всё, что сериализуется в JSON, будет принято и сохранено. Потом эти данные доступны через REST API — ты можешь строить свои дашборды, выгружать сырые данные в CSV или подключать к BI-системам.

Реальный кейс: e-commerce с детализацией по товарам

Представь интернет-магазин электроники. Событие purchase без Custom Properties выглядит так: «Покупка на сумму 15 000 рублей». А с ними:

window.km('purchase', 'completed', {
product_id: 'MBP-2023-14',
category: 'Ноутбуки',
brand: 'Apple',
discount: 2000,
payment_method: 'card',
delivery_city: 'Москва'
});

Теперь ты видишь не просто сумму, а полную картину: какой товар купили, с какой скидкой, каким способом оплаты, в какой город отправили. Это даёт возможность анализировать, например, какие категории товаров чаще всего покупают с максимальной скидкой, или в каких городах пользователи предпочитают наложенный платёж.

Вот как это выглядит на цифрах. Допустим, у тебя 10 000 покупок в месяц. Без Custom Properties ты знаешь только общую выручку — 20 млн рублей. С ними ты можешь:

Увидеть, что 30% покупок приходится на категорию «Ноутбуки», а средняя скидка по ним — 15%.

Выяснить, что пользователи из Санкт-Петербурга в два раза чаще выбирают оплату картой, чем наличными.

Обнаружить, что бренд Samsung в категории «Смартфоны» конвертируется на 25% лучше, чем Xiaomi, при той же цене.

Эти инсайты становятся доступны сразу после того, как ты добавил поля в событие. Не нужно ждать, пока аналитик настроит отдельные отчёты.

Пошаговая инструкция: как добавить Custom Properties на сайт

Всё делается за пять минут. Никаких сложных интеграций, только JavaScript.

Подключи скрипт KinMetric на свой сайт. Если уже используешь — пропусти этот шаг. Если нет — добавь строку перед закрывающим .

Определи, какие события требуют дополнительных данных. Например, для SaaS-продукта это могут быть события signup, upgrade, cancel. Для e-commerce — add_to_cart, checkout, purchase.

Собери данные, которые хочешь передать. В объекте могут быть любые ключи: строки, числа, массивы. Главное — чтобы они были сериализуемы в JSON. Не передавай функции или DOM-элементы.

Передай объект третьим аргументом. Пример для SaaS-регистрации: window.km('signup', 'trial', { plan: 'business', billing_period: 'monthly', trial_days_used: 12 }).

Проверь в консоли. Открой DevTools браузера, выполни код вручную и убедись, что событие появилось в логах KinMetric. Обычно ответ приходит за 100-200 мс.

Используй REST API для кастомных отчётов. После того как данные накопились, сделай GET-запрос к эндпоинту /api/events с фильтром по типу события. Получишь массив объектов с полями, которые ты передал.

Что ты получаешь в итоге

Custom Properties — это не просто «ещё одна фича». Это способ превратить стандартную аналитику в гибкий инструмент, который подстраивается под твой бизнес, а не наоборот.

Гибкость без боли. Не нужно заранее объявлять схемы, создавать кастомные события под каждую вариацию. Просто передал объект — и данные уже в базе.

Доступ к сырым данным. Через REST API ты можешь выгрузить всё, что собрал, и построить любые отчёты. Хочешь — в Excel, хочешь — в Tableau. Никаких ограничений встроенных дашбордов.

Экономия времени разработчика. Одна строка кода заменяет часы настройки дополнительных трекеров. Не нужно писать отдельные функции под каждое поле — просто расширяешь объект.

Понятная аналитика для маркетолога. Вместо абстрактных цифр — конкретные данные: какой план, какой источник, какой город. Можно быстро понять, что работает, а что нет.

Например, для SaaS-продукта с событием signup ты можешь передать { plan: 'pro', billing_period: 'yearly', trial_days_used: 14 }. И сразу увидеть, что пользователи, которые пришли с платного трафика, в два раза чаще выбирают годовой план, чем те, кто пришёл органически. Или что те, кто использовал триал больше 10 дней, конвертируются в платных клиентов с вероятностью 80%.

Когда это особенно полезно

Custom Properties выручает в трёх сценариях:

E-commerce: нужно знать не только сумму покупки, но и категорию товара, бренд, размер скидки, способ доставки. Пример: { product_id, category, brand, discount }.

SaaS: важно понимать, какой тариф выбрал пользователь, какой биллинг-период, сколько дней он тестировал продукт. Пример: { plan, billing_period, trial_days_used }.

Медиа и контент: нужно отслеживать, какой тип контента смотрит пользователь, на каком устройстве, сколько времени провёл на странице. Пример: { content_type, device, session_duration }.

В каждом из этих случаев Custom Properties даёт возможность детализировать данные без изменения архитектуры аналитики. Ты просто добавляешь поля в события, которые уже отправляешь.

Хочешь попробовать? Зарегистрируйся на бесплатный тариф и добавь первые Custom Properties за пять минут. А если нужны подробности — вся документация по функции на странице Custom Properties в каталоге.