我無法識別通過我們網站的聯繫表單與我們聯繫的訪問者。該表單收集基本信息,但在電子郵件正文中包含一些Sitecore Analytics數據以幫助繪製更大的圖片會很好。如何獲取Sitecore會話期間觸發的廣告系列和目標列表?
爲了實現這一點,我需要以某種方式檢索當前會話期間觸發的所有廣告系列和目標。
Sitecore API爲「觸發」目標和活動提供了便利的方法,但我似乎無法找到任何方法來檢索當前會話觸發的內容。如果可能,我想避免直接查詢OMS數據庫。
任何幫助,非常感謝。
我無法識別通過我們網站的聯繫表單與我們聯繫的訪問者。該表單收集基本信息,但在電子郵件正文中包含一些Sitecore Analytics數據以幫助繪製更大的圖片會很好。如何獲取Sitecore會話期間觸發的廣告系列和目標列表?
爲了實現這一點,我需要以某種方式檢索當前會話期間觸發的所有廣告系列和目標。
Sitecore API爲「觸發」目標和活動提供了便利的方法,但我似乎無法找到任何方法來檢索當前會話觸發的內容。如果可能,我想避免直接查詢OMS數據庫。
任何幫助,非常感謝。
你可以在VisitorDataSet
從Tracker.CurrentVisit
返回的對象中進行挖掘,你應該能夠獲得一些有用的屬性,然後提取相關數據。
這一點,例如,應該讓你當前訪問歸來的競選活動(如果有相關的活動)..
if(!Tracker.CurrentVisit.IsCampaignIdNull())
{
var campaignDataTable = new SharedDataSet.CampaignsDataTable();
var data = campaignDataTable.FindByCampaignId(Tracker.CurrentVisit.CampaignId);
Response.Write("Campaign Name:" + data.CampaignName);
Response.Write("Id:" + Tracker.CurrentVisit.CampaignId);
}
else
{
Response.Write("No campaign found!");
}
我沒有用這個有很多,但可能讓你走在正確的方向,抱歉,我不能提供任何更多的細節。
我無法得到建議的答案,但我找到了一個解決方案!它應該與Sitecore 6.5至7.2相關(不確定大約7.5及以上)。您可以通過Sitecore.Analytics.Tracker.DataContext
對象訪問廣告系列。
結合這方面的知識與斯蒂芬教皇的答案,我們得到:
using System.Linq;
using Sitecore.Analytics;
// won't be null if a campaign was triggered
if (!Tracker.CurrentVisit.IsCampaignIdNull())
{
var campaign = Tracker.DataContext.Where(x => x.ID.Guid == Tracker.CurrentVisit.CampaignId).FirstOrDefault();
if (campaign != null)
{
// do stuff with the campaign here
var name = campaign.Title;
}
}
我也在意獲得系列的流量類型,你可以做像這樣:
var trafficType = campaign.SelectTrafficType.TargetItem.Name;
謝謝,我試着看看這個。我認爲這些課程可能已經被移除了。我似乎無法在SC 6.4中找到它們。你正在運行什麼版本? –
啊,這是6.5(API比6.4改進了很多)。我會試着看看我能否爲你找到一個6.4的例子。 –