E-mailový marketing má být cílený – určitě tedy není vhodné posílat všechno všem, ale je naopak žádoucí mít možnost zacílení vašich kampaní jen na ty příjemce, pro něž budou relevantní. A přesně k tomu slouží funkce Podmíněného doručení.
Aktivace podmíněného doručení
Podmíněné doručení rozesílky kampaně se nastavuje uvnitř kampaně prostřednictvím tlačítka Podmíněné doručení.
Po kliknutí se zobrazí okno podmínkovače (tzv. Query builder), ve kterém následně můžete definovat komplexní a přitom jednoduchá pravidla, jež musí příjemci splňovat, aby jim byla kampaň odeslána. Tento Query builder má totožný základ jako funkce Filtrování příjemců a jeho fungování je tedy obdobné.
První krok podmíněného doručení – data příjemce
Query builder má čtyři kroky, přičemž není povinné mít pravidla vyplněná ve všech krocích zároveň – jednotlivé kroky je možné vynechávat.
V prvním kroku tedy můžete (ale nemusíte) přidat pravidla týkající se dat uložených u příjemců. Pravidlo začnete tvořit kliknutím na tlačítko Přidat (pro přidání jednoho pravidla) či na tlačítko Přidat skupinu (přidat více pravidel v jedné úrovni). Celkový počet pravidel a jejich zanoření není omezený.
TIP č. 1: Porovnávání textových polí platí pro použití operátorů rovno, nerovno, začíná na, nezačíná na, obsahuje, neobsahuje:
Veškeré porovnávání textových řetězců je tzn. CASE INSENSITIVE, tzn. nerozlišuje malá a velká písmena.
Příklad: Město se rovná "praha" najde jak záznamy s hodnotu "praha", tak s hodnotami "Praha", "PRAHA" nebo "PrAhA".
TIP č. 2: Porovnávání textových polí NEROZLIŠUJE diakritiku pro použití operátorů rovno, nerovno, začíná na, nezačíná na, obsahuje, neobsahuje:
Příklad 1: Město se rovná "Červené Pečky" najde nejen záznamy s hodnotou "Červené Pečky", ale i "Cervene Pecky".
Příklad 2: Město se rovná "Cervene Pecky" najde nejen záznamy s hodnotou "Cervene Pecky", ale i "Červené Pečky".
TIP č. 3: Porovnávání textových polí při použití operátorů přesná shoda, není přesná shoda ROZLIŠUJE diakritiku a zároveň je i tzv. CASE SENSITIVE :
Příklad 1: Město má přesnou shodu s "Červené Pečky" najde POUZE záznamy s hodnotou "Červené Pečky".
Příklad 2: Město nemá přesnou shodu s "Červené Pečky" najde záznamy s hodnotami "Cervene Pecky", "červené Pečky", "ČERVENÉ PEČKY", ale např. i záznamy s hodnotami “Praha”, “praha” a dalšími a stejně tak příjemce, kteří nemají žádnou hodnotu (pole je prázdné), ale NENAJDE záznam s hodnotou "Červené Pečky".
V průběhu vytváření filtrů můžete kliknutím na tlačítko Ověřit pravidla kdykoliv zkontrolovat, zda mají nastavená pravidla správnou syntaxi. Nedochází tedy k přepočtu odpovídajících záznamů (příjemců), což může v případech, kdy je potřeba zkontrolovat velké množství záznamů, proces vytváření pravidel velmi urychlit.
Ke kontrole syntaxe dochází také při přechodu do dalšího kroku kliknutím na tlačítko "Následující”.
Pokud není u některého z pravidel syntaxe správná, systém vás na to upozorní a vyznačí podmínky/pole, které je potřeba upravit.
Kliknutím na Spočítat můžete kdykoliv zkontrolovat, kolik příjemců odpovídá aktuálně zadaným podmínkám. Zde je potřeba v případech, kdy je nutné projít větší množství dat, počítat s tím, že výpočet může trvat delší dobu.
Vytvořená pravidla si můžete uložit a následně je opakovaně používat. K tomu slouží tlačítka Načíst pravidla (v prvním kroku) a Uložit pravidla (ve čtvrtém kroku). Správa pravidel se nalézá v menu Profil –> Dotazy.
Kliknutím na Smazat pravidla jednoduše jedním kliknutím smažete všechna nastavená pravidla (ve všech krocích najednou).
Druhý krok podmíněného doručení – vyloučení příjemců
Ve druhém kroku můžete (ale nemusíte) vybrat seznam/seznamy příjemců, které chcete z pravidla stanoveného v prvním kroku zcela vyloučit. V tomto kroku není možné ve vybraném seznamu/seznamech již dále filtrovat (vybírat k vyloučení pouze některé příjemce ze seznamu/seznamů).
Třetí krok podmíněného doručení – data rozesílek
Ve třetím kroku podmíněného doručení opět můžete (ale nemusíte) vytvářet pravidla týkající se rozesílek kampaní příjemcům vybraným v předchozích krocích.
Začněte kliknutím na tlačítko Add Campaign/Message a z roletkové lišty vyberte požadované kampaně či rozesílky. Je možné vybírat pouze z kampaní a jejich rozesílek, které jsou mladší jednoho roku. Výběr potvrďte kliknutím na tlačítko OK.
Dále prostřednictvím tlačítek Add rule či Add group můžete definovat aktivity spojené s kampaněmi/rozesílkami, tzn. např. zda vybrané kampaně byly příjemcům zaslány či nikoliv, zda je příjemci otevřeli, či zda v nich např. kliknuli na některý z odkazů.
Pokud z roletkové lišty vyberete více kampaní/rozesílek a zároveň v rámci pravidel pracujete s informací, zda příjemci zprávy byly odeslány/zda je četl/zda kliknul, pak pro hodnoty ANO/NE platí:
- ANO –> příjemci byla odeslána aspoň jedna z vybraných kampaní/rozesílek (to samé platí pro informaci o čtení (tzn. příjemce aspoň jednu z odeslaných zpráv četl) a kliknutí (tzn. příjemce aspoň v jedné ze zpráv kliknul na některý z odkazů))
- NE –> příjemci nebyla odeslána žádná z vybraných kampaní/rozesílek (to samé platí pro informaci o čtení (tzn. příjemce nečetl žádnou z odeslaných zpráv) a kliknutí (tzn. příjemce v žádné z odeslaných zpráv nekliknul na odkaz))
Čtvrtý krok podmíněného doručení – datové zdroje
Ve čtvrtém kroku můžete výběr zúžit filtrováním nad SQL datovými zdroji, například nad feedem s objednávkami z vašeho eshopu, jak ukazuje obrázek níže – z příjemců, kteří byli vyfiltrování v předchozích krocích, budou vybráni ti, kteří koupili v eshopu zboží z kategorií, jejichž číslo začíná čísly 23 nebo 24.
Začněte kliknutím na tlačítko “Přidat datový zdroj” a vyberte příslušný datový zdroj (systém vám nabídne SQL datové zdroje, které jsou ve vašem účtu uloženy). Systém provede analýzu vybraného datového zdroje, na jejímž základě vybere pole, ve kterém je uložena e-mailová adresa. Tento výběr můžete upravit pomocí rolovacího menu, ve kterém najdete všechna pole identifikovaná při analýze datového zdroje. K výběru se nabízejí pouze pole, která byla v datovém zdroji označena jako primární klíč nebo jako indexované pole. Na další řádku definujete, zda mají být příjemci, kteří splní podmínku tohoto kroku do výběru zahrnuti, či mají být naopak z výběru vyřazeni. Pak už stačí definovat samotnou podmínku.
Poznámka: U feedu s objednávky je vždy nutné myslet na to, že jednotlivými záznamy ve feedu jsou položky objednávky - tzn. pokud existuje objednávka, která obsahuje 3 položky (různé produkty), bude ve feedu reprezentována 3 záznamy, u kterých bude stejná e-mailová adresa, adresa doručení a další údaje, ale položky se budou se lišit např. v ID produktu, kategorii produktu, jeho množství, ceně, atd.
Uložení podmíněného doručení
Po dokončení nastavení 4. kroku můžete kliknutím na Uložit pravidla vytvořená pravidla uložit pro případné použití v dalších filtrech. Po dokončení nastavení 4. kroku můžete vytvořená pravidla uložit pro případné použití v dalších filtrech. Podmíněné doručení aktivujete kliknutím na tlačítko Použít filtr. Jako potvrzení, že je funkce podmíněného doručení aktivována, se vedle tlačítka Podmíněné doručení ukáže zelená fajfka:.
Práce s datumy
Cílení na příjemce, kteří před 7 dny zakoupili zboží? Nebo na ty, kterým za 2 měsíce končí smlouva? Či selektování těch, kteří mají právě dnes narozeniny? Můžete cokoliv...
Při vytváření pravidel můžete pracovat s datumy uloženými např. ve vlastních polí příjemců, je možné využít systémové datumy jako datum přídání, posledního odeslání, udělení souhlasu atp.
Při práci s datumy je možné použít tyto operátory: rovná se, nerovná se, větší, větší nebo rovno, menší, menší nebo rovno, je prázdné, není prázdné (equal, not_equal, greater, greater_or_equal, less, less_or_equal, is empty, is not empty).
Jednoduché porovnávání
Porovnávaná hodnota datumu musí být vždy zadána ve výchozím formátu MYSQL, tj. Y/m/d (2019/07/31).
Příklad 1: Jednoduché porovnání pole typu datum s konkrétním datem:
Pole | Operátor | Hodnota/Výraz |
---|---|---|
change_date | rovno | 2019/08/01 |
Porovnávání s použitím výrazů
Výraz je vždy potřeba zadat ohraničením hodnoty do hranatých závorek:[formát_DB_pole;funkce_nad_polem|výraz;funkce_nad_výrazem]
Při každém použití výrazu musí být vyplněn alespoň:
- formát db pole, se kterým porovnáváte (pro pole typu datum zadejte "date", pro textové pole obsahující datum zadejte formát, ve kterém je datum uloženo, viz podporované formáty)
- výraz – viz podporované výrazy
Příklad 2: Porovnání pole typu datum s výrazem:
Pole | Operátor | Hodnota / Výraz | Poznámka |
---|---|---|---|
change_date | greater_or_equal | [datetime|CURDATE-7] | Datum změny (change_date) je větší nebo rovno aktuálnímu datu mínus 7 dní, přičemž change_date je pole typu datetime. |
Při filtrování nad polem typu text je nutné zadat formát, v jakém je datum v poli uloženo.
Podporované formáty:
Název formátu | Pro pole typu | Formát | Příklad |
---|---|---|---|
datetime | datum změny, datum přidání, datum posledního odeslání, datum udělení souhlasu, SQL datové zdroje s vlastním formátem dat s přiřazeným formátem (typem) “datetime” |
MySQL datetime | Uloženo v poli typu datetime ve tvaru 2018/12/31 23:59:59 |
date | SQL datové zdroje s vlastním formátem dat s přiřazeným formátem (typem) “datum/date” | MySQL date | Uloženo v poli typu date ve tvaru 2018/12/31 |
date_us | vlastní pole | Y-m-d | 2018-12-31 |
date_us_short | vlastní pole | y-m-d | 18-12-31 |
date_us_md | vlastní pole | m-d | 12-31 |
date_eu | vlastní pole | d.m.Y | 31.12.2018 |
date_eu_short | vlastní pole | d.m.y | 31.12.18 |
date_eu_dm | vlastní pole | d.m. | 31.12. |
Podporované výrazy:
Výraz | Použití | Význam |
---|---|---|
CURDATE | [date|CURDATE+X] | Aktuální datum + X dní (pro pole typu “date”) |
[datetime|CURDATE+X] | Aktuální datum + X dní (pro pole typu “datetime”, tzn. je porovnáváno datem s časovou složkou 00:00:00) | |
[date_us|CURDATE-X] | Aktuální datum - X dní | |
[date_eu|CURDATE-X] | Aktuální datum - X dní | |
[date_eu_short|CURDATE+X] | Aktuální datum + X dní |
Příklad 3: Porovnání pole typu text s výrazem:
Pole | Operátor | Hodnota / Výraz | Poznámka |
---|---|---|---|
custom_1 | equal | [date_eu|CURDATE-7] | Vlastní pole č. 1 (custom_1) je rovno aktuálnímu datu mínus 7 dní, přičemž custom_1 je textové pole s datem uloženým ve formátu "d.m.Y" (např. 31.12.2018). |
EQUAL (rovná se)
Příklad: Vlastní pole 1 (Custom 1) = (EQUAL) [date_eu|CURDATE]
–> Budou vybráni příjemci, kteří mají ve vlastním poli 1 dnešní datum (CURDATE). Datum je ve vlastním poli 1 uloženo ve formátu date_eu.
NOT EQUAL (nerovná se)
Příklad: Vlastní pole 1 (Custom 1) ≠ (NOT EQUAL) [date_eu|CURDATE]
–> Budou vybráni příjemci, kteří nemají ve vlastním poli 1 dnešní datum (CURDATE). Datum je ve vlastním poli 1 uloženo ve formátu date_eu. POZOR, podmínku splňuje i prázdné pole!
LESS (menší než)
Příklad: Vlastní pole 1 (Custom 1) < (LESS) [date_eu|CURDATE]
–> Budou vybráni příjemci, kteří mají ve vlastním poli 1 datum menší (dřívější) než je dnešní datum (CURDATE). Datum je ve vlastním poli 1 uloženo ve formátu date_eu. POZOR, podmínku splňuje i prázdné pole!
LESS OR EQUAL (menší nebo rovno)
Příklad: Vlastní pole 1 (Custom 1) ≤ (LESS OR EQUAL) [date_eu|CURDATE]
–> Budou vybráni příjemci, kteří mají ve vlastním poli 1 dnešní datum (CURDATE) nebo datum menší (dřívější) než je dnešní datum (CURDATE). Datum je ve vlastním poli 1 uloženo ve formátu date_eu. POZOR, podmínku splňuje i prázdné pole!
GREATER (větší než)
Příklad: Vlastní pole 1 (Custom 1) > (GREATER) [date_eu|CURDATE]
–> Budou vybráni příjemci, kteří mají ve vlastním poli 1 datum větší (pozdější) než je dnešní datum (CURDATE). Datum je ve vlastním poli 1 uloženo ve formátu date_eu.
GREATER OR EQUAL (větší nebo rovno)
Příklad: Vlastní pole 1 (Custom 1) ≥ (GREATER OR EQUAL) [date_eu|CURDATE]
–> Budou vybráni příjemci, kteří mají ve vlastním poli 1 dnešní datum (CURDATE) nebo datum větší (pozdější) než je dnešní datum (CURDATE). Datum je ve vlastním poli 1 uloženo ve formátu date_eu.
Porovnávání s použitím funkcí
Funkce můžete použít jak nad databázovým polem, tak nad porovnávanou hodnotou. Proto musíte vždy zadat zvlášť funkci na levé i/nebo na pravé straně.
[formát_DB_pole;funkce_nad_polem|výraz;funkce_nad_výrazem]
Podporované funkce
Funkce | Význam |
---|---|
YEAR | Rok |
MONTH | Měsíc |
WEEK | Týden v roce |
DAY | Den (1-31) |
DAYOFWEEK | Den v týdnu |
ANNIVERSARY | Výročí – porovnává den a měsíc daného data bez ohledu na rok. |
AGE | Věk |
DATE | DATUM – zaokrouhlí datum a čas na celé dny, tj. bez časové složky. |
Příklad 4: Použití funkcí:
Pole | Operátor | Hodnota/výraz | Poznámka |
---|---|---|---|
s_last_sent | not_equal | [datetime;DATE|CURDATE] | Datum posledního odeslání (s_last_sent) je pole typu datetime. Tímto filtrem vyjmete z výběru všechny příjemce, jimž už dnes bylo něco odesláno. |
custom_1 | equal | [date_eu;DAYOFWEEK| CURDATE;DAYOFWEEK] |
Vlastní pole č. 1 (custom_1) je textové pole, ve kterém je uloženo datum ve formátu d.m.Y. Den v týdnu v custom_1 se rovná aktuálnímu dnu v týdnu. |
custom_2 | equal | [date_eu;MONTH|12] | Vlastní pole č. 2 (custom_2) je textové pole, ve kterém je uloženo datum ve formátu d.m.Y. Tento filtr vybere všechny prosincové datumy v poli custom_2. |
custom_3 | equal | [date_us;ANNIVERSARY| CURDATE;ANNIVERSARY] |
Vlastní pole č. 3 (custom_3) je textové pole, ve kterém je uloženo např. datum narození ve formátu Y-m-d. Tento filtr vybere všechny příjemce, kteří mají dnes narozeniny. |
custom_4 | equal | [date_eu_dm;ANNIVERSARY|CURDATE+1;ANNIVERSARY] | Vlastní pole č. 4 (custom_4) je textové pole, ve kterém je uloženo např. datum narození ve formátu d.m. Tento filtr vybere všechny příjemce, kteří mají zítra narozeniny. |
custom_5 | equal | [date_eu_dm;ANNIVERSARY|2015/12/24;ANNIVERSARY] | Vlastní pole č. 5 (custom_5) je textové pole, ve kterém je uloženo např. datum narození ve formátu d.m. Tento filtr vybere všechny příjemce, kteří mají narozeniny na Vánoce. |
custom_6 | greater_or_equal | [date_us;AGE|18] | Vlastní pole č. 6 (custom_6) je textové pole, ve kterém je uloženo datum narození ve formátu Y-m-d. Tento filtr vybere všechny plnoleté příjemce. |
Operátory pro porovnávání MySQL datových polí
Pro porovnávání obsahu MySQL polí, která obsahují datum (ve formátech MySQL date/MySQL datetime), můžete použít několik operátorů. Pro pole ve formátu MySQL date lze aplikovat stejnou logiku jako u textových polí, liší se pouze názvy použitých operátorů (viz výše Operátory pro porovnávání textových polí).
U polí ve formátu MySQL datetime (např. 2018/12/31 23:59:59) může (ale nemusí) do porovnání vstupovat kromě data (2018/12/31) i časová složka (23:59:59). Rozlišujeme pak 2 zápisy:
-
[datetime;DATE|CURDATE] – údaj v poli je ve formátu datetime (např. 2018/12/31 23:59:59), ale do porovnání vstupuje pouze datum/DATE (2018/12/31), tzn. nezáleží na hodnotě časové složky.
-
[datetime|CURDATE] – údaj v poli je ve formátu datetime (např. 2018/12/31 23:59:59) a do porovnání vstupuje nejen datum (2018/12/31), ale i čas (23:59:59).
EQUAL (rovná se)
Příklad 1: SQL datové pole = (EQUAL) [datetime;DATE|CURDATE]
–> Budou vybrány záznamy, které mají v daném poli dnešní datum (CURDATE). Datum je v poli uloženo ve formátu datetime a při porovnávání je bráno v úvahu pouze datum (bez času).
Příklad 2: SQL datové pole = (EQUAL) [datetime|CURDATE]
–> Budou vybrány záznamy, které mají v daném poli dnešní datum (CURDATE). Datum je v poli uloženo ve formátu datetime a při porovnávání je bráno v úvahu nejen datum, ale i čas.
Pokud CURDATE (dnešní datum) odpovídá např. datu 20. 3. 2021, ve formátu datetime, kdy je porovnáváno jak datum, tak čas, bude hodnota k porovnávání zapsána takto: 2021/03/20 00:00:00 –> Tzn. budou vybrány pouze záznamy, které MAJÍ v daném poli hodnotu “2021/03/20 00:00:00”.
NOT EQUAL (nerovná se)
Příklad 1: SQL datové pole ≠ (NOT EQUAL) [datetime;DATE|CURDATE]
–> Budou vybrány záznamy, které nemají v daném poli dnešní datum (CURDATE). Datum je v poli uloženo ve formátu datetime a při porovnávání je bráno v úvahu pouze datum (bez času).
Příklad 2: SQL datové pole ≠ (NOT EQUAL) [datetime|CURDATE]
–> Budou vybrány záznamy, které nemají v daném poli dnešní datum (CURDATE). Datum je v poli uloženo ve formátu datetime a při porovnávání je bráno v úvahu nejen datum, ale i čas.
Pokud CURDATE (dnešní datum) odpovídá např. datu 20. 3. 2021, ve formátu datetime, kdy je porovnáváno jak datum, tak čas, bude hodnota k porovnávání zapsána takto: 2021/03/20 00:00:00 –> Tzn. budou vybrány pouze záznamy, které NEMAJÍ v daném poli hodnotu “2021/03/20 00:00:00” (budou tedy vybrány i záznamy s hodnotami “2021/03/20 00:00:01”, “2021/03/20 00:00:02”,..., “2021/03/20 23:59:59”, které by v příkladu 1 vybrány nebyly).
BEFORE (před/menší než)
Příklad: SQL datové pole < (BEFORE) [datetime;DATE|CURDATE]
–> Budou vybrány záznamy, které mají v daném poli datum dřívější/menší než je dnešní datum (CURDATE). Datum je v poli uloženo ve formátu datetime a při porovnávání je bráno v úvahu pouze datum (bez času).
(Pozn. V případě použití zápisu SQL datové pole < (BEFORE) [datetime|CURDATE] bude vybrán stejný počet záznamů.)
NOT AFTER (ne po datu/menší nebo rovno)
Příklad 1: SQL datové pole ≤ (NOT AFTER) [datetime;DATE|CURDATE]
–> Budou vybrány záznamy, které mají v daném poli dnešní datum (CURDATE) nebo datum dřívější/menší než je dnešní datum (CURDATE). Datum je v poli uloženo ve formátu datetime a při porovnávání je bráno v úvahu pouze datum (bez času).
Příklad 2: SQL datové pole ≤ (NOT AFTER) [datetime|CURDATE]
–> Budou vybrány záznamy, které mají v daném poli dnešní datum (CURDATE) s časovou složkou “00:00:00” nebo datum dřívější/menší než je dnešní datum (CURDATE). Datum je v poli uloženo ve formátu datetime a při porovnávání je bráno v úvahu nejen datum, ale i čas.
Pokud CURDATE (dnešní datum) odpovídá např. datu 20. 3. 2021, ve formátu datetime, kdy je porovnáváno jak datum, tak čas, bude hodnota k porovnávání zapsána takto: 2021/03/20 00:00:00 –> Tzn. budou vybrány pouze záznamy, které mají v daném poli hodnotu “2021/03/20 00:00:00”, nebo datum dřívější/menší než je hodnota “2021/03/20 00:00:00” (tj. “2021/03/19 23:59:59”, “2021/03/19 23:59:58”, “2021/03/19 23:59:57”,.... Jinými slovy – budou vybrány všechny záznamy se včerejším datem a dřívější + záznamy s hodnotou “2021/03/20 00:00:00”.
AFTER (po datu/větší)
Příklad 1: SQL datové pole > (AFTER) [datetime;DATE|CURDATE]
–> Budou vybrány záznamy, které mají v daném poli datum pozdější (větší) než je dnešní datum (CURDATE). Datum je v poli uloženo ve formátu datetime a při porovnávání je bráno v úvahu pouze datum (bez času).
Příklad 2: SQL datové pole > (AFTER) [datetime|CURDATE]
–> Budou vybrány záznamy, které mají v daném poli dnešní datum (CURDATE), kromě hodnoty s časovou složkou “00:00:00”, nebo datum pozdější (větší). Datum je v poli uloženo ve formátu datetime a při porovnávání je bráno v úvahu nejen datum, ale i čas.
Pokud CURDATE (dnešní datum) odpovídá např. datu 20. 3. 2021, ve formátu datetime, kdy je porovnáváno jak datum, tak čas, bude hodnota k porovnávání zapsána takto: 2021/03/20 00:00:00 –> Tzn. budou vybrány pouze záznamy, které mají v daném poli hodnotu “2021/03/20 00:00:01” nebo datum pozdější/větší (tj. “2021/03/20 00:00:02”, “2021/03/20 00:00:03”,...., “2021/03/20 23:59:59”, “2021/03/21 00:00:00”, “2021/03/21 00:00:01”, “2021/03/21 00:00:02”,.... Jinými slovy – budou vybrány všechny záznamy s hodnotou větší než/údajem po “2021/03/20 00:00:00”.
NOT BEFORE (ne před/větší nebo rovno)
Příklad: SQL datové pole ≥ (NOT BEFORE) [datetime;DATE|CURDATE]
–> Budou vybrány záznamy, které mají v daném poli dnešní datum (CURDATE) nebo datum pozdější/větší než je dnešní datum (CURDATE). Datum je v poli uloženo ve formátu datetime a při porovnávání je bráno v úvahu pouze datum (bez času).
(Pozn. V případě použití zápisu SQL datové pole ≥ (NOT BEFORE) [datetime|CURDATE] bude vybrán stejný počet záznamů.)