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:

  1. Otomatik — Client script; widget gösterimi/tıklaması, arama ve öneri etkileşimlerini kendiliğinden yakalar.
  2. Veri katmanı — Ticari ve sayfa olayları window.selwiseLayer.push() ile gönderilir. Bkz. Veri Katmanı.
  3. 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 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:

  1. Debug modu (konsol logları + görsel overlay):
localStorage.setItem('selwise_debug', 'true');
location.reload();
  1. Ağ kontrolü: DevTools → Network → events/batch isteğinin yanıtı { accepted: N, rejected: 0 } olmalıdır. rejected > 0 ise yanıt gövdesindeki results[] hatayı söyler (örn. geçersiz ürün kodu → degraded).

  2. Panel kontrolü: Tracking Analytics sayfasında event'ler 1-2 dk içinde görünür.

Sık karşılaşılan sorunlar:

BelirtiSebep
events/batch 403Origin/Referer, doğrulanmış domain ile uyuşmuyor. Bkz. Domain Doğrulama.
Event degradedproductItemCode, ürün beslemesindeki stok koduyla eşleşmiyor.
Satın alma var, gelir yoktrackOrder çağrılmamış veya items[].productItemCode eşleşmiyor.
Veri katmanı event'leri gelmiyorPanelde Data Layer entegrasyonu kapalı veya değişken adı yanlış.
Hiç event yokOnay (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

Bu makale yardimci oldu mu?