Magic editor - skriptování

Základy skriptování

Jak vložím skript do kampaně?

Jak obalím strukturu, nebo prvek skriptem?

Jak nastavím oslovení podle křestního jména?

Jak nastavím oslovení podle pohlaví?

Jak nastavím oslovení dle pohlaví rozšířené o titul a příjmení?

Jak nastavím oslovení podle příjmení uprostřed textu?

Jak nastavím "Vážený pane Nováku, Vážená paní Nováková"?

Jak nastavím "Milý Romane, Milá Jano"?

Jak nastavím "Dobrý den, Romane | Dobrý den, Jano, | Dobrý den,"?

Jak nastavím skloňování podle pohlaví (vybral, vybrala, vybrali)?

Jak na vykání / tykání?


Marketing je především o budování vztahů. A proto je vhodné, pokud je to možné, komunikovat se zákazníky personalizovaně, lidsky. V tomto směru vám může být neocenitelným pomocníkem skriptování, díky kterému dokážete přizpůsobit obsah daného prvku (a tím i celé kampaně) parametrům příjemce.  


Základy skriptování

Než začnete používat jednotlivé skripty, je určitě dobré si ukázat, jaká je jejich logika a jak se vlastně skládají jednotlivé části dohromady. Jako příklad poslouží skript, jehož cílem je, aby ověřil, zda má kontakt vyplněno pole oslovení a pokud tomu tak je, aby jej správně doplnil.


Dobrý den, {% if df_salution %}{{ df_salution }}, {% endif %} jak se máte?

V první řadě je potřeba si uvědomit, že obsah umístěný mezi {% if ... %} a {% endif %} se vypíše do šablony, pouze pokud je splněna zadaná podmínka, kdežto text mimo skript je vypsán vždy. To znamená, že pokud splněna není, vypíše se pouze věta Dobrý den, jak se máte?


Rozeberme si vše ještě podrobněji:

Dobrý den, – Jak již bylo řečeno, tento text se vypíše vždy, ať je podmínka splněna nebo ne.

{% if df_salution %} – Každá podmínka vždy začíná na if. Část df_salution je název systémového pole pro oslovení (tato pole naleznete vypsána níže). Dohromady tedy tento zápis znamená, že podmínka bude vyhodnocovat, zda je toto pole u kontaktu vyplněno.

{{ df_salution }} , – Pokud tomu tak je, bude jeho obsah vypsán v tomto místě. Čárka je opět text, který bude vypsán vždy.

{% endif %} – Ukončení podmínky.

jak se máte? – Tento text už není součástí skriptu a bude proto vypsán vždy, ať je podmínka splněna nebo ne.

Pokud je tedy podmínka splněna, může zobrazené oslovení vypadat následovně:

1) Dobrý den, Karle, jak se máte? – Pro kontakt, který se jmenuje Karel (a má tedy v poli Oslovení "Karle").

2) Dobrý den, Jano, jak se máte? – Pro kontakt, který se jmenuje Jana (a má tedy v poli Oslovení "Jano").


V předchozím příkladu jste použili obsah již existujícího pole. Co když však chcete danou větu (a uvedený skript) ještě rozšířit o oslovení milý pane/milá paní, pro které žádné pole neexistuje? V takovém případě se budete řídit polem pohlaví, protože pouze na základě obsahu tohoto pole je možno stanovit, zda budete oslovovat muže nebo ženy. Samozřejmě i nyní musíte počítat s variantou, že dané pole neobsahuje žádný záznam a tomu větu přizpůsobit. 


Dobrý den, {% if df_gender == "M" %} milý pane {{ df_salution }}, {% elseif df_gender =="F" %} milá paní {{ df_salution }}, {% else %}{% endif %} jak se máte?

Rozeberme si vše ještě podrobněji:

Dobrý den, – Tento text se vypíše vždy, ať je podmínka splněna nebo ne.

{% if df_gender == "M" %} – Každá podmínka vždycky začíná na if. Část df_gender je název systémového pole pro pohlaví (tato pole naleznete vypsána níže). Část ==“M“ pak určuje konkrétní hodnotu, kterou dané pole musí obsahovat, aby danou podmínku splnilo. Dohromady tedy tento zápis znamená, že podmínka bude vyhodnocovat, zda je toto pole u kontaktu vyplněno a zda obsahuje pohlaví muž (M).

milý pane – Pokud je podmínka splněna, následuje tento text…

{{ df_salution }} , – …a pozdrav, který bude vypsán v tomto místě.

Takto je skript čten v případě, že podmínku splňuje (tedy je jako pohlaví vyplněno muž). Jestliže však podmínku nesplňuje, je celá sekvence přeskočena a přechází se k sekvenci další.

{% elseif df_gender == "F" %} – Nyní podmínka začíná na elseif, protože ji ověřujeme pouze v případě, že není splněna podmínka předchozí. df_gender je opět název systémového pole pro pohlaví (tato pole naleznete vypsána níže). Část ==“F“ pak určuje konkrétní hodnotu, kterou dané pole musí obsahovat, aby danou podmínku splnilo. Dohromady tedy tento zápis znamená, že podmínka bude vyhodnocovat, zda je toto pole u kontaktu vyplněno a zda obsahuje pohlaví žena (F).

milá paní – Pokud je podmínka splněna, následuje tento text…

{{ df_salution }} , – …a pozdrav, který bude vypsán v tomto místě.

A pokud není splněna ani tato podmínka (kontakt nemá v poli pohlaví vyplněno nic), je opět zmíněná sekvence přeskočena.

{% else %} – V jiném případě.

{% endif %} – Konec skriptu.

jak se máte? – Tento text už není součástí skriptu a bude proto vypsán vždy, ať je podmínka splněna nebo ne.


Výsledek tedy může vypadat následovně:

1) Dobrý den, milý pane Karle, jak se máte? – V případě, že má kontakt v systémovém poli uvedeno pohlaví muž a jméno Karel.

2) Dobrý den, milá paní Jano, jak se máte? – V případě, že má kontakt v systémovém poli uvedeno pohlaví žena a jméno Jana.

3) Dobrý den, jak se máte? – V případě, že nemá kontakt v systémovém poli uvedeno žádné pohlaví.


Výchozí (systémová) pole kontaktu


df_id ID kontaktu ve SmartEmailingu
df_emailaddress E-mailová adresa
df_language Jazyk kontaktu cs_CZ, sk_SK, en_GB, en_US,pl_PL, de_DE, cs_CZ
df_created Datum vytvoření kontaktu RRRR-MM-DD h:m:s
df_updated Datum poslední aktualizace kontaktu RRRR-MM-DD h:m:s
df_domain Doména e-mailové adresy
df_name Jméno
df_surname Příjmení
df_titlesbefore Tituly před jménem
df_titlesafter Tituly za jménem
df_birthday Narozeniny RRRR-MM-DD h:m:s
df_nameday Svátek RRRR-MM-DD h:m:s
df_salution Oslovení
df_salutionsurname Oslovení podle příjmení
df_salutiongender Oslovení podle pohlaví
df_company Firma
df_street Ulice
df_town Město
df_country Země
df_postalcode PSČ
df_notes Poznámky
df_phone Telefon
df_cellphone Mobilní telefon
df_gender Pohlaví (F - žena, M - muž). Ostatní pohlaví zatím nepodporujeme.

Vlastní pole kontaktu

Vlastní pole jsou dostupná v proměnných s názvy cf_IDPOLE. Vlastní pole ID 1 je dostupné jako cf_1, vlastní pole ID 321 je dostupné jakocf_321. Vlastní pole složená z několika hodnot (Seznam checkboxů) budou vypsána jako seznam všech hodnot oddělených čárkou.


Vložení skriptu do kampaně

Samotné vložení skriptu do kampaně může proběhnout v Magic editoru dvěma způsoby. Buď je možno vložit skript do prvku text jako jeho součást, nebo skriptem obalit celou strukturu (prvek).


Vložení skriptu jako textu

Pokud potřebujete pomocí skriptu modifikovat text, či vkládat do již vytvořeného textu obsahy polí kontaktu, využijete tuto možnost. Stačí tedy nejdříve do šablony vložit prvek text (1) a poté do něj potřebný skript (2).


V případě výše uvedeného ukázkového skriptu dostanete tento výsledek:

Kontakt má uvedeno jako pohlaví muž a jmenuje se Roman. Pole oslovení tedy obsahuje tvar „Romane“. 

Kontakt má uvedeno jako pohlaví žena a jmenuje se Petra. Pole oslovení tedy obsahuje tvar „Petro“. 

Kontakt nemá uvedeno pohlaví a tedy ani oslovení. Jak však vidíte, pozdrav i tak dává smysl.

Skripty můžete samozřejmě kombinovat s dalším textem, je také možno mít v jednom textu i více skriptů najednou.


Obalení struktury (prvku) skriptem

Obecně lze pomocí skriptu ovlivnit, jaký obsah se bude kontaktu v kampani zobrazovat, na základě nastavených kritérií. To znamená, že nemusíte skriptování omezovat pouze na text, ale můžete měnit i zobrazování jiných prvků. Tato možnost může být zajímavá například tehdy, pokud chcete zobrazit jiný obsah pro muže (1), ženy (2) či kontakty bez uvedeného pohlaví (3), jako v následujícím příkladu.

Prvek obalíte skriptem tak, že na něj kliknete a na záložce Pokročilé nastavíte začátek skriptu a jeho konec.

U prvního obrázku je podmínkou, že se zobrazí pouze kontaktům, které mají nastaveno jako pohlaví Muž. Skript tedy bude nastaven jako na obrázku níže.

Začátek skriptu: {% if df_gender == "M" %}

Konec skriptu: prázdný

Pokud je podmínka splněna, zobrazí se obrázek určený mužům. Pokud ne, ověříte další možnost, kterou je pohlaví Žena. Kliknete tedy na obrázek určený ženám a opět jej na záložce Pokročilé obalíte skriptem.

Začátek skriptu: {% elseif df_gender == "F" %}

Konec skriptu: prázdný

Třetí možností je, že pohlaví není vůbec vyplněno. V takovém případě přichází na řadu obrázek s univerzální nabídkou, který opět obalíte skriptem.

Protože neexistuje žádná další možnost, kterou by pole Pohlaví mohlo obsahovat, skript na konci zakončíte.

Začátek skriptu: {% else %}

Konec skriptu: {% endif %}


Výsledný e-mail bude tedy po odeslání vypadat jinak pro Romana (muže)...

... jinak pro Petru (ženu)...

... a jinak pro kontakty bez uvedeného pohlaví.

Další příklady skriptování

Níže uvádíme další časté příklady práce se skripty při tvorbě kampaní.


Oslovení jménem

Krásný den, {% if df_salution %}{{ df_salution }},{% endif %}

Vysvětlení: Krásný den, (pokud máme jméno, oslov jménem), pokud ne, oslov jen Krásný den,

Výsledek:

Krásný den, Petro, (žena, Petra).

Krásný den, Romane, (muž, Roman).


Oslovení dle pohlaví

{% if df_gender == "M" %}Milý {% elseif df_gender == "F" %}Milá {% else %}{% endif %} {{ df_salution }}

Vysvětlení:
{% if df_gender == "M" %}Milý – pokud je pohlaví kontaktu muž (M = muž, F = žena) zobrazí se oslovení "Milý". 
{% elseif df_gender == "F" %}Milá – zde si všimněte příkazu elseif, který nám říká, že následující akce proběhne pouze v případě, že neplatí první podmínka. Tedy pouze pokud pohlaví kontaktu není muž (M) a pohlaví kontaktu je žena (F). V případě, že jsou obě tyto podmínky splněny, zobrazí se oslovení "Milá".
{% else %}{% endif %} – konec podmínek.
{{ df_salution }} – pole "Oslovení podle křestního jména". 

Výsledek: 

Milý (muž).

Milá (žena).

Pokud je tedy pohlaví kontaktu muž, zobrazí se Milý, pokud je pohlaví kontaktu žena, zobrazí se Milá.

Oslovení dle pohlaví rozšířené o titul a příjmení

Dobrý den {% if df_gender == "M" %}pane doktore {{ df_salutionsurname }}, {% elseif df_gender == "F" %}paní doktorko {{ df_salutionsurname }}, {% else %}{% endif %} jak se máte?

Vysvětlení:

Dobrý den, – zobrazí se vždy.
{% if df_gender == "M" %}pane doktore – pokud je pohlaví kontaktu muž (M = muž), zobrazí se oslovení "pane doktore". 
{{ df_salutionsurname }} – pole "Oslovení podle příjmení".
{% elseif df_gender == "F" %}paní doktorko – pokud není pohlaví kontaktu muž, ale je žena (F = žena), zobrazí se oslovení "paní doktorko".
{{ df_salutionsurname }} – pole "Oslovení podle příjmení".
{% else %}{% endif %} – konec podmínek.
jak se máte? – zobrazí se vždy.   

Výsledek:

Dobrý den, pane doktore Nováku, jak se máte? (muž, pan doktor, Novák)

Dobrý den, paní doktorko Nováková, jak se máte? (žena, paní doktorka, Nováková)


Oslovení podle příjmení uprostřed textu

Pokud chcete používat malé písmeno v oslovení Vážená/Vážený (např. uprostřed věty) je třeba skript upravit:

{{df_salutiongender|lower}}

Celý skript tedy může vypadat takto:

Děkujeme, {{df_salutiongender|lower}} {{df_salutionsurname}}, za Váš zájem.

Vysvětlení:

{{df_salutiongender|lower}} – oslovení podle pohlaví s malým v ve slově vážený.

{{df_salutionsurname}} – oslovení podle příjmení.


Výsledek:

Děkujeme, vážený pane, za Váš zájem. (muž)

Děkujeme, vážená paní, za Váš zájem. (žena)


Rozšířené oslovení podle pohlaví

{% if df_gender == "M" %}Vážený pane {% elseif df_gender == "F" %}Vážená paní {% else %}Vážení{% endif %}{{ df_salutionsurname }},

Vysvětlení:

Pokud je muž, oslov Vážený pane, pokud je žena, oslov Vážená paní, pokud nemáme u kontaktu oslovení, oslov Vážení.


Výsledek:

Vážený pane Nováku (muž, Novák).

Vážená paní Nováková (žena, Nováková).

Vážení (bez uvedeného pohlaví).


Ve druhé variantě jednoduše spojíme dohromady oslovení podle pohlaví a oslovení podle příjmení. Pohlaví samotné neřešíme.

{% if df_salutiongender and df_salutionsurname %}{{ df_salutiongender }} {{df_salutionsurname}}{% else %}Vážení{% endif %},  

Vysvětlení:

Vážený pane + příjmení, Vážená paní + příjmení (v případě podmínky známého oslovení podle pohlaví a příjmení), Vážení (v případě, že neznáme oslovení podle pohlaví nebo příjmení)


Výsledek

Vážený pane Nováku (muž, Novák).

Vážená paní Nováková (žena, Nováková).

Vážení (pakliže nemáme pohlaví nebo příjmení).


Milý + mužské jméno, Milá + ženské jméno, Dobrý den (v případě, že jméno uvedeno není)

{% if df_gender == "M" %}Milý {% elseif df_gender == "F" %}Milá {% else %}Dobrý den{% endif %}{{ df_salution }},

Výsledek:

Milý + jméno (muž).

Milá + jméno (žena).

Dobrý den (neznámý/neznámá).  


Dobrý den + mužské jméno, dobrý den + ženské jméno, neznámý/á - Dobrý den,

Dobrý den, {% if df_salution %}{{ df_salution }},{% endif %}

Výsledek

Dobrý den, Karle, (muž, Karel).

Dobrý den, Jano, (žena, Jana).

Dobrý den, (neznámý/neznámá).


Chcete-li mít text rozdělený podle muže/ženy/neuvedeno

Jsem ráda, že jste si {% if df_gender == 'M' %}vybral{% elseif df_gender == 'F' %}vybrala{% else %}vybrali{% endif %} moje služby.

Výsledek:

Jsem ráda, že jste si vybral moje služby (muž).

Jsem ráda, že jste si vybrala moje služby (žena).

Jsem ráda, že jste si vybrali moje služby (neuvedeno).


Jak na tykání / vykání

Samozřejmě lze pomocí skriptování oddělit tykání a vykání konkrétní osobě. V takovém případě si vytvoříme vlastní pole (třeba rozbalovací nabídka), kde bude u kontaktu určeno, zda mu tykáme či vykáme. Následně pak snadno toto pole (v tomto příkladu ID 100) vložíme do skriptu.


Vlastní pole obsahuje Tykat: Zdravím Tě + jméno, Vykat: Zdravím Vás + jméno, Neobsahuje nic: Dobrý den + jméno,

V případě, že je text e-mailu obsáhlý a je v něm oslovení mnohokrát, lze také rozdělit kontakty do dvou seznamů (Tykat/Vykat) a vytvořit dvě rozdílné kampaně. K tomu můžete použít segmentaci nebo podmínku v Automatizaci.

{% if cf_100 == "Tykat" %}Zdravím Tě {% elseif cf_100 == "Vykat" %}Zdravím Vás {% else %}Dobrý den{% endif %}{{ df_salution }},

Výsledek

Zdravím Tě Karle, (tykání, Karel).

Zdravím Vás Jano, (vykání, Jana).

Dobrý den Petře, (údaj chybí).

Pomohla Vám tato odpověď? Děkujeme! Chcete-li cokoliv dodat, napište nám prosím na podpora@smartemailing.cz. Děkujeme! Zaznamenali jsme potíže s odesláním. Zkuste to prosím znovu. Děkujeme