04İzleme
Özel etkinlikler
gauss('event', …) ile Gauss'a kendi etkinliklerinizi gönderme — ad kuralları, parametre sınırları, önerilen GA4 adları; buton, form ve React örnekleri.
Otomatik etkinlikler görüntülemeleri, formları ve iletişim bağlantılarını kapsar. Başarılı bir başvuru, kayıt, önemli bir butona tıklama veya satın alma ise site tarafından tek satır JavaScript ile işaretlenir.
Çağrı
gauss('event', 'callback_request', { placement: 'header', plan: 'pro' });- ilk argüman her zaman
'event'; izleyici şimdilik başka komut tanımıyor; - ikincisi etkinlik adı;
- üçüncüsü isteğe bağlı parametre nesnesi.
Etkinlik geçerli sayfa adresiyle birlikte hemen gönderilir.
Erken çağrılar için kuyruk betiği
Snippet defer ile yüklendiği için gauss hemen kullanılabilir olmaz. Betik yüklenmeden önce yapılan çağrıların kaybolmaması için <head> içine, snippet'ten önce şu betiği ekleyin:
<script>
window.gauss = window.gauss || function () { (window.gauss.q = window.gauss.q || []).push(arguments); };
</script>
<script defer data-site="YOUR_SITE_ID" src="https://collect.gausslab.io/js/gauss.js"></script>Bu betik çağrıları kuyruğa alır; izleyici yüklendikten sonra onları sırayla, page_view etkinliğinin hemen ardından gönderir. Kuyruk betiği varken gauss(...) çağrısını, betiğin yüklenip yüklenmediğini kontrol etmeden sayfanın her yerinde yapabilirsiniz. Betik yoksa, yüklemeden önce yapılan çağrı ReferenceError hatası verir. Sitenizde Content Security Policy varsa satır içi betiğe bir nonce veya hash gerekir; bkz. Kurulum.
Ad kuralları
Etkinlik adları ve parametre anahtarları:
- yalnızca küçük Latin harfleri
a–z, rakamlar0–9ve_içerir; - harfle başlar;
- en fazla 40 karakterdir.
Etkinlik adı gauss_, ga_, google_ veya firebase_ ile başlayamaz; bu önekler ayrılmıştır.
| Ad | Sonuç |
|---|---|
callback_request | kabul edilir |
CallbackRequest | atılır: büyük harfler |
2nd_step | atılır: rakamla başlıyor |
ga_lead | atılır: ayrılmış önek |
Geçersiz adlı etkinlik gönderilmez ve konsolda [gauss] dropped <ad> uyarısı çıkar.
Parametreler ve sınırlar
| Ne | Sınır |
|---|---|
| Parametre sayısı | en fazla 25 |
| Değer türü | metin, sayı veya true/false |
| Metin uzunluğu | en fazla 100 karakter; daha uzunu kısaltılır |
items (ürünler) | dizi, en fazla 50 öğe |
Sınırı aşan her şeye ne olur:
- 25'ten sonraki parametreler, geçersiz adlı anahtarlar, nesne değerleri, diziler ve
NaNatılır; konsolda[gauss] dropped <anahtar>görünür; - boş metinler,
nullveundefinedsessizce atlanır; itemsiçinde ilk 50 öğe kalır, gerisi uyarıyla atılır;- etkinliğin geri kalanı yine gönderilir. İşaretleme hatası sayfayı bozmaz: izleyici sitenin koduna asla istisna fırlatmaz.
Parametrelerde e-posta, telefon, ad ve kişiye ait diğer verileri göndermeyin. Gauss'un bu tür değerleri sunucuda nasıl temizlediği Hangi veriler toplanır sayfasında anlatılıyor.
Önerilen adlar
Yaygın eylemler için GA4 sözlüğündeki adları kullanın. Siteniz zaten GA4 için işaretlenmişse etkinlik ve parametre adlarını değiştirmeniz gerekmez; bkz. GA4 uyumluluğu.
| Etkinlik | Ne zaman | Parametreler |
|---|---|---|
generate_lead | başvuru başarıyla gönderildi | lead_id (isteğe bağlı), value, currency |
sign_up | kayıt | — |
login | giriş | — (kullanıcı kimliği olmadan) |
view_item | ürün görüntüleme | items |
add_to_cart | sepete ekleme | items, value, currency |
begin_checkout | ödemeye başlama | items, value, currency |
purchase | satın alma | transaction_id, value, currency, items |
refund | iade | transaction_id, value, currency |
Satın almaların, ürünlerin ve dönüşüm değerinin nasıl işaretleneceği Dönüşümler ve e-ticaret sayfasında.
Örnekler
Buton tıklaması:
<button type="button" onclick="gauss('event', 'pricing_click', { placement: 'hero' })">Fiyatları gör</button>fetch ile gönderilen form: form_submit otomatik gelir, generate_lead ise yalnızca sunucu başarılı yanıt verdikten sonra gönderilir.
const form = document.querySelector('#callback');
form.addEventListener('submit', async (event) => {
event.preventDefault();
const response = await fetch('/api/lead', { method: 'POST', body: new FormData(form) });
if (response.ok) {
gauss('event', 'generate_lead', { form_id: 'callback', value: 1500, currency: 'TRY' });
}
});React (<head> içinde kuyruk betiği varken window.gauss her zaman tanımlıdır):
export function DemoButton() {
return (
<button onClick={() => window.gauss?.('event', 'demo_request', { placement: 'pricing' })}>
Demo iste
</button>
);
}TypeScript için türü bir kez tanımlayın:
declare global {
interface Window {
gauss?: (command: 'event', name: string, params?: Record<string, unknown>) => void;
}
}
export {};Etkinliğin gittiğini ve hiçbir şeyin atılmadığını hata ayıklama modunda kontrol edin.