public static bool TriggerGoal(ID goalID) { if (goalID == (ID)null) { Log.Warn("GoalID is empty", typeof(AnalyticsHelper)); return false; } if (!Tracker.IsActive) { Tracker.StartTracking(); } if (Tracker.Current == null || Tracker.Current.Interaction == null || Tracker.Current.Interaction.CurrentPage == null) { Log.Warn("Tracker.Current == null || Tracker.Current.Interaction.CurrentPage == null", typeof(AnalyticsHelper)); return false; } var goalItem = Sitecore.Context.Database.GetItem(goalID); if (goalItem == null) { Log.Warn("Goal Item is empty from ID: " + goalID, typeof(AnalyticsHelper)); return false; } var goal = new PageEventItem(goalItem); Tracker.Current.Interaction.CurrentPage.Register(goal); return true; }
/// <summary> /// Analytics Helper for checking Marketing related features e.g. goals, events /// </summary> /// <param name="goalID">Id of the goal</param> /// <returns>True passed checking or False invalid</returns> public static bool TriggerGoal(ID goalID) { if (goalID == (ID)null) { Log.Warn("GoalID is empty", typeof(AnalyticsHelper)); return(false); } if (!Tracker.IsActive) { Tracker.StartTracking(); } if (Tracker.Current == null || Tracker.Current.Interaction == null || Tracker.Current.Interaction.CurrentPage == null) { Log.Warn("Tracker.Current == null || Tracker.Current.Interaction.CurrentPage == null", typeof(AnalyticsHelper)); return(false); } var goalItem = Context.Database.GetItem(goalID); if (goalItem == null) { Log.Warn("Goal Item is empty from ID: " + goalID, typeof(AnalyticsHelper)); return(false); } var goal = new PageEventItem(goalItem); Tracker.Current.Interaction.CurrentPage.Register(goal); return(true); }
public virtual void TrackPageEvent(ID pageEventItemId, string text = null, string data = null, string dataKey = null, int?value = null) { Assert.ArgumentNotNull(pageEventItemId, nameof(pageEventItemId)); if (!this.IsActive) { return; } var item = Context.Database.GetItem(pageEventItemId); Assert.IsNotNull(item, $"Cannot find page event: {pageEventItemId}"); var pageEventItem = new PageEventItem(item); var eventData = Tracker.Current.CurrentPage.Register(pageEventItem); if (data != null) { eventData.Data = data; } if (dataKey != null) { eventData.DataKey = dataKey; } if (text != null) { eventData.Text = text; } if (value != null) { eventData.Value = value.Value; } }
public virtual void TrackPageEvent(ID pageEventItemId) { Assert.ArgumentNotNull(pageEventItemId, nameof(pageEventItemId)); var item = Sitecore.Context.Database.GetItem(pageEventItemId); Assert.IsNotNull(item, $"Cannot find page event: {pageEventItemId}"); Assert.IsNotNull(Tracker.Current, "Analytics tracker isn't initialized"); var pageEventItem = new PageEventItem(item); Tracker.Current.CurrentPage.Register(pageEventItem); }
public virtual void TrackPageEvent(ID pageEventItemId) { Assert.ArgumentNotNull(pageEventItemId, nameof(pageEventItemId)); var item = Sitecore.Context.Database.GetItem(pageEventItemId); Assert.IsNotNull(item, $"Cannot find page event: {pageEventItemId}"); if (Tracker.Current != null && Tracker.Current.IsActive) { var pageEventItem = new PageEventItem(item); Tracker.Current.CurrentPage.Register(pageEventItem); } }
public virtual void TrackPageEvent(ID pageEventItemId) { Assert.ArgumentNotNull(pageEventItemId, nameof(pageEventItemId)); var item = Sitecore.Context.Database.GetItem(pageEventItemId); Assert.IsNotNull(item, $"Cannot find page event: {pageEventItemId}"); if (this.IsActive) { var pageEventItem = new PageEventItem(item); Tracker.Current.CurrentPage.Register(pageEventItem); } }
private void TriggerGoal(ID _goalId) { var goal = Sitecore.Context.Database.GetItem(_goalId); var page = Tracker.Current.Session.Interaction.PreviousPage; var pageEvent = new PageEventItem(goal); var data = page.Register(pageEvent); data.Data = goal["Description"]; data.ItemId = goal.ID.Guid; data.DataKey = goal.Paths.Path; Tracker.Current.Interaction.AcceptModifications(); }
protected override void DoRender(System.Web.UI.HtmlTextWriter output) { if (Sitecore.Analytics.Tracker.IsActive && Sitecore.Analytics.Tracker.CurrentPage != null) { var goalItem = this.GetItem(); if (goalItem != null) { PageEventItem goal = new PageEventItem(goalItem); VisitorDataSet.PageEventsRow pageEventsRow = Sitecore.Analytics.Tracker.CurrentPage.Register(goal); pageEventsRow.Data = goalItem.TemplateName + " triggered from AchieveGoal"; Sitecore.Analytics.Tracker.Submit(); } } }
public ActionResult TriggerEvent(string eventName, string data, bool shouldUpdate = false) { if (!Tracker.IsActive || Tracker.Current == null) { Tracker.StartTracking(); } if (Tracker.Current == null) { return(Json(new { Success = false, Error = "Can't activate tracker" })); } if (string.IsNullOrEmpty(eventName)) { return(Json(new { Success = false, Error = "Event not set" })); } var eventsRoot = Sitecore.Context.Database.GetItem(AnalyticsConstants.Events.EventLocation); var eventItem = eventsRoot.Axes.GetDescendants().FirstOrDefault(x => x.Name.Equals(eventName, StringComparison.InvariantCultureIgnoreCase)); if (eventItem == null) { return(Json(new { Success = false, Error = "Event not found" })); } var page = Tracker.Current.Session.Interaction.PreviousPage; if (page == null) { return(Json(new { Success = false, Error = "Page is null" })); } var registerTheEvent = new PageEventItem(eventItem); var eventData = page.Register(registerTheEvent); eventData.Data = data; eventData.ItemId = eventItem.ID.Guid; eventData.DataKey = eventItem.Paths.Path; Tracker.Current.Interaction.AcceptModifications(); Tracker.Current.CurrentPage.Cancel(); CheckForGoogleClientId(eventName, data, shouldUpdate); return(Json(new { Success = true })); }
public ActionResult TriggerGoal(string goal) { if (!Tracker.IsActive || Tracker.Current == null) { Tracker.StartTracking(); } if (Tracker.Current == null) { return(Json(new { Success = false, Error = "Can't activate tracker" })); } if (string.IsNullOrEmpty(goal)) { return(Json(new { Success = false, Error = "Goal not set" })); } var goalRootItem = Sitecore.Context.Database.GetItem(AnalyticsConstants.Goals.DefaultGoalLocation); var goalItem = goalRootItem.Axes.GetDescendants().FirstOrDefault(x => x.Name.Equals(goal, StringComparison.InvariantCultureIgnoreCase)); if (goalItem == null) { return(Json(new { Success = false, Error = "Goal not found" })); } var page = Tracker.Current.Session.Interaction.PreviousPage; if (page == null) { return(Json(new { Success = false, Error = "Page is null" })); } var registerTheGoal = new PageEventItem(goalItem); var eventData = page.Register(registerTheGoal); eventData.Data = goalItem["Description"]; eventData.ItemId = goalItem.ID.Guid; eventData.DataKey = goalItem.Paths.Path; Tracker.Current.Interaction.AcceptModifications(); Tracker.Current.CurrentPage.Cancel(); return(Json(new { Success = true })); }
public override void ValidateLinks(LinksValidationResult result) { foreach (string targetPath in CampaignIds) { CampaignItem campaignItem = null; ID result1; if (ID.TryParse(targetPath, out result1)) { campaignItem = Analytics.Tracker.DefinitionItems.Campaigns[result1]; } if (campaignItem == null) { result.AddBrokenLink(targetPath); } else { result.AddValidLink(campaignItem.InnerItem, campaignItem.InnerItem.Paths.Path); } } foreach (PageEventData pageEventData in Events) { PageEventItem pageEventItem = null; if (pageEventData.PageEventDefinitionId != Guid.Empty) { pageEventItem = Analytics.Tracker.DefinitionItems.Goals[pageEventData.PageEventDefinitionId] ?? Analytics.Tracker.DefinitionItems.PageEvents[pageEventData.PageEventDefinitionId]; } if (pageEventItem == null && pageEventData.Name != null) { pageEventItem = Analytics.Tracker.DefinitionItems.Goals[pageEventData.Name] ?? Analytics.Tracker.DefinitionItems.PageEvents[pageEventData.Name]; } if (pageEventItem == null) { result.AddBrokenLink(FileUtil.MakePath(Analytics.Tracker.DefinitionItems.Goals.Path, pageEventData.Name, '/')); } else { result.AddValidLink(pageEventItem.InnerItem, pageEventItem.InnerItem.Paths.Path); } } foreach (ContentProfile contentProfile in Profiles.Where(p => p.SaveToField)) { result.AddValidLink(contentProfile.Definition.InnerItem, contentProfile.Definition.InnerItem.Paths.Path); } }
public PageEventData RegisterGoal(string goalName, string pageUrl) { if (!this.IsTracking()) return null; IPageContext pageContext = Sitecore.Analytics.Tracker.Current.Interaction.GetPages().LastOrDefault(page => page.Url.Path.Equals(pageUrl)); if (pageContext == null) { Log.Warn($"Page {pageUrl} does not exist", typeof(EmotionAnalyticsService)); return null; } Item goalItem = this.emotionGoals.FirstOrDefault(goal => goal.Name.Equals(goalName)); if (goalItem == null) { Log.Warn($"Goal {goalName} does not exist", typeof(EmotionAnalyticsService)); return null; } PageEventItem pageEvent = new PageEventItem(goalItem); return pageContext.Register(pageEvent); }