根據Sitecore的支持,目前這是不可能的。但是,通過將jQuery AJAX調用添加到相關頁面類型使用的子層佈局的廣告系列URL,我能夠實現我想要的效果。當然,這隻適用於啓用JS的客戶端,但對我而言,這不是問題。
<script type="text/javascript">$(function() { $.get('/?sc_camp=[campaignid]'); });</script>
編輯的2014年5月19日
我找到了一種方法通過Sitecore的API來做到這一點。這是粗糙的,需要檢查空值,異常等,但它確實工作:
string cookieVal = Request.Cookies["SC_ANALYTICS_GLOBAL_COOKIE"].Value;
List<Guid> guids = new List<Guid>() {
new Guid(cookieVal)
};
Guid automationStateId = new Guid("{24963AE9-1C8C-4E18-8EEE-01BC249D1F1B}");
Guid automationId = Sitecore.Context.Database.GetItem(new Sitecore.Data.ID(automationStateId)).ParentID.ToGuid();
Sitecore.Analytics.Automation.Data.AutomationManager.Provider.CreateAutomationStatesFromBulk(guids, automationId, automationStateId);
您也可以在服務器端做一些事情,將所有請求重定向到具有該模板的頁面,使其等同於添加的查詢字符串。這將消除對javascript的需求。 –
這也是一個很好的建議 - 謝謝! –
不錯的建議TwentyGotoTen! – Younes