# Condition

CollectActionda ki Conditions oldukça esnek ve geniş bir filtreleme özelliği sunmaktadır. Dilerseniz oldukça basit filtreler yapabileceğiniz gibi iç içe geçmiş kompleks filtreler de tanımlamanıza olanak sağlamaktadır.&#x20;

**Basit bir örnek** : Ürün sayfasını ziyaret eden kişilerde aksiyon(action) görünsün.

**Kompleks bir örnek :** Saat 20-22 arasında İstanbul veya Ankara'dan gelen kullanıcılara eğer gelecek 3 gün içerisinde hava sıfırın altına düşecekse kış kampanyası olan aksiyonu görünsün.

Conditions kısmındaki filtreleri 3 ana kısıma ayırabiliriz. Bunlar sırası ile Who, Where ve When bölümlerinde gruplanmadır. Bu grupların içerisindeki filtreleri daha detaylı bilgilerini dökümandaki ilgili kısımlarında bulabilirsiniz.

{% hint style="info" %}
Who, Where, When birbirine **And** ile bağlıdırlar.
{% endhint %}

&#x20;Conditions kısmında bulunan bir satırı tek başına değerlendirirsek, seçmiş olduğunuz filtre tipine uygun karşılaştırma seçebilir ve gerçekleşmesini istediğiniz değerleri girebilirsiniz.&#x20;

![Who Örneği](/files/IiE6sZDskpQz0PLaQ0Me)

### 1 - **Filtre Tipi**

&#x20;Her filtre satırının baştaki kısmı o filtrenin tipini belli eder. Bu tipe göre hazırlanmış ve dallandırılmış alt kırılımlar olabilir. Bunlarda en az 1 adet karşılaştırma ve 1 adet beklenen değer kısmı bulunmaktadır. Bir filtre tipi tanımlandığında, sistem o tipteki asıl değeri yakalayıp, değerin daha önceden tanımlanmış olan beklenen değer ile karşılaştıma kısmında seçime göre karşılaştırılmasından doğru olarak geçiyor ise filtreden geçmiş saymaktadır. Yukarıdaki örneği kullanarak daha basit ifade etmek gerekirse, bu filtre ile sistem bir kullanıcının tipi (Filtre Tipi) yeni bir kullanıcı (Beklenen değer) olmakta (Karşılaştırma) ise aksiyonun çalışmasına izin vermektedir.

User Type (Kullanıcı Tipi) hakkında daha detaylı bilgiyi [Who Parametreleri](/collectaction-uygulama-marketi/filtre-ayarlari/condition/who-parametreleri.md) kısmında bulabilirsiniz.&#x20;

### 2 - **Karşılaştırma**&#x20;

&#x20;Karşılaştırma kısmında beklenen değer kısmı ile filtre tipi ile yakalanan gerçek değerin birbirine ne şekilde karşılaştırılacağını belirten kısımdır. Her filtrede satırında en az bir adet karşılaştırma bulunmaktadır. Karşılaştırma tiplerini genel olarak;

* Boolean
* Metin
* Sayısal
* &#x20;Zamansal

![Boolean tipinde bir karşılaştırma](/files/tDkx6IIFatiXnjD3g20v)

![Metin tipinde bir karşılaştırma](/files/uf5JsXNoMEnpwKUl5PCE)

![Sayısal tipinde bir karşılaştırma](/files/z2gdkezWKzvKeMDcfxv8)

![Zamansal tipinde bir karşılaştırma](/files/3QOIucFeKEjFA7a5aOuW)

### 3 - **Beklenen Değer**

Filtrede kontrol edilen değer, gerçekleşmesi beklenen değerdir.

### 4 - **İptal Butonu**

Filtre satırını kaldırmanızı sağlar

### 5 - **Or Bağlacı**

&#x20;Bir filtre tipine ait birden fazla satırı birbirine Or bağlacı (5 numaralı) ile bağlayarak, herhangi birisi başarılı bir şekilde gerçekleştiğinde çalışmasını sağlayabilirsiniz.

### 6 - **And Bağlacı**

&#x20;Birden fazla filtreyi birbirine And bağlacı (6 numaralı) ile bağlayarak hepsinin başarılı bir şekilde gerçekleşmesi gerektiğini tanımlayabilirsiniz.

Conditions kısmına yukarıdaki gibi bir filtre satırından pek çok şekilde eklenebilmektedir. Ne kadar kapsamlı veya sınırlı bir filtreleme yapmak istediğinize göre düzenlemelerinizi buradan ayarlayabilirsiniz.&#x20;

CollectAction Conditions kısmında bazı filtre satırları kilitli ve/veya değiştirilemez olabilir. Bunun sebebi bu filtre satırları sistem tarafından o aksiyonun çalışması için zaruri olmasıdır. Bu filtrelere müdehale edilmemesi sistem tarafından tanımlanmıştır.

![Sepet Sayfasında Kargo Bedava kampanyasında Page Type(Sayfa Tipi) filtresi Cart Page(Sepet Sayfası) olarak sabitlenmiştir.](/files/IN9nTOv296Fm0KuNBiYF)

{% hint style="danger" %}
Who, Where, When kısımlarında bulunan sırasıyla All Users, Every Page, All the Time filtre tipleri etkisizdirler.  Filtrelemeye bir etkileri yoktur.
{% endhint %}

**All Users:** Tüm Kullanıcıları içerir ve bu aksiyon tüm kullanıcılar için çalışır.&#x20;

**Every Page:** Tüm sayfaları içerir ve bu aksiyon tüm sayfalar için çalışır.

**All The Time:** Tüm zamanları içerir ve bu aksiyon tüm zamanlar için çalışır.&#x20;

![Who - All Users : Tüm kullanıcılarda
Where - Every Page : Tüm sayfalarda
When - All the Time : Tüm zamanlarda](/files/ZPlR9mrB5IZZgEbQdoht)

### Örnekler;

![Bir kullanıcı; (Kim) Yeni gelen kullanıcı ise ve (Nerede) Ana sayfada ise ve (Ne zaman) Cumartesi veya Pazar günlerinde ise kampanya gösterilsin.&#x20;
Örnek kullanım : Hafta sonu yeni gelen kullanıcılara anasayfada kampanya kartı göstermek](/files/eVfsmnWXLszmGRn401AG)

![Bir kullanıcı; (Kim) Sepetinde en az 2 adet ürün var ise ve Sepetinin tutarı en az 200 ise ve (Nerede) Sepet sayfasında ise kampanya gösterilsin.&#x20;
Örnek Kullanım : Sepet sayfasında sepetinde belli bir miktardan fazla olan kişilere kargo ücretsiz kampanyasını göstermek.](/files/qaPUY1vqZcreXqBiRThe)

![Bir kullanıcı; (Kim)3 gün içerisinde hava durumu sıfırın altında olan birisi ise ve Yaşadığı ili İstanbul veya Ankara ise ve (Nerede) Ana sayfada ise ve (Ne zaman) Saat 15:00 dan önce ise kampanya gösterilsin.
](/files/xj7m73nTCgC7ZrHBIrs4)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yapaytech.gitbook.io/collectaction-uygulama-marketi/filtre-ayarlari/condition.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
