【发布时间】:2017-10-10 04:57:29
【问题描述】:
如何在sitecore中跟踪服务器端的用户点击事件? 我们的要求是跟踪网站上的少量外部点击并将其注册为目标。我可以通过客户端 js 脚本跟踪点击,但我想通过服务器端实现这一点。关于如何跟踪的任何想法? 哪个事件\处理器实际上保存了点击的链接信息/?
【问题讨论】:
如何在sitecore中跟踪服务器端的用户点击事件? 我们的要求是跟踪网站上的少量外部点击并将其注册为目标。我可以通过客户端 js 脚本跟踪点击,但我想通过服务器端实现这一点。关于如何跟踪的任何想法? 哪个事件\处理器实际上保存了点击的链接信息/?
【问题讨论】:
点击页面上的链接时,不会执行任何事件和处理器。
如果您想将外部链接点击注册为 Sitecore 目标,您有两种选择:
【讨论】:
对外部页面的点击将不再通过 Sitecore,因此系统将无法跟踪该 ootb。就像 Marek 说的,你有几个选择可以自己做。不久前,我在上面写了一篇博文 (https://ggullentops.blogspot.be/2016/02/integrating-addthis-with-sitecore-goals.html),解释了(用代码)如何使用客户端上的 javascript 和一个控制器来在服务器上注册目标。
我们只是发布到负责触发目标的控制器。简而言之,代码如下所示(查看帖子以获取完整代码 - 还带有强制性的空值检查):
var visit = Tracker.Current;
var page = Tracker.Current.Session.Interaction.PreviousPage;
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();
【讨论】: