Engagement plány (EP) v Sitecore slouží k automatizaci práce s návštěvníky vašeho webu. V tomto článku zvolíme velmi jednoduchý scénář. Uživatel přijde na web, vyplní formulář, do kterého zadá osobní údaje a e-mail, následně stiskne tlačítko přihlásit do EP. Vytvoříme jednoduchý EP, který návštěvníkovi odešle děkovací e-mail poté co klikne na tlačítko přihlásit do EP. Přihlášení může proběhnout buď programově, nebo na základě Sitecore kampaně. V tomto příkladu si ukážeme přihlášení do EP programově.
Nejdříve si připravíme EP, pomocí nástroje Marketing Control Panel otevřeme složku Engagement Plans a vložíme nový EP. Sitecore používá pro návrh a reporty Silverlight, tudíž nefunguje v prohlížeči Chrome, který tuto technologii nepodporuje, doporučuji použít prohlížeč Firefox. Pomocí tlačítka Design si jej navrhneme zhruba takto:
Na obrázku výše vidíme, že náš EP obsahuje 2 stavy (initial-state a email-sent). Stav initial-state je výchozí stav EP, do kterého se pokusíme návštěvníka vložit. U tohoto stavu vidíte v pravém dolním rohu 5 mins, to znamená, že pokud je uživatel přiřazen do tohoto stavu, je po 5 minutách posunut dál, což v našem případě znamená, že je vyhodnocena podmínka s názvem move-next. Podmínka nic nerozhoduje, je vždy pravdivá, tudíž se návštěvník posouvá rovnou do dalšího stavu s názvem email-sent. Při přechodu z podmínky move-next do stavu email-sent vidíme číslovku 1, ta znamená, že při přechodu je volána určitá akce. V našem případě se jedná o odeslání e-mailu, který může redaktor editovat. Editace vypadá takto:
Na obrázku výše vidíte editační okno, do kterého může redaktor zadat tyto údaje:
- From Name – jméno odesílatele
- From Address – adresa odesílatele
- Subject – předmět e-mailu
- Base Site URL – domovská stránka webu, která se používá v případě vložení odkazu do těla zprávy
- Text zprávy – tělo zprávy
- To Address Type – zde si redaktor vybere, zda se bude e-mail odesílat na fixní e-mailovou adresu, kterou zadá nebo na adresu návštěvníka. V našem příkladu si vyzkoušíme odeslat e-mail na adresu návštěvníka. Zde pozor, Sitecore odesílá e-mail na jednoznačný identifikátor návštěvníka, ne na e-mailovou adresu, kterou má vyplněnou v MongoDB, viz obrázek níže
Teď když máme navržený EP, můžeme vytvořit kouzelné tlačítko, které návštěvníka přihlásí do našeho EP. V příkladu budeme pro adresáta e-mailu používat e-mailovou adresu návštěvníka. Jak přiřadit návštěvníkovi e-mailou adresu se můžete dočíst v mém předchozím článku zde.
Připravili jsme do Sitecore rendering, který do HTML vykresluje pouze button a pomocí POST jej posílá na server. Kód, který přihlásí návštěvníka do EP, vypadá následovně:
[HttpPost] [ValidateAntiForgeryToken] public ActionResult EnrollInEngagementPlan(string command) { if (command != "enrollVisitor") { return View("/Views/Project/Boxes/Enroll In Engagement Plan.cshtml"); } const string stateId = "{6E1F6979-CD94-49D0-8D9D-AED63779CFF4}"; var stateItem = Sitecore.Context.Database.GetItem(Sitecore.Data.ID.Parse(stateId)); if (stateItem == null) { return Content("State not found"); } // Get manager var managerInContext = Sitecore.Analytics.Tracker.Current.Session.CreateAutomationStateManager(); // Check if visitor is already enrolled in Engagement plan var currentState = managerInContext.GetCurrentStateInPlan(stateItem.ParentID); if (currentState != null) { // Move to different state managerInContext.MoveToEngagementState(stateItem.ParentID, stateItem.ID); } else { // Enroll in provided state managerInContext.EnrollInEngagementPlan(stateItem.ParentID, stateItem.ID); } return Content("You are enrolled."); }
Konstanta stateId obsahuje ID item initial-state, která je přímo pod rootem našeho testovacího EP.
Celý průchod EP by vypadal následovně.
Uživatel otevře web, vyplní osobní údaje:
Po vyplnění osobních údajů, klikne na tlačítko Enroll Current Visitor a zobrazí se mu hláška s informací, že by přihlášen do EP:
Jakmile návštěvníkovi vyprší session, je vložen do vybraného stavu v EP, jak je vidět na obrázku níže.
Teď návštěvníkovi běží 5ti minutový trigger, po kterém dochází k odeslání e-mailu. E-mail odchází ve tvaru, který jsme definovali v návrháři EP. E-mail odchází na e-mailovou adresu návštěvníka:
Po odeslání e-mailu se návštěvník dostává do stavu email-sent:
Na tomto příkladu jsme si ukázali, jak nadefinovat jednoduchý EP a jak do něj přihlásit návštěvníka webu.