2017-10-10 129 views
0

如何跟蹤sitecore中服務器端的用戶點擊事件? 我們的要求是追蹤網站上的少量外部點擊並將其註冊爲目標。我可以通過客戶端js腳本跟蹤點擊次數,但是我希望通過服務器端實現這一點。任何想法如何跟蹤? 哪個事件\處理器實際上擁有點擊鏈接info /?如何跟蹤sitecore中服務器端的點擊事件

回答

0

當頁面上的鏈接被點擊時,沒有事件和沒有處理器執行。

您有2種選擇,如果你想註冊的外部鏈接點擊作爲Sitecore的目標:

  1. 添加的onclick JavaScript的背景調用服務器併發送有關該被點擊的鏈接的信息。然後將其註冊爲服務器端的目標。
  2. 在Sitecore中創建「外部鏈接」項並鏈接到該頁面,而不是直接鏈接到外部頁面。然後將目標添加到該頁面,而不是顯示它,將客戶端重定向到外部站點。
+0

謝謝...我已經實現了客戶端JS腳本跟蹤goals..just希望確保,如果有更好的方法來做到這一點。 –

0

點擊外部頁面將不再通過Sitecore,因此係統將無法跟蹤該ootb。就像Marek說的那樣,你有幾個選擇可以自己做到這一點。我前一段時間寫了一篇博客文章(https://ggullentops.blogspot.be/2016/02/integrating-addthis-with-sitecore-goals.html),解釋(用代碼)如何在客戶端和控制器上使用javascript來在服務器上註冊目標。

我們只是發佈到控制器,照顧觸發目標。總之看起來像這樣的代碼(檢查後全碼 - 也有強制性null檢查):

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(); 
+0

我幾天前看到這篇文章。但唯一的是,我們需要改變當前的實現,以包含社交分享的'AddThis'組件。我試圖檢查我們是否可以避免它。 –

+0

AddThis只是一個例子..如果你已經有了你的js集,你只需要從該腳本調用控制器。 – Gatogordo

+0

當有人點擊「分享」按鈕時,我可以調用控制器操作。但是我不知道如何跟蹤實際的股票事件。如何跟蹤用戶是否發佈了消息,然後觸發目標。哪些事件可以獲取這些信息,以及如何在js腳本中訪問這些信息 –

相關問題