A Page Event in Sitecore is a way of tracking when a user have reached a goal by executing a call to action on a specific page, for example:
- Downloaded a brochure
- Clicked your banner
- Done a search
A page event can be any text you like, and you can attach any data you wish.
You use the Sitecore.Analytics.Tracker to register the page event. Here is a small example on how to do it:
using System; using Sitecore.Analytics; using Sitecore.Analytics.Data; using Sitecore.Analytics.Tracking; using Sitecore.Diagnostics; namespace MyNamespace { public class RegisterPageDataService { public void RegisterPageEvent(string eventName, string text, string data, string dataKey) { if(!Tracker.Enabled) return; if (!Tracker.IsActive) Tracker.StartTracking(); ICurrentPageContext currentPage = Tracker.Current.CurrentPage; if (currentPage == null) return; RegisterEventOnCurrentPage(eventName, text, data, dataKey, currentPage); } private static void RegisterEventOnCurrentPage(string eventName, string text, string data, string dataKey, IPageContext currentPage) { PageEventData pageEvent = new PageEventData(eventName) { Text = text, Data = data ?? string.Empty, DataKey = string.IsNullOrEmpty(dataKey) ? string.Empty : dataKey }; try { currentPage.Register(pageEvent); } catch (Exception exception) { Log.Error(string.Format("{0} pageevent not created in current Sitecore Instance: {1}", eventName, exception), typeof(RegisterPageDataService)); } } } }
Using the code is pretty straight forward:
// Registering a click goal RegisterPageDataService service = new RegisterPageDataService(); service.RegisterPageEvent("Goal", "Clicked", string.Empty, string.Empty); // Registering a search RegisterPageDataService service = new RegisterPageDataService(); service.RegisterPageEvent("Search", "Freetext", "Pentia A/S", "Search");
The register page event ends up in the xDB (MongoDB) in the”Interactions” collection, look for “Pages” (this example is one of Sitecore’s events, not my event):
MORE TO READ:
- Register a page event programatically by Sitecore
- Sitecore 8 Register Page Events by Mike Robbins
