Sekimo ir įvykių dokumentacija
Viskas, ko reikia norint įdiegti ClearAnalytics savo svetainėje ir sekti puslapių peržiūras, pasirinktinius įvykius, paspaudimų tikslus ir e. prekybos operacijas.
Apžvalga
ClearAnalytics siūlo du sekimo scenarijų variantus. Pasirinkite tą, kuris atitinka jūsų poreikius: minimalų scenarijų pagrindinei puslapių peržiūrų analitikai arba pilną scenarijų pasirinktiniams įvykiams, paspaudimų tikslams ir e. prekybos sekimui.
Lengvas scenarijus (ca.js)
Lengviausias įmanomas sekimo scenarijus. Idealus tinklaraščiams, nukreipimo puslapiams ir svetainėms, kurioms reikia tik puslapių peržiūrų analitikos.
ca.js
< 1 KB
- Automatinis puslapių peržiūrų sekimas
- Sesijos trukmė ir atmetimo rodiklis
- UTM kampanijos parametrų fiksavimas
- Vieno puslapio programų palaikymas
Pilnas scenarijus (ca-events.js)
Viskas, kas yra lengvame scenarijuje, plius pasirinktiniai įvykiai, paspaudimų tikslų sekimas, GA4 dataLayer perėmimas ir pilnas e. prekybos palaikymas.
ca-events.js
< 2 KB
- Viskas, kas yra lengvame scenarijuje
- Pasirinktinių įvykių sekimas per window.ca()
- Paspaudimų tikslų sekimas per data-ca-goal
- GA4 dataLayer integracija
- Pilnas e. prekybos įvykių sekimas
Diegimas
Pridėkite vieną script žymą prie savo svetainės. Jokių npm paketų, jokių build įrankių, jokių konfigūracijos failų. Scenarijus įkeliamas asinchroniškai ir neturi jokio poveikio puslapio veikimui.
HTML — Lengvas scenarijus
Pridėkite tai prie <head> arba <body> pabaigos kiekviename puslapyje. Automatiškai seka puslapių peržiūras, sesijos trukmę ir UTM parametrus.
<script defer src="https://clearanalytics.eu/js/ca.js"></script>
HTML — Pilnas scenarijus
Naudokite šį variantą, jei reikia pasirinktinių įvykių, paspaudimų tikslų ar e. prekybos sekimo.
<script defer src="https://clearanalytics.eu/js/ca-events.js"></script>
HTML — Pilnas scenarijus su DataLayer
Pridėkite atributą data-ca-datalayer, kad automatiškai pereitumėte GA4 dataLayer įvykius, įskaitant visus e. prekybos įvykius.
<script defer src="https://clearanalytics.eu/js/ca-events.js" data-ca-datalayer></script>
WordPress
Pridėkite script žymą per savo temos functions.php failą arba naudokite antraštės/poraštės įterpimo įskiepį.
// functions.php
add_action('wp_head', function () {
echo '<script defer src="https://clearanalytics.eu/js/ca-events.js"></script>';
});
React / Next.js
Naudokite Next.js Script komponentą optimaliam įkėlimui. Scenarijus veikia su bet kuriuo React karkasu.
// app/layout.tsx (Next.js App Router)
import Script from 'next/script';
export default function RootLayout({ children }) {
return (
<html>
<head>
<Script
src="https://clearanalytics.eu/js/ca-events.js"
strategy="afterInteractive"
/>
</head>
<body>{children}</body>
</html>
);
}
Vue / Nuxt
Pridėkite scenarijų per Nuxt konfigūraciją arba tiesiogiai į HTML šabloną paprastoms Vue programoms.
// nuxt.config.ts
export default defineNuxtConfig({
app: {
head: {
script: [
{
src: 'https://clearanalytics.eu/js/ca-events.js',
defer: true,
},
],
},
},
});
Google Tag Manager
Scenarijų taip pat galite diegti per Google Tag Manager naudodami Custom HTML žymą.
Tag Type: Custom HTML
Trigger: All Pages
<script defer src="https://clearanalytics.eu/js/ca-events.js" data-ca-datalayer></script>
Naudojant GTM su atributu data-ca-datalayer, ClearAnalytics automatiškai fiksuos visus dataLayer įvykius, kuriuos siunčia jūsų esamos GTM žymos.
Pasirinktiniai įvykiai
Sekite bet kokią vartotojo sąveiką siųsdami pasirinktinius įvykius su neprivalomais metaduomenimis. Pasirinktiniai įvykiai rodomi valdymo skyde ir gali būti naudojami kaip tikslų paleidikliai.
Reikia pilno scenarijaus (ca-events.js).
API signatūra
window.ca(eventName, properties?);
| Parametras | Tipas | Aprašymas |
|---|---|---|
eventName |
string | Aprašomasis įvykio pavadinimas (pvz., 'signup', 'file_download'). |
properties |
object | Neprivalomas objektas su papildomais metaduomenimis. Serializuojamas kaip JSON. |
Pavyzdžiai
// Registracijos sekimas su plano informacija
window.ca('signup', { plan: 'pro' });
// Failo atsisiuntimo sekimas
window.ca('file_download', {
file_name: 'whitepaper.pdf',
file_type: 'pdf',
});
// Vaizdo įrašo paleidimo sekimas
window.ca('video_play', {
video_title: 'Product Demo',
duration: 120,
});
// Vidinės paieškos sekimas
window.ca('search', { query: 'privacy analytics' });
Paspaudimų tikslų sekimas
Sekite mygtukų ir nuorodų paspaudimus nerašydami JavaScript. Pridėkite atributą data-ca-goal prie bet kurio HTML elemento ir paspaudimas bus automatiškai užfiksuotas.
Reikia pilno scenarijaus (ca-events.js).
Naudojimas
Pridėkite data-ca-goal="goal-name" prie bet kurio spaudžiamo elemento. Atributo reikšmė tampa tikslo identifikatoriumi valdymo skyde.
<button data-ca-goal="cta-signup">Sign Up</button>
<a href="/pricing" data-ca-goal="pricing-click">View Pricing</a>
<form data-ca-goal="contact-form-submit">
<!-- The goal fires when any element inside is clicked -->
<button type="submit">Send</button>
</form>
Kaip tai veikia
Scenarijus naudoja įvykių delegavimą dokumente efektyviam paspaudimų aptikimui:
- Paspaudimo įvykis suveikia bet kur puslapyje.
- Scenarijus kyla aukštyn DOM medžiu nuo paspausto elemento ieškodamas atributo data-ca-goal.
- Jei randamas, siunčiamas paspaudimo įvykis su tikslo pavadinimu kaip selektoriumi.
Paspaudimų tikslų peržiūra
Paspaudimų tikslų įvykiai rodomi Tikslų puslapyje valdymo skyde. Sukurkite tikslą su tipu "Click" ir susiekite jį su data-ca-goal reikšme, naudota jūsų HTML.
GA4 DataLayer integracija
Jei jūsų svetainė jau siunčia įvykius į Google Analytics dataLayer, ClearAnalytics gali automatiškai perimti tuos įvykius. Tai paprasčiausias migracijos kelias nuo GA4.
Reikia pilno scenarijaus (ca-events.js).
DataLayer perėmimo įjungimas
Pridėkite atributą data-ca-datalayer prie script žymos. Šis opt-in metodas užtikrina, kad funkcija suaktyvėja tik tada, kai ją aiškiai įjungiate.
<script defer src="https://clearanalytics.eu/js/ca-events.js" data-ca-datalayer></script>
Kaip tai veikia
Kai įjungta, scenarijus perima visus dataLayer.push() kvietimus:
- Atpažinti e. prekybos įvykiai (purchase, add_to_cart ir kt.) persiunčiami kaip e. prekybos įvykiai.
- Visi kiti pasirinktiniai įvykiai persiunčiami kaip bendri pasirinktiniai įvykiai.
- Vidiniai GTM įvykiai (gtm.js, gtm.dom, gtm.load ir kt.) automatiškai filtruojami.
- Esami dataLayer įrašai apdorojami puslapio įkėlimo metu; būsimi įrašai perimami realiu laiku.
Pavyzdys
// These dataLayer pushes are automatically captured
dataLayer.push({
event: 'form_submit',
form_id: 'contact',
form_name: 'Contact Form',
});
dataLayer.push({
event: 'video_start',
video_title: 'Product Demo',
video_duration: 120,
});
Ignoruojami įvykiai
Šie vidiniai GTM įvykiai automatiškai ignoruojami ir nebus rodomi jūsų valdymo skyde:
// These GTM internal events are automatically filtered out:
gtm.js, gtm.dom, gtm.load, gtm.click, gtm.linkClick, gtm.scrollDepth
E. prekybos sekimas
Sekite visą kliento kelionę nuo produktų naršymo iki pirkimo ir grąžinimo. ClearAnalytics palaiko visus 14 standartinių e. prekybos įvykių naudodamas tą patį dataLayer formatą kaip GA4.
Reikia pilno scenarijaus (ca-events.js) su atributu data-ca-datalayer.
Visi e. prekybos įvykiai naudoja su GA4 suderinamą dataLayer.push() formatą. Jei jau turite įdiegtą GA4 e. prekybos sekimą, ClearAnalytics automatiškai fiksuos tuos įvykius be jokių kodo pakeitimų.
| Įvykis | Aprašymas |
|---|---|
view_item_list | Vartotojas peržiūri produktų sąrašą arba paieškos rezultatus. |
select_item | Vartotojas paspaudžia produktą sąraše. |
view_item | Vartotojas peržiūri produkto informacijos puslapį. |
add_to_cart | Vartotojas prideda produktą į krepšelį. |
remove_from_cart | Vartotojas pašalina produktą iš krepšelio. |
view_cart | Vartotojas peržiūri krepšelį. |
add_to_wishlist | Vartotojas prideda produktą į norų sąrašą. |
begin_checkout | Vartotojas pradeda atsiskaitymo procesą. |
add_shipping_info | Vartotojas pateikia pristatymo informaciją. |
add_payment_info | Vartotojas pateikia mokėjimo informaciją. |
purchase | Vartotojas užbaigia pirkimą. |
refund | Apdorojamas pilnas arba dalinis grąžinimas. |
view_promotion | Vartotojas mato reklaminį banerį arba pasiūlymą. |
select_promotion | Vartotojas paspaudžia akciją. |
view_item_list
Iškvieskite šį įvykį, kai vartotojai mato produktų sąrašą, pvz., kategorijos puslapį ar paieškos rezultatus.
dataLayer.push({ ecommerce: null }); // Clear previous data
dataLayer.push({
event: 'view_item_list',
ecommerce: {
item_list_id: 'category_results',
item_list_name: 'Category Results',
items: [
{
item_id: 'SKU-001',
item_name: 'Running Shoes',
item_brand: 'SportCo',
item_category: 'Footwear',
price: 89.99,
index: 0,
},
{
item_id: 'SKU-002',
item_name: 'Trail Shoes',
item_brand: 'SportCo',
item_category: 'Footwear',
price: 119.99,
index: 1,
},
],
},
});
select_item
Iškvieskite šį įvykį, kai vartotojas paspaudžia konkretų produktą sąraše norėdamas jį peržiūrėti.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'select_item',
ecommerce: {
item_list_id: 'category_results',
item_list_name: 'Category Results',
items: [{
item_id: 'SKU-001',
item_name: 'Running Shoes',
item_brand: 'SportCo',
price: 89.99,
index: 0,
}],
},
});
view_item
Iškvieskite šį įvykį, kai vartotojas patenka į produkto informacijos puslapį.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'view_item',
ecommerce: {
currency: 'EUR',
value: 89.99,
items: [{
item_id: 'SKU-001',
item_name: 'Running Shoes',
item_brand: 'SportCo',
item_category: 'Footwear',
item_variant: 'Blue / Size 42',
price: 89.99,
quantity: 1,
}],
},
});
add_to_cart
Iškvieskite šį įvykį, kai vartotojas prideda vieną ar daugiau produktų į krepšelį.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'add_to_cart',
ecommerce: {
currency: 'EUR',
value: 89.99,
items: [{
item_id: 'SKU-001',
item_name: 'Running Shoes',
item_brand: 'SportCo',
price: 89.99,
quantity: 1,
}],
},
});
remove_from_cart
Iškvieskite šį įvykį, kai vartotojas pašalina produktą iš krepšelio.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'remove_from_cart',
ecommerce: {
currency: 'EUR',
value: 89.99,
items: [{
item_id: 'SKU-001',
item_name: 'Running Shoes',
price: 89.99,
quantity: 1,
}],
},
});
view_cart
Iškvieskite šį įvykį, kai vartotojas peržiūri krepšelio puslapį.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'view_cart',
ecommerce: {
currency: 'EUR',
value: 209.98,
items: [
{ item_id: 'SKU-001', item_name: 'Running Shoes', price: 89.99, quantity: 1 },
{ item_id: 'SKU-003', item_name: 'Sports Watch', price: 119.99, quantity: 1 },
],
},
});
add_to_wishlist
Iškvieskite šį įvykį, kai vartotojas išsaugo produktą norų sąraše vėlesniam laikui.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'add_to_wishlist',
ecommerce: {
currency: 'EUR',
value: 89.99,
items: [{
item_id: 'SKU-001',
item_name: 'Running Shoes',
price: 89.99,
}],
},
});
begin_checkout
Iškvieskite šį įvykį, kai vartotojas pradeda atsiskaitymo procesą.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'begin_checkout',
ecommerce: {
currency: 'EUR',
value: 209.98,
coupon: 'SUMMER20',
items: [
{ item_id: 'SKU-001', item_name: 'Running Shoes', price: 89.99, quantity: 1 },
{ item_id: 'SKU-003', item_name: 'Sports Watch', price: 119.99, quantity: 1 },
],
},
});
add_shipping_info
Iškvieskite šį įvykį, kai vartotojas pasirenka ar pateikia pristatymo duomenis atsiskaitymo metu.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'add_shipping_info',
ecommerce: {
currency: 'EUR',
value: 209.98,
shipping_tier: 'Express',
items: [
{ item_id: 'SKU-001', item_name: 'Running Shoes', price: 89.99, quantity: 1 },
{ item_id: 'SKU-003', item_name: 'Sports Watch', price: 119.99, quantity: 1 },
],
},
});
add_payment_info
Iškvieskite šį įvykį, kai vartotojas pasirenka ar pateikia mokėjimo būdą atsiskaitymo metu.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'add_payment_info',
ecommerce: {
currency: 'EUR',
value: 209.98,
payment_type: 'Credit Card',
items: [
{ item_id: 'SKU-001', item_name: 'Running Shoes', price: 89.99, quantity: 1 },
{ item_id: 'SKU-003', item_name: 'Sports Watch', price: 119.99, quantity: 1 },
],
},
});
purchase
Iškvieskite šį įvykį, kai pirkimas patvirtinamas. Įtraukite transaction_id, value, currency, tax, shipping ir pilną items masyvą.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'TXN-20260219-001',
affiliation: 'Online Store',
value: 209.98,
tax: 36.49,
shipping: 5.99,
currency: 'EUR',
coupon: 'SUMMER20',
items: [
{
item_id: 'SKU-001',
item_name: 'Running Shoes',
item_brand: 'SportCo',
item_category: 'Footwear',
item_variant: 'Blue / Size 42',
price: 89.99,
quantity: 1,
coupon: '',
},
{
item_id: 'SKU-003',
item_name: 'Sports Watch',
item_brand: 'FitTech',
item_category: 'Electronics',
item_variant: 'Black',
price: 119.99,
quantity: 1,
coupon: '',
},
],
},
});
refund
Iškvieskite šį įvykį, kai apdorojamas grąžinimas. Pilnam grąžinimui reikia tik transaction_id. Daliniams grąžinimams įtraukite konkrečius produktus.
// Full refund
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'refund',
ecommerce: {
transaction_id: 'TXN-20260219-001',
},
});
// Partial refund (specific items)
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'refund',
ecommerce: {
transaction_id: 'TXN-20260219-001',
items: [{
item_id: 'SKU-001',
quantity: 1,
}],
},
});
view_promotion
Iškvieskite šį įvykį, kai reklaminis baneris, karuselė ar pasiūlymas tampa matomas vartotojui.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'view_promotion',
ecommerce: {
creative_name: 'Spring Banner',
creative_slot: 'homepage_hero',
promotion_id: 'PROMO-SPRING-2026',
promotion_name: 'Spring Sale 2026',
items: [{
item_id: 'SKU-001',
item_name: 'Running Shoes',
price: 89.99,
discount: 15.00,
}],
},
});
select_promotion
Iškvieskite šį įvykį, kai vartotojas paspaudžia akciją norėdamas sužinoti daugiau ar pasinaudoti pasiūlymu.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'select_promotion',
ecommerce: {
creative_name: 'Spring Banner',
creative_slot: 'homepage_hero',
promotion_id: 'PROMO-SPRING-2026',
promotion_name: 'Spring Sale 2026',
items: [{
item_id: 'SKU-001',
item_name: 'Running Shoes',
price: 89.99,
}],
},
});
Perėjimas nuo Google Analytics
ClearAnalytics sukurta veikti kartu su Google Analytics arba kaip jo pakaitalas. Pereinamuoju laikotarpiu galite naudoti abu įrankius lygiagrečiai be jokių konfliktų.
Abiejų scenarijų lygiagretus naudojimas
Pridėkite ClearAnalytics scenarijų šalia esamos Google Analytics žymos. Abu scenarijai seks nepriklausomai netrukdydami vienas kitam.
<!-- Google Analytics (existing) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXX');
</script>
<!-- ClearAnalytics (add this line) -->
<script defer src="https://clearanalytics.eu/js/ca-events.js" data-ca-datalayer></script>
Funkcijų suderinamumas
Kaip ClearAnalytics funkcijos atitinka Google Analytics atitikmenis:
| Funkcija | Google Analytics | ClearAnalytics |
|---|---|---|
| Puslapių peržiūros | gtag('event', 'page_view') |
Automatinis |
| Pasirinktiniai įvykiai | gtag('event', ...) |
window.ca('event') |
| E. prekyba | dataLayer.push() |
Suderinama su dataLayer |
| UTM kampanijos | Automatinis | Automatinis |
| Sesijos | Paremta slapukais | Be slapukų |
Perėjimo žingsniai
- Pridėkite ClearAnalytics scenarijų prie savo svetainės šalia Google Analytics.
- Įjunkite dataLayer perėmimą su data-ca-datalayer, kad fiksuotumėte esamus e. prekybos įvykius.
- Palyginkite duomenis abiejuose valdymo skyduose 2–4 savaites tikslumui patikrinti.
- Kai būsite patenkinti, pašalinkite Google Analytics scenarijų ir mėgaukitės greitesne, privatumą gerbiančia sąranka.
SPA palaikymas
ClearAnalytics automatiškai aptinka kliento pusės navigaciją vieno puslapio programose. Jokios papildomos konfigūracijos ar maršrutizatoriaus integracijos nereikia.
Kaip tai veikia
Scenarijus perima naršyklės History API kvietimus puslapio navigacijai aptikti:
-
history.pushState()kvietimai perimami ir sukelia naują puslapio peržiūrą. -
history.replaceState()kvietimai perimami ir sukelia naują puslapio peržiūrą. -
popstateįvykiai (naršyklės atgal/pirmyn) sukelia naują puslapio peržiūrą.
Suderinami karkasai
Veikia iškart su bet kuriuo karkasu, naudojančiu History API maršrutizavimui:
Nereikia maršrutizatoriaus įskiepių, gyvavimo ciklo kabliukų ar rankinių sekimo kvietimų. Tiesiog pridėkite script žymą vieną kartą ir kiekviena puslapio navigacija sekama automatiškai.
Privatumas ir atitiktis
ClearAnalytics sukurta su privatumu centre. Sekimo scenarijus renka tik anoniminius, agreguotus duomenis. Jokie asmeniniai duomenys niekada nesaugomi ir neperduodami.
Jokių slapukų
Scenarijus nenustato, neskaito ir nepriklauso nuo jokių naršyklės slapukų. Slapukų sutikimo juosta nereikalinga.
Jokio skaitmeninio atpažinimo
Mes niekada nekuriame naršyklės atspaudų. Nenaudojamos canvas, WebGL, šriftų ar garso atpažinimo technikos.
Jokio IP saugojimo
Lankytojų IP adresai naudojami tik anonimizuotam maišos kodui užklausos metu. Jie niekada nesaugomi duomenų bazėje.
Atitinka GDPR
Kadangi asmeniniai duomenys nerenkami, ClearAnalytics nepatenka į GDPR sutikimo reikalavimus. Visi duomenys lieka ES.
Kaip anonimizuojame lankytojus
Norėdami skaičiuoti unikalius lankytojus nesaugodami asmeninių duomenų, naudojame kasdien besikeičiantį anoniminį maišos kodą:
- Lankytojo IP adresas ir User-Agent derinami su kasdien besikeičiančia druska.
- Šis derinys maišomas vienkrypčiu SHA-256 algoritmu.
- Druska keičiasi kas 24 valandas, todėl neįmanoma sekti lankytojų tarp dienų.
- Pradinis IP adresas niekada nesaugomas ir neregistruojamas.
Scenarijaus renkami duomenys
Su kiekvienu puslapio peržiūros įvykiu siunčiami šie neasmeniniai duomenų laukai:
| Laukas | Paskirtis |
|---|---|
pathname | Lankomos puslapio URL kelio dalis. |
referrer | Nukreipiančio puslapio URL, jei yra. |
language | Naršyklės kalbos nustatymas. |
screen_width / screen_height | Ekrano matmenys įrenginio tipo klasifikavimui. |
utm_* | Kampanijos sekimo parametrai iš URL. |
duration | Laikas, praleistas puslapyje sekundėmis. |
Kadangi ClearAnalytics niekada nerenka asmeninių duomenų, jums nereikia slapukų sutikimo juostos, privatumo iššokančio lango ar opt-in mechanizmo naudojant mūsų sekimo scenarijų. Jis iškart atitinka GDPR, ePrivacy, PECR ir CCPA.