Sitecore OMS - 实现表单提交的目标

时间:2011-05-16 15:26:40

标签: sitecore

我继承了一个Sitecore解决方案,该解决方案的子布局包含一个复杂的ASP.NET ascx表单,该表单处理付款并与第三方Web服务集成。

此子布局使用参数模板对表单的显示方式提供某种程度的控制。

.ascx控件包含多个视图:

  • 在第一个视图中,用户填写了 单击并单击“下一步”。
  • 在第二个视图中,用户可以查看之前输入的数据 单击“提交”按钮。
  • 第三个视图是表单的感谢页面。

如果我想创建提交此表单的目标,我是否应该在提交表单时通过API将目标设置为“已实现”?我是否应该将目标的名称添加为参数模板之一,以便营销编辑能够在需要时对其进行更改?

由于

2 个答案:

答案 0 :(得分:3)

是的,您可以在表单工作流程的适当位置使用AnalyticsTracker.TriggerEvent方法设置目标。将目标的名称作为模板参数是一个好主意。更好的是,使用droplink并将源指向/ sitecore / system / Marketing Center / Goals /.

修改

请参阅Analytics Configuration Reference了解如何以编程方式"注册Google Analytics页面事件。"

答案 1 :(得分:2)

您有几种可能性:

  1. 当所有内容都提交并获得批准时,大多数表单都会有一个确认页面。您可以通过普通用户界面将事件附加到此页面。没有特殊的代码需要它,它是开箱即用的。

  2. 正如您所说,您可以通过代码来完成。这很容易,应该是这样的:

    public void RegisterEvent(){   if(!AnalyticsTracker.IsActive)     返回;

    AnalyticsTracker跟踪器= AnalyticsTracker.Current;

    if(tracker == null || tracker.CurrentPage == null)     返回;

    AnalyticsPageEvent pageEvent = new AnalyticsPageEvent()   {     Name =“TheNameOfYourEvent”,     Key =“TheKeyOfTheEvent”,     Text =“SomeText”,     数据=“如果您愿意,事件数据可以包含所有输入的信息”,   };

    tracker.CurrentPage.TriggerEvent(pageEvent);   tracker.Submit(); }

  3. 您是否对事件进行硬编码或使其变量取决于您是否需要频繁更改事件。

    第一个选项是最简单的选项,但如果您还希望集成到CRM并存储用户输入,则可能需要使用选项2,因为您也可以存储配置文件数据。

    希望有所帮助!