Event Referansi
Tum canonical eventler ve payloadlari
Selwise'ın tüm analitiği (huniler, yolculuklar, kohortlar, ilişkilendirme) tek bir kanonik event sözlüğü üzerine kuruludur. Bu sayfa, sistemin desteklediği her event'i tek tek, üretim yöntemi, tam payload'ı ve kod örnekleriyle açıklar.
Event nasıl üretilir
Bir event üç yoldan biriyle oluşur:
- Otomatik — Client script; widget gösterimi/tıklaması, arama ve öneri etkileşimlerini kendiliğinden yakalar.
- Veri katmanı — Ticari ve sayfa olayları
window.selwiseLayer.push()ile gönderilir. Bkz. Veri Katmanı. - Manuel — Herhangi bir event'i doğrudan
window.Selwise.track()ile gönderirsiniz.
track() imzası:
window.Selwise.track(
name: string, // kanonik event adı (bu sayfadaki başlıklar)
args?: {
entityType?: string; // product | page | basket | checkout | search | user | widget | campaign | recommendation | script | custom
entityId?: string; // ürün için stok kodu (productItemCode); widget/kampanya için UUID
metadata?: Record<string, any>; // olaya özel alanlar (event başına 2 KB sınırı)
}
): void
Script async yüklendiği için çağrıları güvenle sarın:
function selwiseTrack() {
if (window.Selwise) {
window.Selwise.track.apply(window.Selwise, arguments);
}
}
Kategoriler neden önemli
Her kanonik event bir kategoriye aittir: page, commerce, search, engagement, recommendation, user, system. Huniler, ilişkilendirme ve raporlar event'leri bu kategorilere göre gruplar. Aşağıdaki bölümler bu kategorilere göre düzenlenmiştir.
Eksiksiz ölçüm için çekirdek set
Aşağıdaki set, sitenizin hunisinin (görüntüleme → sepet → ödeme → satın alma) ve gelir ilişkilendirmesinin tamamı için yeterlidir. Bu beş event doğru gönderiliyorsa temel analitik çalışır; kalan event'ler zenginleştirmedir.
selwiseTrack('product_view', { entityType: 'product', entityId: 'SKU-123', metadata: { price: 749.9, currency: 'TRY' } });
selwiseTrack('add_to_cart', { entityType: 'product', entityId: 'SKU-123', metadata: { price: 749.9, quantity: 1, currency: 'TRY' } });
selwiseTrack('cart_view', { entityType: 'basket', metadata: { itemCount: 3, total: 1499.7, currency: 'TRY' } });
selwiseTrack('checkout_begin', { entityType: 'checkout', metadata: { total: 1499.7, currency: 'TRY', itemCount: 3 } });
// purchase için trackOrder önerilir — bkz. Sipariş Takibi
productItemCode besleme SKU'su ile aynı olmalı
Ürün olaylarında entityId (veya metadata.productItemCode), ürün beslemenizdeki stok koduyla birebir aynı olmalıdır. Eşleşmezse event sunucuda degraded işaretlenir ve ürün bazlı raporlar/öneriler boş kalır.
Sayfa olayları (page)
page_view
Klasik sayfa görüntüleme. Üretim: otomatik (script yüklendiğinde) / veri katmanı / manuel.
selwiseTrack('page_view', {
entityType: 'page',
metadata: { type: 'home', title: document.title, path: location.pathname },
});
Veri katmanı karşılığı:
window.selwiseLayer.push({
event: 'page_view',
page: { type: 'home', title: 'Anasayfa', path: '/' },
});
type değerleri: home, product, category, search, checkout, cart, account, other. Otomatik takip açıkken sayfa tipi URL kalıplarından tespit edilir.
virtual_page_view
SPA (tek sayfa uygulaması) yönlendirmelerinde sanal sayfa görüntüleme. Üretim: otomatik (pushState/popstate yakalanır) / manuel. Klasik sunucu render'lı sitelerde elle göndermeniz gerekmez; React/Vue gibi SPA'larda otomatik yakalanır. Gerekirse:
selwiseTrack('virtual_page_view', {
entityType: 'page',
metadata: { path: '/urun/sku-123', title: 'Ürün Adı' },
});
Ticari olaylar (commerce)
E-ticaret hunisinin belkemiği.
category_view
Kategori/liste sayfası görüntüleme. Üretim: manuel / veri katmanı.
selwiseTrack('category_view', {
entityType: 'page',
metadata: { category: 'Elektronik > Kulaklık', itemCount: 42 },
});
product_view
Ürün detay görüntüleme. Üretim: manuel / veri katmanı / otomatik (ürün sayfası tespit edilirse).
selwiseTrack('product_view', {
entityType: 'product',
entityId: 'SKU-12345', // = feed'deki item_code
metadata: {
productItemCode: 'SKU-12345',
name: 'Kablosuz Kulaklık',
price: 749.9,
currency: 'TRY',
category: 'Elektronik > Kulaklık',
brand: 'Marka',
variant: 'Siyah',
inStock: true,
},
});
Veri katmanı karşılığı (sku zorunludur):
window.selwiseLayer.push({
event: 'product_view',
product: { sku: 'SKU-12345', title: 'Kablosuz Kulaklık', price: 749.9, currency: 'TRY' },
});
product_impression
Ürünün bir listede/vitrinде görünmesi. Üretim: otomatik (öneri/arama listelerinde) / manuel. Kendi liste sayfanızda ölçmek isterseniz, ürün kart görünür olduğunda gönderin (IntersectionObserver önerilir):
selwiseTrack('product_impression', {
entityType: 'product',
entityId: 'SKU-12345',
metadata: { position: 3, listName: 'category_grid' },
});
product_click
Bir listeden ürüne tıklama. Üretim: otomatik (arama/öneri sonuçlarında). Kendi listenizde:
selwiseTrack('product_click', {
entityType: 'product',
entityId: 'SKU-12345',
metadata: { position: 3, listName: 'category_grid' },
});
product_dwell_time
Ürün sayfasında geçirilen süre. Üretim: otomatik (ürün takip modülü açıkken). Elle göndermeniz genellikle gerekmez.
add_to_cart
Sepete ekleme — hunideki en kritik dönüşüm sinyali. Üretim: manuel / veri katmanı / otomatik (widget'tan sepete ekleme tıklamaları).
selwiseTrack('add_to_cart', {
entityType: 'product',
entityId: 'SKU-12345',
metadata: {
productItemCode: 'SKU-12345',
price: 749.9,
quantity: 1,
currency: 'TRY',
},
});
Veri katmanı karşılığı (birden çok ürün destekler):
window.selwiseLayer.push({
event: 'add_to_cart',
basket: {
step: 'add',
currency: 'TRY',
products: [{ sku: 'SKU-12345', quantity: 1, price: 749.9 }],
},
});
remove_from_cart
Sepetten çıkarma. Üretim: manuel / veri katmanı.
selwiseTrack('remove_from_cart', {
entityType: 'product',
entityId: 'SKU-12345',
metadata: { quantity: 1 },
});
cart_view
Sepet sayfası görüntüleme. Üretim: manuel / veri katmanı.
selwiseTrack('cart_view', {
entityType: 'basket',
metadata: { itemCount: 3, total: 1499.7, currency: 'TRY' },
});
update_cart
Sepet içeriği/adedi güncelleme. Üretim: manuel / veri katmanı.
selwiseTrack('update_cart', {
entityType: 'basket',
entityId: 'SKU-12345',
metadata: { quantity: 2, currency: 'TRY' },
});
cart_abandon ve cart_restore
cart_abandon otomatik üretilir: sepette ürün varken belirli süre (varsayılan 30 dk) işlem yapılmazsa. cart_restore, terk edilen sepetin ziyaretçi geri döndüğünde tespit edilmesidir (otomatik / veri katmanı). Bu iki event için genelde kod yazmanız gerekmez; sepet event'lerini (add_to_cart, cart_view) doğru gönderdiğinizde otomatik çalışır.
checkout_begin
Ödeme sürecinin başlaması. Üretim: manuel / veri katmanı.
selwiseTrack('checkout_begin', {
entityType: 'checkout',
metadata: { total: 1499.7, currency: 'TRY', itemCount: 3 },
});
checkout_progress
Ödeme adımının ilerlemesi (kargo/ödeme bilgisi). Üretim: manuel / veri katmanı.
selwiseTrack('checkout_progress', {
entityType: 'checkout',
metadata: { step: 'payment_info' }, // shipping_info | payment_info
});
checkout_option
Ödeme/kargo seçeneğinin seçilmesi (örn. kredi kartı, kapıda ödeme). Üretim: manuel / veri katmanı.
selwiseTrack('checkout_option', {
entityType: 'checkout',
metadata: { option: 'credit_card' },
});
purchase
Satın alma tamamlanması. Üretim: trackOrder (önerilen) / veri katmanı.
Gelir ilişkilendirmesi için purchase'ı ham track yerine trackOrder ile gönderin; bu, sunucu tarafı sipariş projeksiyonunu ve son-temas ilişkilendirmesini garanti eder:
window.Selwise?.trackOrder({
orderId: 'ORDER-2026-0001',
currency: 'TRY',
total: 1499.7,
items: [{ productItemCode: 'SKU-12345', quantity: 1, unitPrice: 749.9 }],
});
Tüm alanlar, tekilleştirme ve platform örnekleri için bkz. Sipariş Takibi.
wishlist
Favorilere/istek listesine ekleme. Üretim: manuel / veri katmanı.
selwiseTrack('wishlist', {
entityType: 'product',
entityId: 'SKU-12345',
metadata: { action: 'add' }, // add | remove
});
Arama olayları (search)
Arama modülü etkinse bu olayların çoğu otomatik üretilir. Kendi arama arayüzünüzü kullanıyorsanız manuel gönderebilirsiniz.
search_query
Arama sorgusu çalıştırma. Üretim: otomatik / veri katmanı / manuel.
selwiseTrack('search_query', {
entityType: 'search',
metadata: { query: 'kablosuz kulaklık', resultsCount: 42 },
});
Veri katmanı karşılığı:
window.selwiseLayer.push({
event: 'search_query',
search: { query: 'kablosuz kulaklık', results: 42, type: 'faceted' },
});
search_results
Sonuçların dönmesi (sonuç sayısıyla). Üretim: otomatik. Manuel kullanımda:
selwiseTrack('search_results', {
entityType: 'search',
metadata: { query: 'kablosuz kulaklık', resultsCount: 42 },
});
search_zero_results
Sonuçsuz arama — arama kalitesini iyileştirmek için izlenir. Üretim: otomatik / manuel.
selwiseTrack('search_zero_results', {
entityType: 'search',
metadata: { query: 'olmayan ürün' },
});
search_filter ve search_sort
Filtre (facet) uygulama ve sıralama değiştirme. Üretim: otomatik / veri katmanı.
selwiseTrack('search_filter', {
entityType: 'search',
metadata: { query: 'kulaklık', facet: 'renk', values: ['siyah'] },
});
selwiseTrack('search_sort', {
entityType: 'search',
metadata: { query: 'kulaklık', sortBy: 'price', sortOrder: 'asc' },
});
search_page, search_instant_open, search_close
search_page: sonuç sayfası değişimi. search_instant_open: anlık arama kutusunun açılması. search_close: arama arayüzünün kapanması. Üçü de arama modülünce otomatik gönderilir; özel arayüzde gerekirse aynı entityType: 'search' deseniyle manuel gönderebilirsiniz.
Keşif tıklamaları
product_click (sonuçtan ürüne tıklama), category_filter, recent_search_click, popular_search_click, popular_category_click, popular_product_click — hepsi arama/keşif modülünce otomatik üretilir. Manuel kullanımda ortak desen:
selwiseTrack('popular_product_click', {
entityType: 'product',
entityId: 'SKU-12345',
metadata: { source: 'popular_products' },
});
Etkileşim olayları (engagement)
Kampanya ve widget etkileşimleri. Client script bunları otomatik bağlar; normalde kod yazmanız gerekmez.
impression, click, close
Kampanya/widget gösterimi, tıklaması ve kapatılması. Görünürlük IntersectionObserver ile, tıklama ise buton/link etkileşimiyle otomatik yakalanır (buton metni ve hedef URL metadata olarak eklenir). Özel bir alanı elle ölçmek isterseniz:
selwiseTrack('click', {
entityType: 'widget',
entityId: 'WIDGET_UUID',
metadata: { label: 'Alışverişe Başla', href: '/kampanya' },
});
widget_view, view, hover, scroll
widget_view (widget görünür oldu), view (genel görünürlük), hover (üzerine gelme), scroll (kaydırma) — hepsi otomatik etkileşim sinyalleridir. Elle göndermeniz gerekmez.
custom_event
Tanımladığınız her türlü özel olay. Üretim: manuel.
selwiseTrack('newsletter_subscribe', {
entityType: 'custom',
metadata: { source: 'footer' },
});
Veri katmanı karşılığı:
window.selwiseLayer.push({
event: 'custom_event',
custom: { name: 'newsletter_subscribe', params: { source: 'footer' } },
});
Öneri olayları (recommendation)
Öneri widget'larıyla etkileşim. Öneri modülü tarafından otomatik gönderilir: widget_impression (öneri widget'ının gösterimi), slider_navigate (ok/nokta ile gezinme), slider_swipe (dokunmatik kaydırma). Ayrıca öneri kaynaklı ürün gösterim/tıklama/sepet/satın alma olayları öneri takip endpoint'lerine de bildirilir — bkz. Public API — Öneriler.
Kullanıcı olayları (user)
Kullanıcı takip modülü varsayılan olarak kapalıdır; açık olmasa bile identify her zaman çalışır. Kişisel veri göndermekten kaçının (e-postayı hash'leyin).
identify
Anonim ziyaretçiyi bilinen bir kullanıcıyla eşleştirir. track'ten farklı olarak ayrı bir metottur:
window.Selwise?.identify('USER-8841', {
email_hash: '<sha256>', // ham PII GÖNDERMEYİN
plan: 'gold',
});
Ayrıntılar: JavaScript API.
user_signup, user_login, user_logout, user_update
Kayıt, giriş, çıkış ve profil güncelleme. Üretim: manuel / veri katmanı.
selwiseTrack('user_signup', { entityType: 'user' });
selwiseTrack('user_login', { entityType: 'user', metadata: { method: 'password' } });
selwiseTrack('user_logout', { entityType: 'user' });
selwiseTrack('user_update', { entityType: 'user', metadata: { field: 'address' } });
Veri katmanı karşılığı:
window.selwiseLayer.push({
event: 'user_login',
user: { step: 'signin', id: 'USER-8841', loggedIn: true },
});
Sistem olayları (system)
script_injected (özel script başarıyla enjekte edildi) ve script_error (özel script çalışırken hata oluştu) — özel script çalıştırma telemetrisidir ve otomatik üretilir. İzlemeniz için ek kod gerekmez; Özel Scriptler modülünü kullandığınızda çalışır.
Doğrulama
Event'lerin doğru aktığını görmek için:
- Debug modu (konsol logları + görsel overlay):
localStorage.setItem('selwise_debug', 'true');
location.reload();
-
Ağ kontrolü: DevTools → Network →
events/batchisteğinin yanıtı{ accepted: N, rejected: 0 }olmalıdır.rejected > 0ise yanıt gövdesindekiresults[]hatayı söyler (örn. geçersiz ürün kodu →degraded). -
Panel kontrolü: Tracking Analytics sayfasında event'ler 1-2 dk içinde görünür.
Sık karşılaşılan sorunlar:
| Belirti | Sebep |
|---|---|
events/batch 403 | Origin/Referer, doğrulanmış domain ile uyuşmuyor. Bkz. Domain Doğrulama. |
Event degraded | productItemCode, ürün beslemesindeki stok koduyla eşleşmiyor. |
| Satın alma var, gelir yok | trackOrder çağrılmamış veya items[].productItemCode eşleşmiyor. |
| Veri katmanı event'leri gelmiyor | Panelde Data Layer entegrasyonu kapalı veya değişken adı yanlış. |
| Hiç event yok | Onay (consent) verilmemiş olabilir; event'ler düşürülür. Bkz. Onay Yönetimi. |
Kanonik event listesi
Sunucu, farklı yazımları kanonik adlara normalize eder. Tam liste:
page_view, virtual_page_view, category_view, product_view, product_click,
product_impression, product_dwell_time, add_to_cart, remove_from_cart,
cart_view, update_cart, cart_abandon, cart_restore, checkout_begin,
checkout_progress, checkout_option, purchase, wishlist, user_signup,
user_login, user_logout, user_update, identify, search_instant_open,
search_query, search_filter, search_sort, search_page, search_results,
search_zero_results, search_close, category_filter, recent_search_click,
popular_search_click, popular_category_click, popular_product_click,
impression, click, close, view, hover, scroll, widget_view,
widget_impression, slider_navigate, slider_swipe, script_injected,
script_error, custom_event
Huni analizleri bu kanonik adlar üzerinden çalışır; çekirdek seti (ürün → sepet → ödeme → satın alma) doğru adlarla göndermek, huni raporlarının anlamlı olmasının ön koşuludur.
Son güncelleme: 2 Temmuz 2026