Widget Kurulumu

Detayli kurulum rehberi

Selwise script'ini sitenize eklemenin üç yolu vardır: CDN (önerilen), npm paketi ve React Native (mobil). Çoğu e-ticaret sitesi için CDN yöntemi yeterlidir.

Ön koşul: site oluşturun ve site key alın

Kurulumdan önce Dashboard'da bir site tanımlamanız gerekir.

  1. selwise.com/dashboard adresinde oturum açın.
  2. Siteler > Site Ekle adımından e-ticaret alan adınızı girin (örn. magaza.com) ve para biriminizi seçin (ISO-4217, örn. TRY, EUR, USD).
  3. Oluşturulan sitenin Site Key değerini kopyalayın. Tüm kurulum bu anahtarla çalışır.

API üzerinden oluşturmak isterseniz:

curl -X POST https://api.selwise.com/api/v1/sites \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "domain": "magaza.com", "currency": "TRY" }'

Yanıt, kurulumda kullanacağınız siteKey alanını içerir.

Site Key gizli değildir

siteKey tarayıcıda görünür ve gizli bir sır değildir. Güvenlik, gizlilikten değil domain doğrulamasından gelir: Selwise, event ve içerik isteklerini yalnızca doğrulanmış alan adınızın Origin / Referer başlığından kabul eder.

Yöntem 1: CDN (önerilen)

Aşağıdaki tek satırı sitenizin tüm sayfalarında, </body> etiketinden hemen önce (veya <head> içinde) yerleştirin. SITE_KEY değerini kendi anahtarınızla değiştirin.

<script
  src="https://widget.selwise.com/client.js"
  data-site-key="SITE_KEY"
></script>

Script yüklendiğinde document.currentScript üzerindeki data-* özniteliklerini okuyarak otomatik başlatılır — ayrıca Selwise.init() çağırmanıza gerek yoktur.

Script öznitelikleri

ÖznitelikZorunluAçıklama
data-site-keyEvetSitenizin Selwise anahtarı. Bu olmadan başlatma yapılmaz.
data-api-urlHayırAPI taban adresini geçersiz kılar. Varsayılan: https://api.selwise.com. Değer otomatik olarak /api/v1 ile normalize edilir.
data-envHayırdevelopment verilirse geliştirme modu açılır (ek hata ayıklama araçları).

Tek bir kez ekleyin

Script'i sayfa başına yalnızca bir kez ekleyin. SPA (tek sayfa uygulaması) yönlendirmelerinde script'i yeniden eklemeyin — Selwise sayfa geçişlerini kendisi algılar (MutationObserver + history API) ve içeriği yeniden değerlendirir.

Yöntem 2: npm paketi

React, Vue veya kendi build sisteminizi kullanan modern uygulamalar için:

npm install @selwise/widget
import Selwise from '@selwise/widget';

const widget = new Selwise();

await widget.init({
  siteKey: 'SITE_KEY',
  apiUrl: 'https://api.selwise.com/api/v1',
  exposeGlobal: true, // window.Selwise'ı da tanımlar
});

init() seçenekleri (WidgetConfig):

AlanTipVarsayılanAçıklama
siteKeystringZorunlu. Sitenizin anahtarı.
apiUrlstringhttps://api.selwise.comAPI taban adresi. /api/v1 yoksa eklenir.
exposeGlobalbooleanfalsetrue ise window.Selwise global API'sini tanımlar.

Next.js / SSR

Script yalnızca tarayıcıda çalışır. Next.js gibi SSR ortamlarında init() çağrısını useEffect içinde (yalnızca istemcide) yapın veya CDN yöntemini bir <Script strategy="afterInteractive"> etiketiyle kullanın.

Yöntem 3: React Native (mobil)

Mobil uygulamalar için ayrı bir SDK ve API anahtarı kullanılır:

npm install @selwise/react-native @react-native-async-storage/async-storage
import Selwise from '@selwise/react-native';

const selwise = new Selwise();

await selwise.init({
  siteKey: 'SITE_KEY',
  apiUrl: 'https://api.selwise.com/api/v1',
  apiKey: 'YOUR_MOBILE_API_KEY', // Dashboard > site ayarlarından üretilir
  sdkVersion: '0.1.0',
});

await selwise.setScreenContext({ name: 'Home', path: '/home' });

selwise.track('page_view', {
  entityType: 'page',
  metadata: { source: 'react-native' },
});

Mobil istekler tarayıcı Origin başlığı içermediğinden domain doğrulaması yerine x-selwise-api-key başlığıyla kimlik doğrular. Mobil API anahtarını Dashboard'daki site ayarlarından üretebilirsiniz.

Dağıtılan dosyalar

CDN'de aşağıdaki dosyalar yayınlanır. Yalnızca client.js'i eklersiniz; geri kalanı Selwise gerektiğinde otomatik yükler.

DosyaNe zaman yüklenir
client.jsHer zaman — ana giriş dosyası (gzip 15 KB altında hedeflenir).
selwise-search.[hash].jsArama modülü kullanıldığında (tembel).
selwise-reco.[hash].jsÖneri modülü kullanıldığında (tembel).
selwise-renderers.[hash].jsWidget şablonları gerektiğinde (tembel).
selwise-datalayer.[hash].jsVeri katmanı devreye girdiğinde (tembel).
selwise-vendor.[hash].jsPaylaşılan üçüncü taraf bağımlılıklar (tembel).

Başlatma akışı

init() çağrıldığında Selwise şu adımları sırayla yürütür:

  1. /api/v1/public/sites/:siteKey/tracking-config — takip/batch yapılandırmasını yükler.
  2. Deney (experiment) varyant atamalarını başlatır.
  3. Segment hedeflemesini yükler.
  4. Kampanyaları ve widget'ları çeker (/config toplu endpoint'i veya ayrı çağrılar).
  5. Özel script'leri çeker.
  6. Journey (yolculuk) takibini başlatır.
  7. Kampanya ve widget'ları render eder.
  8. Arama ve öneri modüllerini gerektiğinde tembel yükler.

Kurulumu doğrulayın

Kurulumdan sonra:

  1. Domain doğrulaması yapın. Doğrulanmamış domain'lerde widget render edilmez ve event'ler reddedilir. Bkz. Domain Doğrulama.
  2. Tarayıcı konsolunda debug modunu açın:
localStorage.setItem('selwise_debug', 'true');
location.reload();
  1. Ağ (Network) sekmesinde tracking-config ve events/batch isteklerinin oluştuğunu doğrulayın.

Sorun yaşarsanız Widget Görünmüyor ve Takip Sorunları sayfalarına bakın.

Son güncelleme: 1 Temmuz 2026

Bu makale yardimci oldu mu?