如何在sitecore中跟踪服务器端的单击事件

时间:2017-10-10 04:57:30

标签: sitecore8 sitecore-dms

如何在sitecore中跟踪服务器端的用户点击事件? 我们的要求是跟踪网站上的少量外部点击并将其注册为目标。我可以通过客户端js脚本跟踪点击,但我想通过服务器端实现这一点。有关如何跟踪的任何想法? 哪个事件\处理器实际上持有点击的链接信息/?

2 个答案:

答案 0 :(得分:1)

单击页面上的链接时,没有事件和处理器执行。

如果您想将外部链接点击注册为Sitecore目标,则有2个选项:

  1. 向服务器添加onclick javascript后台调用,并发送有关所点击链接的信息。然后在服务器端将其注册为目标。
  2. 在Sitecore中创建“外部链接”项并链接到该页面,而不是直接链接到外部页面。然后向该页面添加目标,而不是显示它,将客户端重定向到外部站点。

答案 1 :(得分:0)

单击外部页面将不再通过Sitecore,因此系统将无法跟踪该ootb。像马雷克说的那样,你有几个选择可以自己做。我前面写了一篇博客文章(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();