Документация
Установка, события, серверный API и приватность.
Ничего не нашлось. Попробуйте «скрипт», «события», «выручка» или «приватность».
Установка
Одна строка в <head> на каждой странице сайта. Для SPA ничего дополнительно делать не нужно: смена маршрута считается просмотром автоматически.
<head>
<script defer data-site="YOUR_SITE_ID" src="https://analitic.my-it.uz/js/da.js"></script>
</head>
{{-- resources/views/layouts/app.blade.php --}}
<head>
<script defer data-site="YOUR_SITE_ID" src="https://analitic.my-it.uz/js/da.js"></script>
</head>
// app/layout.tsx
import Script from 'next/script';
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<Script
src="https://analitic.my-it.uz/js/da.js"
data-site="YOUR_SITE_ID"
strategy="afterInteractive"
/>
</body>
</html>
);
}
Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD
<script defer data-site="YOUR_SITE_ID" src="https://analitic.my-it.uz/js/da.js"></script>
// functions.php вашей темы
add_action('wp_head', function () {
echo '<script defer data-site="YOUR_SITE_ID" src="https://analitic.my-it.uz/js/da.js"></script>';
});
Замените YOUR_SITE_ID на идентификатор из настроек сайта.
Параметры скрипта
Поведение счётчика настраивается атрибутами на теге script.
| Атрибут | Что делает |
|---|---|
data-site |
Идентификатор сайта. Обязателен. |
data-persist="1" |
Хранит идентификатор посетителя в localStorage. Нужен для атрибуции выручки между визитами; без него связь работает в пределах суток. |
data-hash="1" |
Считает #фрагменты отдельными страницами. |
data-outbound="0" |
Отключает учёт исходящих ссылок. |
data-exclude="/admin/*" |
Пути, которые не учитывать. Несколько — через запятую. |
data-api |
Свой адрес приёмника событий. |
Свои события
Функция datafast доступна на странице сразу после загрузки скрипта. Имя события — любое, свойства необязательны.
datafast('signup', { plan: 'pro' });
// Идентификатор посетителя — передайте его на свой сервер,
// чтобы привязать к нему будущую оплату:
datafast.visitorId();
Чтобы событие считалось целью, создайте цель с таким же именем в настройках сайта.
Telegram
Реферрер «t.me» одинаков для Mini App, встроенного браузера, поста в канале и личного сообщения. Analitic различает их сам, но какой именно пост привёл человека — можно узнать только если пост помечен.
Как пометить пост
Добавьте к ссылке параметр tg со своим обозначением. Значение любое, до 64 символов.
https://example.uz/catalog?tg=post_42
Mini App
Ничего делать не нужно: Analitic читает start_param из Telegram SDK. Если Mini App открывается ссылкой t.me/bot/app?startapp=post_42, в отчёте появится post_42.
Заказ из переписки
Заказ приходит в личные сообщения, а не на сайт — привязать его к каналу можно так: кнопка «Написать» на сайте ведёт по ссылке с идентификатором посетителя, Telegram передаёт его боту в параметре start, бот отправляет событие об оплате с этим же идентификатором.
// 1. Кнопка на сайте
document.querySelector('#write-to-us').href =
datafast.telegramLink('myshopbot');
// 2. Бот получает /start <visitor_id> и сообщает об оплате
POST https://analitic.my-it.uz/api/v1/event
Authorization: Bearer da_••••••••
{
"name": "order_paid",
"visitor_id": "<то, что пришло в start>",
"amount": 350000,
"currency": "UZS"
}
Работает только при data-persist="1": без сохранённого идентификатора связывать нечего.
Что появится в отчёте
| Telegram | Mini App, встроенный браузер или помеченная ссылка |
| Пост в Telegram | значение параметра tg или start_param |
Серверные события и выручка
Оплаты приходят на сервер, а не в браузер, поэтому выручка отправляется отдельным запросом с токеном сайта.
curl -X POST https://analitic.my-it.uz/api/v1/event \
-H "Authorization: Bearer da_your_token" \
-H "Content-Type: application/json" \
-d '{
"name": "subscription_paid",
"email": "customer@example.com",
"amount": 19.00,
"currency": "USD"
}'
Нужно указать хотя бы одно из полей visitor_id, external_id или email — иначе событие не к кому привязать. visitor_id берётся на странице вызовом datafast.visitorId().
Поля запроса
| Поле | Что значит |
|---|---|
name |
Имя события. Обязательно. |
visitor_id / external_id / email |
К кому привязать событие. Нужно хотя бы одно. |
amount |
Сумма. Для событий выручки. |
currency |
Валюта, три буквы. По умолчанию — валюта сайта. |
occurred_at |
Когда произошло. По умолчанию — сейчас. |
props |
Свои свойства события. |
Приватность
Посетитель определяется по хешу, в который входит соль, меняющаяся каждые сутки. На следующий день тот же человек получает другой идентификатор, поэтому сквозного профиля не существует. В браузер ничего не записывается, персональные данные не собираются, баннер согласия в базовой установке не нужен.
Исключение — атрибут data-persist. Он хранит идентификатор в localStorage вашего сайта, чтобы связать оплату с первым источником.
Без data-persist соль меняется каждые сутки: связать оплату с визитом можно только в пределах одного дня. С data-persist — между визитами, но это запись в браузер посетителя, и в ЕС за неё может потребоваться согласие.
Определение страны и города — по базе DB-IP Lite (CC BY 4.0). Запросов наружу нет: база лежит на нашем сервере.
Проверка установки
Откройте свой сайт в новой вкладке и вернитесь на дашборд — цифры появятся через несколько секунд.
- Данных нет дольше минуты — проверьте, что скрипт стоит в <head>, а не в <body>.
- В консоли браузера ошибка загрузки — вероятно, адрес скрипта заблокирован блокировщиком рекламы.
- Данные идут, но выручки нет — проверьте токен сайта и то, что в запросе есть visitor_id, external_id или email.
- Считаются лишние страницы — добавьте их в data-exclude.