我正在使用Sitecore 6.5 ECM进行电子邮件活动。
有相当多的bug..但不知何故,我设法克服了它们。
现在,ECM工作正常,它有查看多少个percentage是Sent、Message Opened、Message Unopened等的Engagement plan。
但是我的客户想要一份详细的报告..像Sent,Recipients,Opened,Clicked,每发送一封邮件。

所以,我想知道我应该采用哪种方法来获得以下报告。
我应该使用EmailCampaign dll APIs来获取它们,还是应该直接从database查询
我已经看过数据库了。而且表名也不容易查出来。
以前有人这么做过吗?我可以有一些代码片段来做这件事吗?
发布于 2012-05-10 06:44:17
William -你是正确的,你想从ECM得到的详细报告还没有完成,也没有现成的可用的。我知道这样的东西会在某一时刻出现,但我不知道什么时候和现在,这就是你可以做的事情,因为我现在正在为一个客户做这件事。
基本上,它是通过直接的SQL调用来完成的。在EngagementAutomation动态链接库中有一个应用程序接口。但根据我的经验,方法签名接受的对象比自己构建SQL调用更痛苦。而不是张贴我的代码,这是广泛的..我只会告诉你数据在哪里,以及如何去获取它。提供了一个用于分析的SQL,但我发现尝试创建它比自己只使用老式的.net和sql命令更令人困惑。
我的方法是创建一些类,这些类可以在给定约定计划的GUID或消息本身的GUID的情况下返回信息。在分析数据库中有两个表来跟踪这些数据。一个是自动化和AutomationStates,它跟踪项目计划和发送的特定电子邮件(发送的每个电子邮件在AutomationStates表中都有一个条目,该条目链接到自动化(即项目计划))。AutomationStates表非常关键,它将显示发送电子邮件的Sitecore用户的实际用户名。
跟踪事物(点击和诸如此类的事情)是一个小把戏。所有操作都在Pages表和PageEvent表中进行跟踪。它跟踪打开和点击。打开是通过一个RegisterEmailOpened url来跟踪的,点击必须在包含查询字符串的UrlText字段中进行跟踪,您可以在该列中解析指向AutomationStateID GUID的EC_AS=。
这里还有更多的东西,但这应该是你的入门,并让你看到如何开始这一点。
发布于 2012-05-15 10:27:43
我得到了一些结果..
我只是想和你确认一下它们是否正确?
我将从Campaigns表中获取各个ECM的CampaignID。
然后,我将从Automation表中获取该CampaignID的AutomationID。
之后,我将使用从AutomationStates表中获得的AutomationID从Automation表中获取相应的行。
我为每个AutomationID获得的Rows数量是ECM发送的电子邮件数量。
如果VisitorID为NULL,则该收件人尚未打开该电子邮件。
如果VisitorID中存在值,则可以将该电子邮件计为Opened。
对于Click through,我想我可以使用AutomationStates表中的StateID和StateName,因为我看到StateName的一些旧数据具有名为Unproductive Visitors的值
但是当我点击我新发送的ECM时,这个字段并没有改变任何东西。
所以,我想知道我是应该使用Visits表,还是应该使用Pages和PagesEvents表来处理Click through。
请给我建议。
感谢您的指导。
https://stackoverflow.com/questions/10475762
复制相似问题