Sitecore Analytics obsahuje velké množství nástrojů pro marketingové oddělení. Jedním z nich je Experience Profil, do kterého lze vkládat data o návštěvníkovi vašeho webu. Jestliže otevřete nástroj Experince Profil, uvidíte následující obrazovku se seznamem všech návštěvníků vašeho webu.
Na obrázku výše vidíte, že web před 15 minutami navštívil uživatel John Doe a na webu strávil 4 minuty. Po kliknutí na jméno návštěvníka se dostaneme do jeho detailu a můžeme vidět více informací o návštěvníkovi nebo jeho návštěvách. My se v tomto článku zaměříme na osobní data návštěvníka.
Na obrázku výše vidíte detail návštěvníka John Doe. Můžeme zjistit jeho jméno a e-mailovou adresu. Pokud nám uživatel poskytne další data jako třeba adresu, datum narození nebo telefon, můžeme je také uložit k jeho profilu.
V našem příkladu si ukážeme uložení dat jména, příjmení a e-mailu. Představme si, že někde na našem webu existuje formulář, kam návštěvník vyplní jméno, příjmení a e-mail. Jakmile formulář odešle, data uložíme k jeho profilu.
Na obrázku výše vidíme, že uživatel vyplnil data do formuláře a formulář odeslal. V příkladu používáme anonymní okno prohlížeče, aby nám jednotlivé návštěvy nezkreslovali data u ostatních návštěvníků. Sitecore Analytics identifikuje návštěvníka pomocí cookies.
Na obrázku výše vidíme výpis dat z MongoDB, která slouží jako úložiště dat o uživateli. Jakmile vyprší uživateli session, data jsou propsána do MSSQL databáze a zaindexována do sitecore_analytics_index.
Teď si ukážeme, jak docílit propsání dat z formuláře do Experience Profilu. Nejdřív si musíme nareferencovat do našeho projektu všechny potřebné knihovny. Můžeme použít nuget balíčky (více informací zde). Budeme potřebovat tyto knihovny:
- Sitecore.Analytics
- Sitecore.Analytics.DataAccess
- Sitecore.Analytics.Model
- Sitecore.Mvc.Analytics
[HttpPost] [ValidateAntiForgeryToken] public ActionResult FillVisitorData(FillVisitorDataModel model, string command) { if (command == FillVisitorDataModel.CommandValue) { if (ModelState.IsValid) { // Get contact var contact = Sitecore.Analytics.Tracker.Current.Contact; // Set identifier Sitecore.Analytics.Tracker.Current.Session.Identify(model.Email); // Get personal facet var personalFacet = contact.GetFacet<Sitecore.Analytics.Model.Entities.IContactPersonalInfo>("Personal"); personalFacet.FirstName = model.FirstName; personalFacet.Surname = model.LastName; // Get email facet var emailFacet = contact.GetFacet<Sitecore.Analytics.Model.Entities.IContactEmailAddresses>("Emails"); if (!emailFacet.Entries.Contains("Preferred")) { var emailEntry = emailFacet.Entries.Create("Preferred"); emailEntry.SmtpAddress = model.Email; emailFacet.Preferred = "Preferred"; } else { emailFacet.Entries["Preferred"].SmtpAddress = model.Email; } } } return View("/Views/Project/Boxes/Fill Visitor Data.cshtml", model); }
Kódem výše zajistíme propsání dat z formuláře do profilu uživatele. Důležitou věcí, na kterou nesmíme zapomenout, je vložení kusu JS kódu, který zajistí identifikaci návštěvníka. V tagu <head> nesmí chybě tento kus kódu:
@Html.Sitecore().VisitorIdentification()
Pokud by tento kód chyběl, Sitecore by mohl návštěvníka identifikovat jako robota a nezobrazoval by ho v Experience Profilu.