# Kampanya Hedefleme

Segment, sayfa ve cihaz hedefleme
Kaynak: https://selwise.com/docs/campaigns/targeting

Hedefleme, kampanyanın **kime** ve **nerede** gösterileceğini belirler. Kurucuda iki ayrı adımdır ve ikisi de sağlanmalıdır: **Audience** (Kitle) kimin uygun olduğunu, **Rules** (Kurallar) şu anki bağlamın uygun olup olmadığını sorar. Kitleye giren bir ziyaretçi kuralları tutmuyorsa kampanyayı görmez.

## Panelde nerede

Kampanya kurucusunda **Audience** adımı (segmentler) ve **Rules** adımı (**Page Targeting** (Sayfa Hedefleme) ile **Advanced targeting** (Gelişmiş hedefleme) kartları). Hiçbir şey seçmezseniz kampanya **tüm sayfalarda, herkese** gösterilir.

## Segment hedefleme

Kitle adımında üç mod vardır:

| Mod | Anlamı |
|---|---|
| **All Users** (Tüm Kullanıcılar) | Herkese, segment süzgeci yok (varsayılan) |
| **Specific Segments** (Belirli Segmentler) | Seçilen segmentlerden **herhangi birinde** olanlara |
| **Exclude Segments** (Segmentleri Hariç Tut) | Seçilen segmentlerden **hiçbirinde** olmayanlara |

Her segment kartı üye sayısını gösterir; dinamik bir segmentin üyeleri hâlâ hesaplanıyorsa **Members being computed** (Üyeler hesaplanıyor) yazar. Segmenti [Segment Oluşturma](/docs/segments/creating) sayfasında tanımlarsınız; listede hiç segment yoksa kartın içinden yenisini oluşturabilirsiniz.

Üyelik, ziyaretçi sayfaya girdikten sonra sunucuya sorulur ve sonuç beş dakika saklanır; yani segmentli bir kampanya ilk anda değil, cevap geldiğinde çizilir. Cevap alınamazsa **Specific Segments** kampanyası gösterilmez, **Exclude Segments** kampanyası gösterilir. Segment kimliğe dayanıyorsa (örneğin giriş yapmış müşteri verisi) sitenizde `identify` kurulu olmalıdır — [Kullanıcı Kimliklendirme](/docs/integration/identify). Segmentlerin hedeflemede kullanımı: [Segment Hedefleme](/docs/segments/targeting).

## Sayfa hedefleme

**Show on all pages** (Tüm sayfalarda göster) açıkken kampanya her sayfada çıkar. Kapatırsanız iki liste açılır:

- **Include URLs** (Dahil edilecek URL'ler): kampanya yalnızca bu desenlerden birine uyan adreslerde çıkar. **Show on all pages** kapalıyken burada en az bir desen olmalıdır; yoksa kampanya hiçbir yerde gösterilmez ve kurucu bunu söyler.
- **Exclude URLs** (Hariç tutulacak URL'ler): her zaman uygulanır ve önce bakılır; bir desene uyan adreste kampanya, dahil etme kuralı ne derse desin çıkmaz.

Her liste en fazla 200 desen alır.

### Desen yazımı

Desen, **tam adrese** (`https://...` ile başlayan, sorgu parametresi dahil adres) karşı, büyük küçük harf ayırmadan denenir:

| Yazım | Anlamı | Örnek |
|---|---|---|
| Joker yok | Adres bu metni **içeriyorsa** eşleşir | `/kadin/ayakkabi` her `/kadin/ayakkabi` içeren adrese uyar |
| `*` içeren | Desen adresin **tamamıyla** eşleşmeli; `*` herhangi bir metin | `*/urun/*` |
| `regex:` ile başlayan | Düzenli ifade, büyük küçük harfe duyarlı, en çok 500 karakter | `regex:/p-\d+$` |

> **Joker kullanırken sona da yıldız koyun**
>
> `*/sepet` yalnızca `/sepet` ile **biten** adreslere uyar; `/sepet?utm_source=x` gibi sorgu parametreli adres kaçar. Her iki durumu yakalamak için `*/sepet*` yazın. Jokersiz `/sepet` ise adreste geçmesi yeterli olduğundan ikisini de yakalar ama `/sepetim` gibi adreslere de uyar.

Ana sayfayı adresle ayırt etmek zordur (`/` her adreste geçer); bunun için aşağıdaki **sayfa türünü** kullanın.

### Sayfa türleri

Mağazanızın adresleri bir desenle ayrılamıyorsa (`ornek.com/kirmizi-ruj` hem ürün hem kategori olabilir) **Page kinds** (Sayfa türleri) altından bir ya da birkaç tür seçin: **Home** (Ana sayfa), **Product** (Ürün), **Category** (Kategori), **Search** (Arama), **Checkout** (Ödeme), **Cart** (Sepet), **Account** (Hesap), **Other** (Diğer). Hiçbiri seçili değilse her türde gösterilir. Tür önce adresten, sonra sayfanın kendisinden (Product işaretlemesi, body sınıfı) çıkarılır; izleme sayfaları etiketlerken aynı yöntemi kullanır. Türü çıkarılamayan sayfada kampanya yine gösterilir. Sayfa türü, adres kurallarıyla birlikte (VE) uygulanır.

## Cihaz hedefleme

**Advanced targeting → Device** altında **Desktop**, **Mobile** ve **Tablet** seçeneklerinden birini ya da birkaçını işaretleyin; hiçbiri işaretli değilse her cihazda gösterilir. Cihaz, tarayıcının kullanıcı aracısından (user agent) anlaşılır.

## Ülke hedefleme

**Country** altında önce bir ya da birkaç ülke seçin, sonra **Show in these countries** (Bu ülkelerde göster) ya da **Hide in these countries** (Bu ülkelerde gizle) deyin. Ülke, Selwise API'sine gelen isteğin CDN başlıklarından okunur (`CF-IPCountry`, `X-Vercel-IP-Country`, `X-Country-Code`, `X-Geo-Country`, `X-Appengine-Country`). Bu başlığı gönderen bir CDN yoksa ya da ülke belirsizse (`XX`, `T1`) kural **uygulanmaz** ve kampanya herkese gösterilir.

## Davranış hedeflemesi

**Advanced targeting → Behavior** altında ziyaretçinin davranışına, saatine, trafik kaynağına ya da baktığı ürüne göre kurallar yazılır. Çok sayıda sinyal vardır: [Davranış Kuralları](/docs/campaigns/behavior-rules).

## Ürün koşulları

Davranış kurallarındaki dört ürün koşulu (**Product price**, **Product is on sale**, **Product discount rate (%)**, **Product stock**) ziyaretçinin baktığı ürünü okur. Böyle bir kural taşıyan kampanya yalnızca ürün sayfasında, katalogda bulunan ve koşula uyan ürün için gösterilir. Ayrıntı: [Koşullu İçerik](/docs/campaigns/conditional-content#ürün-koşulları).

## Katmanların birleşimi

```
Sayfa adresi ve sayfa türü eşleşiyor
  VE cihaz ve ülke eşleşiyor
  VE davranış kuralları eşleşiyor
  VE segment kuralı eşleşiyor
  VE kampanya yayında ve tarih penceresinde
  VE sıklık sınırı dolmamış
  VE çakışmada kazanmış
```

Kampanya görünmüyorsa bu listeyi sırayla kontrol edin; hata ayıklama modu hangisinde takıldığını konsola yazar — [Test Modu](/docs/campaigns/testing#hata-ayıklama-modu).

## Sırada ne var

- [Davranış Kuralları](/docs/campaigns/behavior-rules)
- [Tetikleyiciler](/docs/widgets/triggers) — sıklık sınırı.
- [Öncelik ve Çakışma](/docs/campaigns/priority)
