我正在使用Sitecore 6.5 ECM
进行电子邮件广告系列。
有很多错误..但不知怎的,我设法克服它们。
现在,ECM工作得体,并且Engagement plan
可以查看percentage
Sent
,Message Opened
,Message Unopened
等多少Sent
。
但我的客户想要发送详细信息报告..例如Recipients
,Opened
,Clicked
,EmailCampaign dll APIs
,每封发送的电子邮件。
所以,我想知道我应该采用哪种方法来获得以下报告。
我应该使用database
来获取它们,还是应该直接从{{1}}查询?
我已经看了一下数据库。并且表名不容易找到。
以前有人这样做过吗?我可以有一些片段来做这件事吗?
答案 0 :(得分:2)
威廉 - 你是正确的,因为你想从ECM那里得到的详细报告还没有完成,也没有开箱即用。我知道这样的事情会在某些时候出现,但我不知道什么时候和现在,这就是你如何处理事情,因为我现在正在为客户做这件事。
基本上,这是通过直接SQL调用完成的。 EngagementAutomation dll中有一个api ..但是从我的经验来看,方法签名会使对象尝试创建更多的痛苦,而不仅仅是自己构建SQL调用。而不是发布我广泛的代码..我只会告诉你数据的位置以及如何获得它。有一个为分析提供的SQL API,但我发现尝试创建比仅使用旧的.net和sql命令更令人困惑。
我的方法是创建一些类来获取信息,例如,参与计划的GUID或消息本身的GUID。分析数据库中有几个表可跟踪此数据。一个是自动化和自动化状态,它跟踪订阅计划和发送的特定电子邮件(每个发送的电子邮件在AutomationStates表中都有一个条目,该表链接到自动化(这是参与计划).AutomationStates表非常关键,将显示发送电子邮件的Sitecore用户的实际用户名。
跟踪事物(点击和那种事情)有点欺骗。所有内容都在Pages表和PageEvent表中完成并跟踪。它跟踪开放和点击。通过RegisterEmailOpened url跟踪打开,并且必须在包含Querystring的UrlText字段中跟踪点击,并且您可以解析EC_AS =指向AutomationStateID GUID的该列。
还有更多内容,但这应该让你开始,让你看看如何开始这一点。
答案 1 :(得分:1)
我得到了一些结果..
只想和你核实一下是否正确?
我将从CampaignID
表中获取相应ECM的Campaigns
。
然后我会从AutomationID
表中获取CampaignID
Automation
..
之后,我将使用AutomationStates
表中的AutomationID
从Automation
表中获取相应的行。
我为每个Rows
获得的AutomationID
的数量是ECM
发送的电子邮件数量。
如果VisitorID
为NULL
,则收件人尚未打开该电子邮件。
如果VisitorID
中有值,则该电子邮件可以计为Opened
。
对于Click through
,我认为我可以使用StateID
表中的StateName
和AutomationStates
,因为我看到StateName
的一些旧数据有值Unproductive Visitors
但是当我点击新发送的ECM
时,该字段不会改变任何内容。
所以,我想知道我是否应该为Visits
使用Pages
表或PagesEvents
和Click through
表。
请告知。
感谢您的指导。