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

Sitecore OMS-实现表单提交的目标,sitecore,Sitecore,我继承了一个Sitecore解决方案,该解决方案有一个子布局,其中包含一个复杂的ASP.NET ascx表单,该表单处理支付和与第三方web服务的集成 此子布局使用参数模板对表单的外观提供某种程度的控制 .ascx控件包含多个视图: 在第一个视图中,用户填写 表单并单击下一步。 在第二个视图中,用户可以查看之前输入的数据 单击提交按钮。 第三个视图是表单的感谢页面。 如果我想为提交此表单创建一个目标,我是否应该在提交表单时通过API将目标设置为已实现?我是否应该添加目标的名称作为参数模板之一,以

我继承了一个Sitecore解决方案,该解决方案有一个子布局,其中包含一个复杂的ASP.NET ascx表单,该表单处理支付和与第三方web服务的集成

此子布局使用参数模板对表单的外观提供某种程度的控制

.ascx控件包含多个视图:

在第一个视图中,用户填写 表单并单击下一步。 在第二个视图中,用户可以查看之前输入的数据 单击提交按钮。 第三个视图是表单的感谢页面。 如果我想为提交此表单创建一个目标,我是否应该在提交表单时通过API将目标设置为已实现?我是否应该添加目标的名称作为参数模板之一,以便营销编辑能够在需要时对其进行更改


谢谢

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

编辑


请参阅关于如何以编程方式注册分析页面事件的。

您有几种可能性:

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

正如你所说,你可以通过代码来完成。这相当简单,应该如下所示:

公共无效登记事件{ 如果!AnalyticsTracker.IsActive 返回

AnalyticsTracker跟踪器=AnalyticsTracker.Current

如果tracker==null | | tracker.CurrentPage==null 返回

AnalyticsPageEvent pageEvent=新AnalyticsPageEvent { Name=yourEvent的名称, 键=事件的键, Text=SomeText, Data=如果愿意,事件数据可以包含所有输入的信息, })

tracker.CurrentPage.TriggerEventPage事件; 提交; }

是硬编码事件还是将其变为变量取决于是否需要频繁更改事件

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


希望有帮助

你说的参数模板是什么意思?对不起@MarkUrsino,我指的是参数模板。“编辑器选项”下有一个字段,您可以在其中指定一个模板,将更多字段添加到当前子布局中。此实现使用此技术公开表单某些区域的可见性。