Moh*_*ari 5 sitecore sitecore-xdb sitecore8.1
我已阅读 https://sitecore-community.github.io/docs/xDB/the-xdb-contact/和https://doc.sitecore.net/sitecore_experience_platform/81/setting_up__maintaining/xdb/contacts/contact_tracking.
我想知道Sitecore联系人跟踪是否适用于我的客户.
我创建了一个简单的新闻订阅功能(没有WFFM表单提交).一旦用户提交了他的信息以及个人信息和电子邮件,我就会发送一封确认电子邮件链接.确认电子邮件地址后,我正在通过代码创建联系人.感谢Brian!
我的应用程序会话状态模式是InProc
.
我的问题是,如果用户在订阅后通过新会话与网站进行交互(提交电子邮件后):
Sitecore会将用户识别为联系人(并合并现有的匿名联系人),还是每次都会创建新的匿名联系人?
我在我的解决方案中没有使用以下任何服务:
在我看来,在您的情况下完全没有必要手动创建联系人.
据我的帖子了解,这是发生的事情:
因此,从Sitecore的角度来看,xDB中有两个彼此不相关的单独联系人.
现在,问你的问题:
Sitecore会将用户识别为联系人(并合并现有的匿名联系人),还是每次都会创建新的匿名联系人?
如果用户从同一浏览器访问,Sitecore将根据cookie 将其识别为原始联系人(ID:xxx).在这种情况下,Sitecore不会创建新联系人.
如果用户正在从其他浏览器或设备访问,则不会将其识别为任何现有联系人,并且将创建新的匿名联系人(ID:zzz).
如您所见,Sitecore无法自动使用您创建的联系人(ID:yyy).
使Sitecore将用户识别为特定联系人的唯一方法是使用标识API.简而言之,你能做的就是:
Sitecore.Analytics.Tracker.Current.Session.Identify(identifier);
Run Code Online (Sandbox Code Playgroud)
这是我建议你做的事情:
Identify()
并传递用户的电子邮件地址identifier
.这会将用户的电子邮件地址设置为当前联系人的标识符.Identify()
再次调用.这将确保即使用户来自其他设备,也会在其会话中使用相同的xDB联系人.您需要将相同的电子邮件地址传递给Identify()
,因此请确保您可以访问它 - 例如,您可以将其作为查询字符串参数包含在电子邮件确认链接中.Sitecore.Analytics.Tracker.Current.Contact
并填充当前联系人的方面以及您收集的有关用户的信息.Identify()
在成功登录尝试时再次调用- 这是为了确保同一联系人用于同一用户的所有会话. 归档时间: |
|
查看次数: |
1110 次 |
最近记录: |