Hujjatlar
O'rnatish, hodisalar, server API va maxfiylik.
Hech narsa topilmadi. "skript", "hodisalar", "daromad" yoki "maxfiylik" so'zlarini sinab ko'ring.
O'rnatish
Saytning har bir sahifasida <head> ichiga bitta qator. SPA uchun qo'shimcha hech narsa kerak emas: marshrut o'zgarishi avtomatik ko'rish sifatida hisoblanadi.
<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>
);
}
Sayt sozlamalari → Yana → HEAD ichiga joylash uchun HTML-kod
<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 o'rniga sayt sozlamalaridagi identifikatorni qo'ying.
Skript parametrlari
Hisoblagich xatti-harakati script tegidagi atributlar bilan sozlanadi.
| Atribut | Nima qiladi |
|---|---|
data-site |
Sayt identifikatori. Majburiy. |
data-persist="1" |
Tashrifchi identifikatorini localStorage'da saqlaydi. Daromad atributsiyasi uchun kerak. |
data-hash="1" |
#fragmentlarni alohida sahifa sifatida hisoblaydi. |
data-outbound="0" |
Tashqi havolalar hisobini o'chiradi. |
data-exclude="/admin/*" |
Hisobga olinmaydigan yo'llar. Bir nechtasi vergul bilan. |
data-api |
O'zingizning hodisa qabul qiluvchi manzilingiz. |
O'z hodisalaringiz
datafast funksiyasi skript yuklangandan keyin darhol mavjud bo'ladi. Hodisa nomi ixtiyoriy, xossalar majburiy emas.
datafast('signup', { plan: 'pro' });
// Идентификатор посетителя — передайте его на свой сервер,
// чтобы привязать к нему будущую оплату:
datafast.visitorId();
Hodisa maqsad sifatida hisoblanishi uchun sayt sozlamalarida xuddi shu nomli maqsad yarating.
Telegram
«t.me» referreri Mini App, ichki brauzer, kanaldagi post va shaxsiy xabar uchun bir xil. Analitic ularni o'zi ajratadi, lekin qaysi post odamni olib kelganini faqat post belgilangan bo'lsa bilish mumkin.
Postni qanday belgilash
Havolaga o'z belgingiz bilan tg parametrini qo'shing. Qiymat ixtiyoriy, 64 belgigacha.
https://example.uz/catalog?tg=post_42
Mini App
Hech narsa qilish kerak emas: Analitic Telegram SDK'dan start_param'ni o'qiydi. Agar Mini App t.me/bot/app?startapp=post_42 havolasi bilan ochilsa, hisobotda post_42 paydo bo'ladi.
Yozishmadagi buyurtma
Buyurtma saytga emas, shaxsiy xabarlarga keladi. Uni kanalga bog'lash mumkin: saytdagi «Yozish» tugmasi tashrifchi identifikatori bilan havolaga olib boradi, Telegram uni botga start parametrida uzatadi, bot esa shu identifikator bilan to'lov hodisasini yuboradi.
// 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"
}
Faqat data-persist="1" bilan ishlaydi: saqlangan identifikatorsiz bog'laydigan narsa yo'q.
Hisobotda nima paydo bo'ladi
| Telegram | Mini App, ichki brauzer yoki belgilangan havola |
| Telegram posti | tg parametri yoki start_param qiymati |
Server hodisalari va daromad
To'lovlar brauzerda emas, serverda bo'ladi, shuning uchun daromad sayt tokeni bilan alohida so'rovda yuboriladi.
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 yoki email maydonlaridan kamida bittasi kerak, aks holda hodisani hech kimga bog'lab bo'lmaydi. visitor_id sahifada datafast.visitorId() orqali olinadi.
So'rov maydonlari
| Maydon | Nimani bildiradi |
|---|---|
name |
Hodisa nomi. Majburiy. |
visitor_id / external_id / email |
Hodisa kimga tegishli. Kamida bittasi. |
amount |
Summa. Daromad hodisalari uchun. |
currency |
Uch harfli valyuta. Standart — sayt valyutasi. |
occurred_at |
Qachon sodir bo'lgan. Standart — hozir. |
props |
O'z hodisa xossalaringiz. |
Maxfiylik
Tashrifchi xesh orqali aniqlanadi, xeshga har kuni o'zgaradigan tuz kiradi. Ertasi kuni o'sha odam boshqa identifikatorga ega bo'ladi, shuning uchun uzluksiz profil mavjud emas. Brauzerga hech narsa yozilmaydi, shaxsiy ma'lumotlar yig'ilmaydi, asosiy o'rnatishda rozilik banneri kerak emas.
Istisno — data-persist atributi. U to'lovni birinchi manba bilan bog'lash uchun identifikatorni sayt localStorage'ida saqlaydi. Usiz daromad atributsiyasi faqat bitta tashrif ichida ishlaydi.
data-persist'siz tuz har kuni o'zgaradi: to'lovni tashrif bilan faqat bir kun ichida bog'lash mumkin. data-persist bilan — tashriflar orasida, lekin bu tashrifchi brauzeriga yozuv va Yevropa Ittifoqida buning uchun rozilik talab qilinishi mumkin.
Davlat va shahar DB-IP Lite bazasi bo'yicha aniqlanadi (CC BY 4.0). Tashqariga so'rov yuborilmaydi: baza bizning serverimizda.
O'rnatishni tekshirish
Saytingizni yangi oynada oching va panelga qayting — raqamlar bir necha soniyada paydo bo'ladi.
- Bir daqiqadan ortiq ma'lumot yo'q — skript <body> emas, <head> ichida turganini tekshiring.
- Brauzer konsolida yuklash xatosi — ehtimol skript manzili reklama bloklovchi tomonidan to'silgan.
- Ma'lumot keladi, lekin daromad yo'q — sayt tokenini va so'rovda visitor_id, external_id yoki email borligini tekshiring.
- Ortiqcha sahifalar hisoblanmoqda — ularni data-exclude ga qo'shing.