# Tetikleyiciler

Gösterim koşulları ve sıklık sınırı
Kaynak: https://selwise.com/docs/widgets/triggers

Tetikleyiciler, bir kampanyanın **ne zaman** ve **ne sıklıkla** görüneceğini belirler. İki ayrı mekanizma vardır: açılma tetikleyicisi (yalnızca Modal'da) ve sıklık sınırı (tüm tiplerde).

## Panelde nerede

Kampanya kurucusu → **Rules** (Kurallar) adımı: Modal ise **Modal Strategy** (Modal Stratejisi) bloğu, sonra **Frequency Caps** (Frekans Sınırları) kartı.

## Açılma tetikleyicisi

Yalnızca **Modal** tipinde bulunur. Diğer tipler sayfa yüklendiğinde (hedefleme koşulları sağlanıyorsa) gösterilir. Beş strateji vardır:

| Strateji (panel etiketi) | Ne zaman açılır | Ayar |
|---|---|---|
| `exit_intent` — **Exit Intent** (Çıkış Niyeti) | Masaüstünde imleç pencerenin üst kenarından çıktığında; dokunmatik cihazda sayfanın en az yarım ekranını kaydırdıktan sonra hızla yukarı kaydırıldığında | — |
| `page_load` — **Page Load** (Sayfa Yüklenince) | Sayfa yüklenir yüklenmez | — |
| `time_delay` — **Time Delay** (Zaman Gecikmesi) | Belirli saniye sonra | **Delay (seconds)** (Gecikme), varsayılan 5, en az 0 |
| `scroll_depth` — **Scroll Depth** (Kaydırma Derinliği) | Sayfanın belirli yüzdesine inildiğinde | **Scroll Threshold (%)** (Kaydırma Eşiği), varsayılan 50, 1 ile 100 arası |
| `custom_event` — **Custom Event** (Özel Olay) | Sizin tetiklediğiniz bir olayda | **Custom Event Name** (Özel Olay Adı), varsayılan `selwise:open-modal`, zorunlu |

Varsayılan strateji `exit_intent`'tir. Dokunmatik cihazdaki hareket "ekranın dörtte biri kadar yukarı, 400 milisaniye içinde" bir kaydırmadır; yavaş okuma kaydırması modalı açmaz.

### Kendi olayınızla açma

`custom_event` stratejisinde modalı sitenizin kendi kodundan açabilirsiniz. Olay **`document` üzerinde** dinlenir:

```js
document.dispatchEvent(new CustomEvent('selwise:open-modal'));
```

> **Olayı window üzerinde tetiklemeyin**
>
> `window.dispatchEvent(...)` dinleyiciye ulaşmaz; olay `document`'a gönderilmelidir. Panelde olay adını değiştirdiyseniz burada da o adı kullanın.

### Modal ne zaman bir daha açılmaz

- Aynı anda yalnızca bir modal açık olur; biri açıkken ikincisi açılmaz.
- Ziyaretçi modalı **X** ile ya da arka plana tıklayarak kapatırsa modal bir sonraki sayfada yeniden açılabilir (sıklık sınırı izin verdiği sürece).
- Ziyaretçi modalın **butonuna** ya da **görsel bağlantısına** tıklarsa modal o tarayıcıda **bir daha hiç** gösterilmez. Aynı davranış Duyuru Çubuğu ve Kayarak Gelen Panel'in butonu için de geçerlidir. Test ederken bu kaydı silmek için [Test Modu](/docs/campaigns/testing#test-ederken-sizi-engelleyen-kayıtlar).

## Sıklık sınırı

Aynı ziyaretçiye aynı kampanyanın kaç kez gösterileceğini sınırlar. **Frequency Caps** kartındaki anahtarı açınca beş ayar çıkar; hepsi isteğe bağlıdır ve birlikte kullanılabilir. Boş bırakılan ayar "sınır yok" demektir.

| Ayar | Anlamı | Aralık |
|---|---|---|
| **Per Session** (Oturum Başına) | Bir oturumda en fazla | 1 – 100 |
| **Per Day** (Günlük) | Ziyaretçinin takviminde bir **takvim gününde** en fazla (gece yarısı sıfırlanır) | 1 – 1.000 |
| **Per Week** (Haftalık) | Bir **takvim haftasında** en fazla (hafta pazartesi başlar) | 1 – 10.000 |
| **Total Lifetime Limit** (Toplam Yaşam Boyu Sınır) | Ziyaretçi başına toplamda en fazla | 1 – 100.000 |
| **Minimum Interval Between Shows** (Gösterimler Arası Minimum Süre) | İki gösterim arası bekleme | Yok, 15 dakika, 30 dakika, 1, 2, 6, 12 saat, 1 gün, 1 hafta |

Birden fazla ayar varsa **hepsi** sağlanmalıdır; biri bile dolmuşsa kampanya gösterilmez. En küçük değer 1'dir: 0 yazılamaz, çünkü 0 kampanyayı herkesten gizlerdi. Ekrandaki "24 saatteki gösterim sayısı" ve "7 gündeki gösterim sayısı" ipuçları yuvarlak anlatımdır; sayaç kayan 24 saat ya da 7 gün değil, takvim günü ve takvim haftası üzerinden sıfırlanır.

### Tipik ayarlar

| Kampanya | Öneri |
|---|---|
| Modal | `Per Session: 1`, `Per Day: 1` |
| Duyuru çubuğu | `Per Session: 1` (kapatıldıysa tekrar açılmasın) |
| Slide-in | `Per Session: 1`, `Minimum Interval: 1 gün` |
| Sticky footer | Sınırsız (kalıcı mesaj) |
| Bülten | `Per Week: 1` |

> **Sınırsız modal**
>
> Sıklık sınırı verilmemiş bir modal, ziyaretçinin gezdiği **her sayfada** yeniden açılır. Bu en sık yapılan kurulum hatasıdır ve şikayet üretir.

### Gösterim ne zaman sayılır

Sayaç, kampanya **gerçekten ekrana geldiğinde** artar; kurulduğunda değil. Tetikleyicisini bekleyen bir modal, görünmediği sürece hakkınızı harcamaz. Sekme Mesajı'nda da sayaç sekmeden ayrılıp mesaj yazıldığında işlenir. Sınırı dolan bir kampanya yarıştığı yeri tutmaz; çakışma çözümü onu baştan eler ve aynı yerdeki sıradaki kampanya görünür — bkz. [Öncelik ve Çakışma](/docs/campaigns/priority).

### Oturum

Oturum, 30 dakika hareketsizlikten sonra biter. Ziyaretçi 30 dakika hiçbir şey yapmayıp devam ederse yeni oturum başlar ve **Per Session** sayacı sıfırlanır. Oturum Selwise'in izleme oturumudur; kampanya raporlarının dayandığı oturumla aynıdır.

### Sayaçlar nerede tutulur

Sayaçlar ziyaretçinin **tarayıcısında** `localStorage` altında (`selwise_frequency_caps`) kampanya bazında tutulur. İki sonucu vardır: ziyaretçi tarayıcı verisini temizlerse sayaç sıfırlanır ve aynı kişi farklı cihazdan girerse sayaç ayrıdır. Bu bilinçli bir tercihtir: sınırın çalışması için sunucuya sorgu atmak her sayfa yüklenişine gecikme eklerdi. `localStorage`'a izin vermeyen bir tarayıcıda sayaç yalnızca o sayfa yüklemesi boyunca bellekte tutulur, yani sayfalar arası sınırlama işlemez. Bir kampanyayı 30 gün hiç görmeyen ziyaretçinin o kampanyaya ait sayaçları silinir; **Total Lifetime Limit** bu yüzden kesintisiz bir ömür boyu sınır değildir. Sıklık sınırı bir pazarlama konforudur, hukuki bir garanti değildir.

## Test ederken

Sıklık sınırını test ederken sayaç sizi engelleyecektir. Sıfırlamak için tarayıcı konsolunda `localStorage.removeItem('selwise_frequency_caps'); location.reload();` yazın — ayrıntı: [Test Modu](/docs/campaigns/testing).

## Sırada ne var

- [Hedefleme](/docs/campaigns/targeting) — kime gösterilecek.
- [Öncelik ve Çakışma](/docs/campaigns/priority)
- [Test Modu](/docs/campaigns/testing)
