Sitecore Analytics Api - 发送,打开和点击的电子邮件

时间:2012-05-09 18:49:59

标签: sitecore analytics sitecore-dms sitecore-ecm

我们正在使用Sitecore 6.5,我们设置了电子邮件广告系列,并且会在注册用户生命周期的不同阶段自动触发电子邮件。

我的任务是获取统计信息 - “发送的电子邮件总数”,“开放率”和“点击次数”(这是用户点击电子邮件中的链接并访问我们的网站)。

是否有人知道如何使用Sitecore Analytics API完成此操作。我需要提取此信息并将其显示为报告。

我是Google Analytics的新手,我们非常感谢您的帮助。

编辑: 我需要在网页中将其显示为4列:日期,发送的总电子邮件数,打开的电子邮件总数以及点击后的总电子邮件数。因此,如果你能指出我会选择合适的api。

由于

2 个答案:

答案 0 :(得分:5)

杰克 - 在Sitecore后端,营销中心下面有一个区域,有一个参与计划,这真的是你需要看的地方。请记住一件事......这些可以使用哪些特定用户..但它不会在报告中显示特定的“用户”。这在后端可用,但此时不是简单的API调用。

所有对电子邮件的跟踪都是通过参与计划和州来完成的。 ECM中的每封电子邮件都有一个名为“参与计划”的字段,该字段指向用于跟踪事物的特定参与计划。在内容编辑器或营销中心浏览该参与计划将打开一个屏幕,您可以在其中查看参与计划中的状态,并查看处于什么状态的电子邮件数量。 ECM参与计划包括从“排队等待发送”到打开和点击的链接等所有内容的状态,并进行了富有成效的访问。

对于您在ECM中配置的每封电子邮件,都应该制定一个参与计划,并且根据发送的电子邮件类型,您还可以通过单击“已发送”文件夹中的电子邮件群发来获取该计划。 “监督行为”。还有一个执行仪表板,显示了一些统计数据,虽然这更像是10000英尺的视野。

答案 1 :(得分:4)

我找到了获取所需数据的方法,但我使用的是Sitecore版本6.6,但在6.5中这应该是相同的。 如果选择电子邮件广告系列的“已发送”文件夹中的邮件,则会在项目详细信息的邮件预览选项卡中找到“监控行为”按钮。此按钮可打开分析数据对话框,显示所需信息。现在,在后端获取此信息是通过这种方式实现的:

//get the message item we need the statistics for
var campaignMessage = Sitecore.Modules.EmailCampaign.Util.GetMessage(itemId);

//FlowDesigner will use the sc_ContentDatabase database
Sitecore.Context.Items["sc_ContentDatabase"] = Sitecore.Context.Database;

//get the flow by plan id
var flow = new FlowDesigner().ItemsToFlow(campaignMessage.PlanId);
Assert.ArgumentNotNull(flow, "flow");

var infos = new Dictionary<string, StateInfo>();

int totalVisitorsCount = 0;
foreach (State state in flow.States)
{
    totalVisitorsCount += state.Visitors;
    infos[state.Name] = new StateInfo(state.Id, state.Name, (double)state.Visitors, default(double), default(int), string.Empty);
}

foreach (StateInfo info in infos.Values)
    info.UsersPct = (totalVisitorsCount == default(double)) ? default(double) : Math.Round((double)((info.UsersTotal / totalVisitorsCount) * 100.0), 1);

TotalUserCount = totalVisitorsCount.ToString();
SentNotCompleted = infos["Send not Complete"].UsersTotal.ToString();
InvalidAddress = infos["Invalid Address"].UsersTotal.ToString();
SoftBouncePercent = infos["Soft Bounce"].UsersPct.ToString();
HardBouncePercent = infos["Hard Bounce"].UsersPct.ToString();
MessageOpened = infos["Message Opened"].UsersTotal.ToString();
ClickedThroughPercent = infos["Clicked Through Message"].UsersPct.ToString();
VisitorBouncedPercent = infos["Visitor Bounced"].UsersPct.ToString();
MessageUnopened = infos["Message Unopened"].UsersTotal.ToString();

这是Sitecore用于获取统计数据的代码的略微修改。修改是我将项目放在字典中,以便我可以轻松地按名称引用它们,但计算逻辑不会更改。 您可以获得的州是:

  • 收件人排队
  • 发送不完整
  • 无效地址
  • 软弹跳
  • 硬弹跳
  • 消息未开启
  • 消息已打开
  • 点击留言
  • 访客退回
  • 非生产性访客
  • 富有成效的访客

您可以使用Sitecore.Shell.MarketingAutomation.BusinessObjects.StateInfo的UsersTotal和UsersPct属性分别以数字或百分比显示统计数据。