2012-05-07 52 views
1

我为我的电子邮件活动使用Sitecore 6.5 ECMSitecore ECM详细信息报告

有相当多的错误..但不知何故,我设法克服它们。

现在,ECM是工作体面,它有Engagement plan查看percentage是多少SentMessage OpenedMessage Unopened等..

但我的客户希望有一个细节报告..喜欢SentRecipientsOpenedClicked为每个发送的电子邮件。

enter image description here

所以,我想知道哪种方法我应该追求得到以下报告。

我应该使用EmailCampaign dll APIs,让他们或者我应该直接从database查询?

我已经看了一下数据库。和表名不容易找出。

有没有人做过这个?我可以有一些片段来做到这一点吗?

回答

2

威廉 - 就像你从ECM希望尚未完成,无法提供开箱即用的你处于一个详细的报告是正确的。我知道在某些时候会有这样的事情发生,但是我不知道什么时候和现在,这就是你如何处理事情的原因,因为我现在正在为客户做这件事。

基本上它是通过直接的SQL调用完成的。 EngagementAutomation dll中有一个api ..但是从我的经验来看,方法签名采用的对象是尝试创建更多的痛苦,而不是自己构建SQL调用。而不是张贴我广泛的代码。我只是告诉你数据在哪里以及如何获得它。有一个提供用于分析的SQL API,但是我发现尝试创建比自己使用旧学校.net和sql命令更令人困惑。

我的方法是创建一个找回信息给出类似的GUID参与计划或的GUID消息本身的类。分析数据库中有几个表格可以跟踪这些数据。一个是自动化和自动化国家,跟踪参与计划和发送的特定电子邮件(每个发送的电子邮件在自动化状态表中都有一个链接到自动化的条目(这是订婚计划)。自动化状态表非常关键,并且会显示发送电子邮件的Sitecore用户的实际用户名

跟踪事件(点击和那类事情)有点欺骗,所有事情都在Pages表和PageEvent表中完成和跟踪。点击。打开通过RegisterEmailOpened网址和点击跟踪将在UrlText领域已查询字符串包括被跟踪,你可以解析为EC_AS该列=它指向AutomationStateID GUID。

钍这很重要,但这应该让你开始,让你看看如何开始。

+0

好的。感谢您的建议。我对这份报告有点忙。我下周可能会这样做。感谢您的回答。 :) – william

+0

嗨divamatrix,我得到了部分工作的想法。我发布了它作为另一个答案,并希望检查你是否正确。 – william

1

我得到了一些结果..

只是想和你一起检查他们是否是正确的?

我将从Campaigns表中获得相应ECM的CampaignID

然后我会AutomationIDCampaignIDAutomation表..

之后,我会用我从Automation表得到了AutomationID获得相应的行从表AutomationStates

Rows,我得到每个AutomationID的数字是ECM发送的电子邮件数量。

而且如果VisitorIDNULL收件人还没有打开电子邮件。

如果VisitorID中有一个值,则该电子邮件可以计为Opened

对于Click through,我想我可以使用​​和StateNameAutomationStates表,因为我看到了StateName的一些老数据值称为Unproductive Visitors

但是当我通过点击我的新发ECM,那场没有按”不改变任何事情。

所以,我想知道我是否应该使用Visits表或PagesPagesEventsClick through

请指教。

感谢您的指导。

+1

CampaignID是指活动..不是参与计划。该活动更关注营销方面,与报告无关。这对执行摘要很有用,但不适用于其他报告目的。您真正需要的是AutomationID,它是Engagement Plan ID,并位于Automation表中。实际ECM消息本身的ID位于自动化表中的数据字段中。 – divamatrix

+1

您获得自动化id的行数是该订婚计划发送的电子邮件的数量(技术上可以将多个电子邮件配置为使用相同的订婚计划..尽管开箱即用,但它并没有这样做) 。纽约州指的是参与计划的状态..这是你会发现用户是否已经打开电子邮件或点击链接等.VisitorID更关注于分析,虽然它可能是有用的,但也可能是误导,因为分析数据库中的外键/主键关系非常复杂。 – divamatrix

+1

点击率非常棘手,因为它会将页面中的点击次数记录在页表中,但您必须解析表中的一个字段以查找特定于ECM消息的页面条目。以下是我用于为发送电子邮件的每个用户获取点击次数的示例SQL语句:这将向您显示在为每个收件人传递自动化状态ID时结构如何工作:SELECT Distinct(ItemId)FROM Pages WHERE Url NOT LIKE'%RegisterEmailOpened%'和UrlText,如'%ec_as%'+ @automationstateid +'%' – divamatrix