【问题标题】:How to track click event on server side in sitecore如何在sitecore中跟踪服务器端的点击事件
【发布时间】:2017-10-10 04:57:29
【问题描述】:

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

【问题讨论】:

    标签: sitecore8 sitecore-dms


    【解决方案1】:

    点击页面上的链接时,不会执行任何事件和处理器。

    如果您想将外部链接点击注册为 Sitecore 目标,您有两种选择:

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

    【讨论】:

    • 谢谢...我已经实现了客户端 JS 脚本来跟踪目标..只是想确保是否有更好的方法来做到这一点。
    【解决方案2】:

    对外部页面的点击将不再通过 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();
    

    【讨论】:

    • 几天前我看到了这篇文章。但唯一的事情是我们需要更改当前的实现以包含用于社交分享的“AddThis”组件。我正在尝试检查我们是否可以避免它。
    • AddThis 只是一个示例。如果您已经设置了 js,则只需从该脚本调用控制器。
    • 当有人点击“分享”按钮时,我可以调用控制器动作。但是我不知道如何跟踪实际的共享事件。如何跟踪用户是否发布了消息然后触发目标。哪些事件可以获得这些信息,我们如何在 js 脚本中访问它
    • 这取决于实际的共享平台本身,并且与您的 Sitecore 实施有关。您应该为此提出另一个问题,甚至可能问几个问题,因为这可能特定于共享平台(即 Facebook ,推特,...)
    猜你喜欢
    • 2023-03-05
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多