Ugrás a fő tartalomra

Tartalmi blokkok személyre szabása, perszonalizáció (levél, adatmódosító űrlap, űrlap köszönő oldal, landing page)

A funkció célja

Az eredményes e-mail kommunikációhoz gyakran már sokkal többre van szükség, minthogy behelyettesítjük a címzett keresztnevét vagy valamely más adatát. Gyakran arra van szükség, hogy a levelünk egyik vagy másik bekezdését, akár egész szövegblokkokat, vagy éppenséggel a levélben elhelyezett reklámokat és egyéb információkat is személyre szabjunk annak megfelelően, hogy milyen jellemzőkkel rendelkezik az adott címzett.

A SalesAutopilot tartalmi blokk személyre szabás funkciója lehetővé teszi, hogy a listában tárolt bármely információ vagy azok kombinációja alapján feltételeket vagy feltételrendszereket állítsunk fel, és a levelek bármely része ezen feltételek alapján, felhasználónként kerüljön összeállításra és kiküldésre.

A funkció az alábbi elemek esetében alkalmazható:

  • Email (html és text verzió is)

  • Adatmódosító űrlapok

  • Bármilyen űrlap köszönőoldala

  • Landing page

  • Tárgy mező

Néhány gyakorlati példa a funkció használatára

(Az alábbi példák mind levelekre készültek, de amint fent fel van sorolva, a SalesAutopilot több más elemével is működik a funkció.)

  • Más reklám szerepel az e-mail-ekben (pl. az oldalsávban) függően attól, hogy vásárolt-e már az illető egy adott termékből vagy nem.

  • Egy Budapesten megtartott rendezvény közeledtével a vidékieknek más közeledési információt küldünk a levélben, mint a budapestieknek. A levél többi tartalma azonos.

  • Egy ügyfél tájékoztató levélben azoknak, akiknek van lejárt számlája, egy erre vonatkozó extra bekezdést is szerepeltetünk. Ez a bekezdés a többi ügyfélnél egyszerűen nem szerepel.

  • A leiratkozási információt más körítő szöveggel helyezzük el, függően attól, hogy milyen forrásból származik a feliratkozó.

  • Stb.

A funkció használata

A funkció használatához a levelekbe speciális - nem HTML típusú tag-okat kell elhelyezni. Ezek a részek definiálják, hogy mely rész kerüljön személyre szabásra, és hogy ez milyen feltételek esetén történjen meg. A feltételt a listában lévő valamely mező értékére tudod beállítani.

Az alábbiakban egy egyszerű példát találsz a funkció használatára.

  {:if $mssys_state == "Budapest":}
    <p>Várjuk a szeminárium napján, reggel 9-kor!</p>
  {:else:}
    <p>Annak érdekében, hogy kipihenten vehessen részt a programon,  érdemes már előző este megérkezni a helyszínre...</p>
  {:/if:}

Tartalmi blokk személyre szabása klasszikus email szerkesztő használatával

A funkció használatát megkönnyíti a tartalmi blokk személyre szabás szerkesztő, amely a szerkesztő eszközsorában lévő {:if ikonra kattintva érhető el.

A megnyíló ablakban egy szegmens szerkesztéséhez hasonló módon összeállíthatod a tartalmi blokk feltételt rendszerét, amelyet azután egy kattintással beilleszthetsz a tartalomba.

Az Új feltétel gombbal tudsz újabb feltételt hozzáadni az adott ághoz. Az Új ág gombbal pedig új {:elseif ...:} ágat kezdhetsz. Az else ág hozzáadása opció bejelölésével pedig a feltételrendszer végére automatikusan beillesztésre kerül a {:else:} ág. Az ágakon belül az egyes feltételeket fogd és vidd (drag&drop) módszerrel bármikor egyszerűen átrendezheted. Az elseif ágak sorrendjét is meg tudod változtatni. A legelső if ág fix, tehát azt nem tudod átmozgatni.

Tartalmi blokk személyre szabása SalesAutopilot 2.0 HTML Szerkesztő használatával

A tartalmi blokk személyre szabásának beállításai SalesAutopilot 2.0 HTML Szerkesztő használata esetén a Levél szerkesztésének 2. Levél tartalma lépésénél a fekete ikonsor Beszúrás (Mezőkód, Feltételek beillesztése) lehetőségére kattintva érhetőek el. A felugró ablak Feltételek beillesztése fülén a klasszikus emailszerkesztőnél bemutatott módon tudod beállítani a szükséges feltétel rendszert.

A Levélszerkesztő 2.0 segítségével nem csak szövegrészen belül tudsz beállítani feltételrendszert, hanem egy teljes sor esetén meg tudod határozni, hogy csak bizonyos feltétel teljesülése esetén jelenjen meg. A sor feltételtől függő megjelenítés beállítását ebben a cikkben mutatjuk be.

Magyarázat a fenti példához

Hasonlóan a programnyelvekhez, a feltételeket {: és :} jelek közé kell írni. A feltételekben változóként bármelyik, az adott listában szereplő mező nevét fel lehet használni, méghozzá úgy, hogy a mezőnév elé $ jelet írva hivatkozunk az adott mezőre.

Minden feltétel rendszernek {:if ... :} sorral kell kezdődnie, és {:/if:} sorral kell befejeződnie. Ezek között az {:elseif ... :} vagy az {:else:} sorok választhatják el az egyes feltételeket.

Kódrész

Kódrész jelentése

{:if ... :}

Feltétel rendszer kezdete. A ... részben kell megfogalmazni magát a feltételt, amely esetén az ezen sor utáni rész megjelenhet. A feltétel megfogalmazása során használható relációs jelöléseket ezen táblázat után találod.

{:else:}

Amennyiben az ezen sor előtti feltételek nem teljesülnek, akkor az ezen sor utáni tartalom kerül megjelenítésre.

{:elseif ... :}

Amennyiben az ezen sor előtti feltételek nem teljesülnek, és a ... részben megfogalmazott feltételek teljesülnek, akkor az ezen sor utáni rész kerül megjelenítésre.

{:/if:}

A feltétel rendszer legvége.

A fentiekben látható módon megfogalmazott feltételekben használható relációs jelöléseket az alábbi táblázat tartalmazza.

Relációs jelölés

Alternatív jelölés

Példa az alkalmazásra

Jelentés

==

eq

$a == $b

'a' változó értéke egyenlő 'b' változó értékével

==

eq

$a == n

'a' változó értéke egyenlő n értékkel (ahol 'n' egy szám)

==

eq

$a == "karaktersor"

'a' változó értéke egyenlő a "karaktersor" szöveggel

!=

ne, neq

$a != $b

'a' változó értéke nem egyenlő 'b' változó értékével *

>

gt

$a > $b

'a' változó értéke nagyobb, mint 'b' változó értéke *

<

lt

$a < $b

'a' változó értéke kisebb, mint 'b' változó értéke *

>=

gte, ge

$a >= $b

'a' változó értéke nagyobb vagy egyenlő, mint 'b' változó értéke *

<=

lte, le

$a <= $b

'a' változó értéke kisebb vagy egyenlő, mint 'b' változó értéke *

*: Két változó összehasonlítása mellett össze lehet hasonlítani változót szám értékkel vagy változót konkrét karaktersorral is, pont úgy, ahogy az '==' reláció jelölésnél bemutattuk.

Összetett logikai kifejezések

A feltételek megfogalmazásánál akár összetett logikai kifejezéseket is meg lehet fogalmazni. Ezeknél az elterjedt programozási nyelveknél szokásos logikai operátorokat és (a Boole algebrában szabályos) zárójelezési szabályokat kell alkalmazni.

Logikai operátor

Példa az alkalmazásra

Jelentés

Magyarázat

AND

{:if ($a == $b) AND ($c == $d) :}

ÉS

Amennyiben 'a' változó értéke egyenlő 'b' változó értékével ÉS 'c' változó értéke egyenlő 'd' változó értékével.

OR

{:if ($a == $b) OR ($c == $d) :}

VAGY

Amennyiben 'a' változó értéke egyenlő 'b' változó értékével VAGY 'c' változó értéke egyenlő 'd' változó értékével.

XOR

{:if ($a == $b) XOR ($c == $d) :}

Kizáró vagy

Amennyiben 'a' változó értéke egyenlő 'b' változó értékével, de 'c' változó értéke nem egyenlő 'd' változó értékével VAGY 'c' változó értéke egyenlő 'd' változó értékével, de 'a' változó értéke nem egyenlő 'b' változó értékével

Feltételek egymásba ágyazása

Amennyiben összetettebb feltételrendszert kell megvalósítanod szükség lehet a feltételek egymásba ágyazására is. Az alábbiakban erre láthat egy példát.

  {:if $tegezem == 1:}
    {:if $fizetett == 1:}
    <p>Örömmel láttam, hogy a utalásod már megérkezett bankszámlánkra.</p>
    {:else:}
    <p>Kérem a rendezvény díját ne feledd átutalni!</p>
    {:/if:}
  {:else:}
    {:if $fizetett == 1:}
    <p>Örömmel láttam, hogy a utalása már megérkezett bankszámlánkra.</p>
    {:else:}
    <p>Kérem a rendezvény díját ne felejtse átutalni!</p>
    {:/if:}
  {:/if:}

Speciális dátumhoz kapcsolódó feltételek

Aktuális dátumhoz mezőérték hasonlítása

Ha a tartalmi blokk megjelenését ahhoz szeretnéd kötni, hogy egy adott mezőben szereplő dátum egyezik-e a mai dátummal, vagy korábban vagy később van, akkor azt a következő módon tudod megadni.

 {:if $smarty.now >= $datum_mezo|strtotime:}
     <p>Ez a tartalom akkor jelenik meg ha a [datum_mezo] értéke  a mai nap vagy a mai napot megelőző dátum.</p>
 {:/if:}

Aktuális dátumhoz fix dátum hasonlítása

Ha a tartalmi blokk megjelenését ahhoz szeretnéd kötni, hogy egy adott dátum egyezik-e a mai dátummal, vagy korábban vagy később van, akkor azt a következő módon tudod megadni.

 {:if $smarty.now >= "2016-02-08"|strtotime:}
     <p>Ez a tartalom akkor jelenik meg ha a mai már elmúlt az adott dátum, 2016. február 8.</p>
 {:/if:}

Feltétel feliratkozástól eltelt napok alapján

A $mssys_days_from_sub változó tárolja az adott feliratkozóra vonatkozóan, hogy hány nap telt el a feliratkozása óta. Ez alapján lehet olyan feltételt megfogalmazni, hogy egy tartalmi blokk akkor jelenjen meg, ha a feliratkozástól számítva eltelt x nap. Példa: a tartalmi blokk akkor jelenjen csak meg, ha a feliratkozástól számítva eltelt 5 nap:

 {:if $mssys_days_from_sub  >= 5:}
     <p>Ez a tartalom akkor jelenik meg ha a feliratkozástól számítva eltelt már legalább 5 nap.</p>
 {:/if:}

Feltétel szövegrészlet alapján

Beállíthatsz olyan feltételt, hogy az adott mezőben tárolt szöveg tartalmaz-e egy megadott szövegrészletet. Például a szállítási mód mezőre beállíthatsz olyan feltételt, amely csak akkor teljesül, ha a szállítási mód tartalmazza a csomagautomata szót. Ebben az esetben a feltételt az alábbi módon kell megadni:

 {:if "/csomagautomata/"|preg_match:$mssys_shippingmode:}
     <p>Ez a tartalom akkor jelenik meg ha a szállítási mód tartalmazza a csomagautomata szót.</p>
 {:/if:}

Megjegyzés haladó felhasználóknak: a feltétel első paraméterében megadható tetszőleges regurális kifejezés.

Feltétel rendelt termékek alapján

Megrendelés listára küldött levélnél illetve megrendelés űrlap köszönőoldalán lehetőség van a szöveget a rendelt termékek alapján személyre szabni. A tartalmi blokk szerkesztőjében a feltételhez a "Rendelt termék" opciót kell beállítani, majd ki kell választani az adott terméket a legördülő listából. A feltétel kódjába a termék cikkszáma kerül.

Legördülő listából választható ki a fizetési mód is, ekkor a szállítási és fizetési mód azonosítója kerül a feltétel kódjába.

Számok formázása

Lehetséges a számokat ezres csoportonként formázni a következő kifejezéssel:

{:$mezonev|number_format:0:",":" ":}

A fenti kifejezés a 16500 szám értéket 16 500 formában fogja megjeleníteni. A number_format -nak három paramétere van: 1. tizedesjegyek száma, 2. tizedestört jele (magyar nyelvben vessző), 3. ezres csoport elválasztó karaktere (magyar nyelvben szóköz, angolszász területen a vessző).

Tipp: Ha a fentebbi szám formázást például adatmódosító űrlapon szeretnéd használni az Űrlap szövege résznél, akkor a tartalmi formázást tedd {literal} {/literal} jelek közé a megfelelő működés érdekében. (Ha ezeket nem használod, akkor az űrlap szerkesztője nem engedi tovább lépni és "Form ID: 96172 Syntax error in template string:" hibaüzenet ugorhat fel.)

További lehetőségek

A fent bemutatott technikák a levelek (html ÉS txt) tartalmának személyre szabásán kívül a továbbiakra is lehetőséget biztosítanak:

  • Űrlap köszönő oldalának személyre szabása. Példa: Amennyiben a megrendelési űrlapon (feliratkozási űrlappal megvalósítva) ki lehet választani, hogy utánvéttel vagy utalással kívánja kifizetni a megrendelő a rendelt terméket, a köszönő oldalon a fizetési módtól függően lehet megjeleníteni a visszaigazolás fizetési információkra vonatkozó részét.

  • Adatmódosító űrlap, felmérés személyre szabása. Példa: Amennyiben bizonyos kérdésekre már korábban választ adott a feliratkozó, akkor számára az űrlapnak csak az a része jelenik meg, amire még nem válaszolt korábban.

  • Landing page és landing page alternatív verziójának személyre szabása. Példa: A határidőhöz kötött landing page megjelenésekor a feliratkozó számára felajánlott ajánlat vagy annak bevezető szövege, érvelése, stb. attól is függ, hogy korábban milyen terméket vásárolt már meg, vagy hogy milyen információk állnak rendelkezésre az illetőről.

  • Tárgy mező. Például ha egy listán különböző nyelvű feliratkozóknak küldesz emailt, és a levélen belül tartalmi blokk személyre szabással a feliratkozó nyelve alapján jelenítitek meg a tartalmat, akkor ezt a tárgy mezőben is tudjátok érvényesíteni.

Fontos: a Tárgy mezőben való használat esetén a feltételeket be kell gépelni a fentiek alapján, itt nincs lehetőség a feltételrendszer összekattintgatására.

Formázás tartalmi blokk személyre szabása esetén

Annak érdekében, hogy a lehető legjobban sikerüljön az adott email megjelenése akkor is, ha megjelenik az adott feltételes tartalmi blokk, és akkor is, ha nem, különös figyelmet érdemes fordítani a sortörések elhelyezésére.

A fenti példán az 1-essel jelölt tartalmi blokk vagy megjelenik, vagy nem, attól függően, hogy a feliratkozó éppen megfelel-e a feltételnek. Érdemes megfigyelni, hogy a sortörés a 2-vel jelölt sorba került, ami még a feltételt lezáró tag előtt helyezkedik el, majd a feltétel utáni első szöveg közvetlenül a feltételt lezáró tag után van elhelyezve.

Abban az esetben, ha megjelenik a feltételes blokk, akkor a feltétel záró tag előtti sortörés fogja elválasztani az utána következő bekezdést.

Amennyiben nem jelenik meg a feltételes blokk, a 3-assal jelölt sorban a feltétel lezáró tag utáni szöveg az 1-essel jelölt sor legelején, a feltétel nyitó tag elejének helyén fog megjelenni.

Ha a sortörést a feltétel lezáró tag után helyeztük volna el, akkor a feltételes blokk meg nem jelenése esetén egy felesleges sortörés lenne az utána következő, vagyis az egyetlen megjelenő szöveg előtt.

Konkrét példák az alkalmazásra

A következő részben néhány konkrét példát láthatsz a funkció alkalmazására rövid magyarázatokkal.

Rendezvények létszámának maximálása

Gyakran felmerül az az igény, hogy egy rendezvényen a résztvevők számát maximálni lehessen. Ahhoz, hogy korlátozni tudd a rendezvényre jelentkezők számát egy SalesAutopilot-os landing oldalon, szükséged van egy kis előkészületre.

Létre kell hoznod

  • egy globális változót, amelyben a létszám korlátot tárolod,

  • egy szegmenst, amelyben az eddigi jelentkezéseket számolod,

  • egy landing page-t, amelyben a jelentkezők számától függően megjelenik az űrlap, vagy az elutasító üzenetet.

A konkrét lépések a következők:

  1. Hozz létre egy globális változót a maximális létszám tárolására! például: [global_max_letszam]. Írd fel a változó nevét!

  2. Hozz létre egy szegmenst, amelyben a korlátozni kívánt jelentkezéseket/vásárlásokat nyilvántartod! Írd fel a szegmens azonosítóját, amely megjelenítődik, ha egered a szegmens melletti ceruza ikon fölé viszed.

  3. Írd fel a jelentkezési űrlap azonosítóját! Ezt az űrlap adatlapjának legalján találod.

  4. Hozz létre egy landing page-et, és a szerkesztőbe illeszd be a következő feltételes tartalmi blokkot!

    {:if [segmentcount12345] >= [global_max_letszam] :}
      Sajnos már betelt a létszám!
    {:else:}
      Eddigi jelentkezések száma: [segmentcount12345]/[global_max_letszam]
      Fennmaradó helyek: {:[global_max_letszam] - [segmentcount12345]:}
      [form67890]
    {:/if:}
  5. A fenti kódba helyettesítse be az általad létrehozott elemek azonosítóit:

    • [global_max_letszam] helyettesítsd az általad létrehozott globális változó kódjával

    • [segmentcount12345] a 12345 számot helyettesítsd az általad létrehozott szegmens azonosítójával

    • [form67890] a 67890 számot helyettesítsd az általad létrehozott űrlap azonosítójával

  6. Tetszés szerint cseréld a szabad szövegeket!

Ezzel a módszerrel elérheted, hogy a megrendelő űrlap csak akkor jelenjen meg, ha a jelentkezők száma nem érte el a maximális létszámot.

Blog értesítő személyre szabott reklámmal

Az alábbi blog bejegyzés jobb oldali oldalsávjában "Az online marketing legegyszerűbb, mégis bizonyítottan működő receptje" című audio CD hanganyagának reklámja látható minden olyan olvasó számára, akik az "Online Marketing Csapda" című ingyenes anyagunkra már feliratkoztak (tehát a feliratkozás dátuma nem 0000-00-00). Minden egyéb esetben (azaz, mindazon feliratkozóknak, akik még nem iratkoztak fel az "Online Marketing Csapda"-ra, az "Online Marketing Csapda feliratkozás reklám jelenik meg.

Így néz ki a fenti blog értesítő, ha a feliratkozó még nem töltötte le az "Online Marketing Csapda" PDF-et...

...és így néz ki, ha már letöltötte (feliratkozott a letöltésre).

Fizetési emlékeztető rendezvény előtti előzetesben

Az alábbi ábrán egy szeminárium előtti előzetes látható, melyet a jelentkezőknek küldtünk el, méghozzá attól függetlenül, hogy átutalta-e a jelentkezési díjat. Minden olyan jelentkező azonban, aki még nem utalta át a díjat, egy fizetési emlékeztetőt is talál a levélben, melyet az udvariasság kedvéért úgy fogalmaztunk meg, mintha nem tudnánk, hogy utalt-e már.

Leiratkozás link olyan levélben, amit minden feliratkozónknak küldtünk

Az alábbi példán egy olyan értékesítési levelünket láthatod, melyet minden feliratkozónk megkapott, azonban a levélküldés apropója minden feliratkozás kapcsán más és más.

Ezen módszer alkalmazásánál mindenképpen szükség van a két szintű leiratkozás alkalmazására is! (Mely funkció már elérhető, a Leiratkozás egyszerre több listáról - kétszintű leiratkozás bejegyzésünkben olvashatsz róla)

Fontos háttérinformáció az alkalmazáshoz

A fenti három példák gyakorlati alkalmazásához tudnod kell, hogy minden egyes témában (Online Marketing Csapda letöltés, SMS Marketing Ötlettár letöltés, Internet-Marketing.hu oldal blog értesítője, stb.) külön listába gyűjtjük a feliratkozókat (ezek az úgynevezett "Kis listák", azonban az űrlap-műveletek segítségével minden feliratkozó bekerül egy technikai gyűjtőlistába is, melyet mi csak "Nagy listának" nevezünk. A fenti levelek közül mind az első, mind a harmadik levél egy kis listás feliratkozás kapcsán küldtük ki a nagy listára, és így volt lehetőségünk tekintetbe venni a feliratkozók különböző feliratkozásai kapcsán keletkezett adatokat.

Kapcsolódó bejegyzések:

Választ kapott a kérdésére?