# Script’i Sitenize Ekleyin

Script kodunu sitenize ekleme
Kaynak: https://selwise.com/docs/getting-started/installing-widget

Selwise sitenize tek bir script etiketiyle kurulur. Bu sayfa en kısa yolu anlatır; her script özniteliği, etiket yöneticisi (GTM) kurulumu, tek sayfa uygulamaları, CSP, önbellek ve geri alma için [Widget Kurulumu (detaylı)](/docs/integration/widget-installation) sayfasına bakın.

## Ön koşul

Panelde bir **web kanalı** tanımlı olmalı ve **Channel Key** (Kanal Anahtarı) elinizde olmalı: **Kanallar → Kanal Özeti** (Channels → Channel Overview) ekranındaki kartta durur. Kanal yoksa [Kanal Ekleme](/docs/channels/adding-channels). Bir mobil uygulama için bu sayfa değil [Mobil SDK](/docs/mobile/overview) geçerlidir.

## Script etiketi

Aşağıdaki satırları sitenizin **tüm** sayfalarına, `<head>` içine (ya da `</body>` etiketinden hemen önce) ekleyin:

```html
<link rel="preconnect" href="https://widget.selwise.com" crossorigin>
<link rel="preconnect" href="https://api.selwise.com" crossorigin>
<script>window.Selwise=window.Selwise||{};window.Selwise.q=window.Selwise.q||[];['track','trackOrder','identify','setTraits','pushDataLayer','grantConsent','revokeConsent','showConsentPreferences','withdrawConsent','endJourney'].forEach(function(m){if(!window.Selwise[m])window.Selwise[m]=function(){window.Selwise.q.push([m,arguments])}});</script>
<script async src="https://widget.selwise.com/client.js" data-site-key="SITE_KEY"></script>
```

`SITE_KEY` yerine panelden aldığınız değeri yazın. Başka bir ayar ya da `init()` çağrısı gerekmez: script kendiliğinden başlar.

> **Tüm sayfalar, tek kez**
>
> Script yalnızca ana sayfada olursa ziyaretçi yolculuğunun geri kalanı ölçülemez ve ürün sayfası içerikleri hiç çizilmez. Genellikle doğru yer, temanızın ortak footer ya da `<head>` şablonudur. Aynı script'i sayfaya iki kez eklemeyin: iki örnek çift olay demektir.

## Üç satırın görevi

| Satır | Ne yapar |
| --- | --- |
| `preconnect` | İki hosta bağlantıyı erken başlatır; 100-300 ms kazanç |
| Komut kuyruğu | Script yüklenmeden önce yapılan `trackOrder`, `identify` gibi çağrıları tamponlar ve hazır olunca oynatır. **Bu satır olmadan `async` sipariş kaybettirir** |
| `async` script | Sayfanın çizimini beklemez |

Script sıkıştırılmış 50 KB'nin altındadır; arama, öneri ve çizici kodları yalnızca o özellik açıksa ayrıca indirilir.

## Platforma göre nereye eklenir

| Platform | Yer |
| --- | --- |
| Akinon Project Zero | `base.html` şablonu, `body` kapanışından önce |
| Akinon Omnife Next | `_document.tsx` veya ortak layout |
| Shopify | `theme.liquid` |
| Ticimax, T-Soft, ikas, IdeaSoft | Panel içindeki özel kod / footer script alanı |
| Google Tag Manager | Custom HTML etiketi: [Widget Kurulumu](/docs/integration/widget-installation#etiket-yöneticisi-google-tag-manager-ile-kurulum) |

Ayrıntılı kurulum sırası için [Platformlar](/docs/platforms/overview) bölümüne bakın.

## Kurulumu doğrulama

1. Kanalın alan adını doğrulayın: doğrulanmamış kanalda içerik çizilmez ve olaylar kaydedilmez ([Alan Adı Doğrulama](/docs/channels/domain-verification)).
2. Sitenizi açın, tarayıcı konsolunu açın ve çalıştırın:

```js
localStorage.setItem('selwise_debug', 'true');
location.reload();
```

3. DevTools **Network** sekmesinde şu isteği görmelisiniz:

```text
GET https://api.selwise.com/api/v1/public/sites/SITE_KEY/config?p=4
```

Bu istek `200` dönüyorsa script çalışıyor ve kanal doğrulanmış demektir. `403` dönüyorsa alan adı henüz doğrulanmamıştır ya da `Origin` kanalın alan adlarından biri değildir. Ardından `events/batch` isteklerinin `200` ve `"success": true` ile döndüğünü kontrol edin. Sorun varsa [Takip Sorunları](/docs/troubleshooting/tracking-issues) sayfasındaki teşhis akışını izleyin.

## Sırada ne var

- [Alan Adı Doğrulama](/docs/channels/domain-verification)
- [İlk Kampanya](/docs/getting-started/first-campaign)
- [Entegrasyon Genel Bakış](/docs/integration/overview): sipariş, kimlik, onay, sunucu taraflı render
