RULE ENGINE KURAL GİRİŞİ

Konular


 

 

 

Önsöz


WebInStats Dynamic Content ve Push Stats uygulamalarında Kurallar oluşturabilir. Kampanya ve WebPush gönderimini oluşturduğunuz kurallara göre kısıtlayabilirsiniz. Kural oluşturabilmek için temel IF STATEMENT bilgisi gereklidir. Yani mantıkta kullanılan VE (AND) ile VEYA (OR) kavramlarını bilmek gerekmektedir. Bu konuda daha detaylı bilgi için lütfen Temel mantık bilgisi sayfasını gözden geçiriniz.

 

 

Kural girişi nereden yapılır ?


Kural girişi için Dynamic Contentte ilgili kampanyaya girerek Page (Sayfa Adı) alanı yanında bulunan Settings linkine tıklanmalıdır. Açılan pencerede Pre Rules ve Rules alanlarından kampanya girişi yapılabilir. 

DynamicContent_RuleEngine

Resmi büyütmek için tıklayın

WebPush gönderimi için ise ilgili WebPush kaydına girilerek Send to alanının yanında bulunan Settings kısmına tıklayarak açılan ekrandan kural girişi yapılabilir.

PushStats_RuleEngine

Resmi büyütmek için tıklayın

 

 

Yeni kural girme


Rule Engine üzerinde yeni kural oluşturmak için yeşil alanın üzerinde beklendiğinde sağda açılan bölümden Add Field linkine basılır.

rule-engine-add-field

Resmi büyütmek için tıklayın

Add Field linkine tıklandığında yeni bir kural eklenir ve 3 ana giriş kısmı bulunmaktadır. Bunlar Field (Alan), Operator (Eşitlik) ve Value (Değer) dir. Önce Alan, Sonra Operatör en sonda değer girilmelidir. Daha sonra kuralın kaydedilmesi için OK (Tamam) butonuna tıklanmalıdır.

field_operator_value

Resmi büyütmek için tıklayın

Örneğin yukarıdaki resimde kampanyanın sadece Mobil cihazlarda çalışması için kural girilmektedir.

Sisteme dilediğiniz adette kural ekleyebilirsiniz. Herhangi bir kısıt bulunmamaktadır.

 

 

Yeni grup tanımlama


Eğer gelişmiş kurallar girmek istiyorsanız ya da sistemin önce belirli kuralları işleyip daha sonra diğer kurallara bakmasını istiyorsanız grup tanımlarını kullanabilirsiniz. Gruplar Rule Engine’de yeşil renk ile belirtilir. Bir grubun içine başka bir grup girilebilir.

Örnek 1

Örneğin kullanıcının ilk visiti ise ve kullanıcı mobil cihazdan geldiyse VEYA Kullanıcının ikinci visiti ise ve kullanıcı mobil dışında bir cihazdan geldiyse kampanya çalıştırmak istiyoruz.

Yani (Visit Count EŞİTSE 1 VE Platform EŞİTSE Mobile) VEYA (Visit Count EŞİTSE 2 VE Platform EŞİTDEĞİLSE Mobile) şeklinde bir koşul girmemiz gerekiyor. Bunu Rule Engine ‘de aşağıdaki şekilde giriyoruz.

rule-engine-group

Resmi büyütmek için tıklayın

 

Sistem öncelikle en altta bulunan VE (AND) koşuluna sahip grupları çalıştıracak daha sonra Ana Grupta VEYA (OR) olduğu için iki alt gruptan birisi doğru ise çalışacaktır.

Örnek 2

Eğer kampanyamızı sadece desktop cihazlarda çalıştırmak istiyorsak ve ilave olarak Internet Explorer versiyon 9 ve üstü browserlarda veya Internet Explorer dışındaki tüm browserlarda çalıştırmak istiyorsak aşağıdaki şekilde kural girebiliriz.

rule-engine-group-2

Resmi büyütmek için tıklayın

Sistem öncelikle En sağdaki gruptan başlayarak kuralları tek tek çalıştıracaktır. Örneğin kullanıcının Chrome versiyon 59 browser’ı ile desktop cihazdan geldiğini düşünelim. Sistemin kuralları çalıştırma sırası aşağıdaki şekildedir :

Öncelikle en sağdaki grup çalışır :

(Chrome Eşit ise Internet Explorer(Edge) VE 59 büyük eşit ise 9) = (YANLIŞ VE DOĞRU) = YANLIŞ (En sağdaki grubumuzun değeri)

Daha sonra bir üstteki grup çalışır ve en sağdaki gruba üstte bulunan değer atanır.

(Chrome Eşit değilse Internet Explorer(Edge) VEYA YANLIŞ {Bir üstte bulduğumuz sonuç} = DOĞRU VEYA YANLIŞ = DOĞRU.

Son olarak en soldaki ana grubumuz çalışır ve ikinci gruba bir üstte bulunan değer aktarılır :

Desktop Eşitse Desktop VE Doğru = DOĞRU VE DOĞRU = DOĞRU

Kuralımızın sonucu DOĞRU çıkacak ve yukarıdaki kullanıcı için bu kampanya gösterilecektir.

 

 

 

 

Kuralları farklı grup içine alma


Rule Engine içinde kuralları sürükle bırak (drag & drop) yöntemi ile farklı grupların içine sürükleyebilirsiniz. Ya da Rules alanında bulunan kuralları Pre Rules altına kaydırabilirsiniz. Bunun için ilgili kuralda fare yardımı ile kuralı seçip fare sol tuşuna basılı tutarak bırakmak istediğiniz yere geldiğinizde kuralı bırakabilirsiniz.

 

 

 

Kullanılabilecek alanlar


Rule Engine üzerinde varsayılan olarak kullanabileceğiniz bir çok alan bulunmaktadır.

  • Varsayılan olarak kullanılabilecek alanların listesine buradan ulaşabilirsiniz.
  • Size özel tanımlanan Rule Engine parametrelerini de Rule Engine üzerinde kullanabilirsiniz.
  • Kullanıcıların diğer kampanyaları görmesi ya da tıklamasına göre kampanyanızı  özelleştirebilirsiniz.
  • Oluşturduğunuz golleri ve etiketleri (Actions/Labels) kampanyanızı filtrelemek için kullanabilirsiniz.

 

 

Kullanılabilecek operatör değerleri


 
Operator Name Description Operatör Adı Açıklama
Equal Returns true if field is equal to the value Eşit ise Eğer girilen alan değere eşit ise kural geçerlidir.
Not equal to Returns true if field is not equal to the value Eşit değil ise Eğer girilen alan değere eşit değil ise kural geçerlidir.
Greater than Returns true if field is greater than the value Büyükse Eğer girilen alan değerden büyük ise kural geçerlidir.
Greater than or equal to Returns true if field is greater than or equal to the value Büyük Eşit ise Eğer girilen alan değerden büyük eşit ise kural geçerlidir.
Less than Returns true if field is less than the value Küçükse Eğer girilen alan değerden küçük ise kural geçerlidir.
Less than or equal to Returns true if field is less than or equal to the value Küçük eşit ise Eğer girilen alan değerden küçük eşit ise kural geçerlidir.
Contains Returns true if field contains the value. İçeriyorsa Eğer girilen alan değeri içeriyor ise kural geçerlidir. Örneğin URLde /product geçiyor ise kuralı için URL İçeriyorsa /products yazılmalıdır.
Not contains Returns true if field not contains the value İçermiyorsa Eğer girilen alan değeri içermiyor ise kural geçerlidir
Contains one of them Returns true if field contains at least one of the values En az birini içeriyorsa Eğer girilen alan değerlerden en az birisini içeriyor ise kural geçerlidir
Not Contains one of them Returns true if field is not contains any of the values Hiç birini içermiyorsa Eğer girilen alan değerlerden hiç birisini içermiyor ise kural geçerlidir
In Returns true if field is equal to one of the values İçindeyse Eğer girilen alan değerlerden en az birisine eşit ise kural geçerlidir
Not in Returns true if field is not equal to all of the values İçinde değilse Eğer girilen alan değerlerden hiç birisine eşit değilse kural geçerlidir
Starts with Returns true if field starts with the value Başlıyorsa Eğer girilen alan değer ile başlıyorsa kural geçerlidir.
Starts with one of them Returns true if field starts with any of the values En az biri ile başlıyorsa Eğer girilen alan değerlerden herhangi biri ile başlıyorsa kural geçerlidir.
Not starts with Returns true if field doesn’t start with the value Başlamıyorsa Eğer girilen alan değer ile başlamıyorsa kural geçerlidir.
Not starts with one of them Returns true if field doesn’t start with any of the values Herhangi biriyle başlamıyorsa Eğer girilen alan değerlerden hiç biri ile başlamıyorsa kural geçerlidir.
Ends width Returns true if field ends with the value Bitiyorsa Eğer girilen alan değer ile bitiyorsa kural geçerlidir.
Ends with one of them Returns true if field ends with any of the values En az biri ie bitiyorsa Eğer girilen alan değerlerden herhangi birisi ile bitiyorsa kural geçerlidir.
Not Ends width Returns true if field doesn’t end with the value Bitmiyorsa Eğer girilen alan değer ile bitmiyorsa kural geçerlidir.
Not ends with one of them Returns true if field doesn’t end with all of the values Herhangi biriyle bitmiyorsa Eğer girilen alan değerlerden hiçbirisi ile bitmiyorsa kural geçerlidir.
Is numeric Returns true if field has numeric value Sayısal değer ise Eğer girilen alan sayısal değer ise kural geçerlidir.
Is not numeric Returns true if field doesn’t have numeric value Sayısal değil ise Eğer girilen alan sayısal değer değil ise kural geçerlidir.
Regex match Returns true if fields match with regular expression Regex Kuralı Eğer girilen regex değeri ile uyuşuyor ise kural geçerlidir.
 

 

 

PreRules, Rules ve Banner Rules farkları nelerdir ?


Dynamic Contentte sunucu tarafında (Rule Engine) ve istemci tarafında (Javascript Kodu) olmak üzere iki farklı kural seti girilebilmektedir. Öncelikle sunucu tarafındaki kurallar (Rule Engine) işletilir. Daha sonra istemci tarafında kurallar işletilir.

Sunucu tarafında işletilen kural setleri aşağıdaki sıra ile çalışır : 

  1. Öncelikle PreRules alanındaki kurallar çalışır. Eğer kurallar geçerli ise bir sonraki adıma geçer.
  2. Kullanıcının Variable File kısmında bulunan dosyada (eğer dosya var ise) kaydının olup olmadığına bakılır. Eğer var ise bu kayıttaki tüm değişkenleri de sisteme yükler.
  3. Daha sonra Variables File kısmından gelen değişkenler ile beraber Rules alanındaki kurallar çalıştırılır. Eğer bu kurallar geçerli ise bir sonraki adıma geçer
  4. Eğer üstteki tüm kurallardan geçildiyse Banner->Advanced tabındaki banner bazlı kuralları çalıştırır. Eğer kurallar geçerli ise banner geçerlidir.

 

rule_serverside1

Resmi büyütmek için tıklayın

rule_serverside2

Resmi büyütmek için tıklayın

 

Sistem, kuralları yukarıda belirtilen sıra ile çalıştırır ve bu kurallardan geçen bannerların gösterim yüzdesine göre ayarlayarak ilgili banner’ı gösterir. (Eğer Bannerda özel JavaScript kuralları var ise Javascript kuralları da çalıştırarak eğer bu kurallar da geçerli ise banner görünür.)

 

Java Script (JS) kuralları çalışma şekli ise aşağıdaki şekildedir. 

 

  1. Öncelikle Rules kısmı altında bulunan Run Custom JS bölümündeki JS kodu çalıştırılır. Bu kod true dönüyorsa yada boş ise aşağıdaki işleme geçilir.
  2. Daha Sonra Banner -> Content -> Advanced tabı altındaki Run Custom JS çalıştırılır. Üstteki kural tüm kampanya bannerlarında çalışır. Bu kural ise sadece geçerli banner için çalışır.
  3. Son olarak Run Custom JS before execute script kodu çalıştırılır. Bu kod üstteki iki koddan farklı olarak seçilen eventten hemen önce çalışır. Bir örnek vermek gerekirse; Örneğin EXIT INTENT hareketinde bir banner gösterimi yapılacaksa üstte 1. ve 2. sırada açıklanan Run Custom JS fonksiyonları PageView gerçekleştiğinde çalışır. Run Custom JS before execute içindeki JS fonksiyonu ise kullanıcı EXIT INTENT yaptığı zaman çalışır ve fonksiyon sonucu true döner ise banner gösterilir.

 

rule_clientside1

Resmi büyütmek için tıklayın

 

 

 

Tanımlı olmayan özel alan (Custom Param) kullanımı


Rule Engine, kendi üzerinde tanımlı olmayan parametreleri de kullanmanıza müsade eder. Bunun için Field kısmından Custom Param seçip operator alanından eşitlik değerini seçtikten sonra Field Name kısmına alan adını, Field Value kısmına alan değerini girebilirsiniz. Özel parametreleri aşağıdaki durumlarda kullanabilirsiniz.

  1. Sisteme yüklenen dosyada kullanıcı ile ilgili özel bir bilgi geçiyor ise (Örneğin cinsiyet, dogumtarihi,vs..gibi) ve bu alana göre kampanya kuralı oluşturmak istiyorsanız Custom Param özelliğini kullanabilirsiniz.
  2. Sisteme özel bir parametre iletiyorsanız ve bu parametreyi henüz Admin Panel üzerinde Rule Engine’e tanımlamadıysanız Custom Param özelliğini kullanabilirsiniz.
Related Posts
SİSTEME KİTLE YÜKLEME
DEĞİŞKEN KULLANIMI
İKİ FAKTÖRLÜ KİMLİK DOĞRULAMA