体验数据库(xDB)是Sitecore平台的关键元素,特别是当您希望将解决方案提升到简单的内容管理要求之外时。它用于跟踪您的用户(即联系人,访客,客户)与您网站的互动方式。营销人员可以使用此数据来了解客户行为,开发和优化广告系列,通过购买流程跟踪用户并衡量网站的成功与否。

在您的Sitecore仪表板上,您可能已经看过体验配置文件磁贴。

点击此按钮后,系统会显示您网站的访问者列表。如果您对网站进行过多次访问,则可能会包含大量行。不幸的是,他们可能都是名字 “匿名”和电子邮件 “未知”。我们该如何解决这个问题?我们为什么要这样做?

我们为什么要识别用户?

识别用户有许多好处:

  • 为Sitecore体验配置文件和体验分析报告提供有用的上下文 - 当个人客户具有高价值时(例如在B2B方案中),这一点尤其重要。
  • 如果我们的网站有经过身份验证的部分(登录),那么它会将这些用户带到Sitecore后端报告中,就像营销用户所期望的那样。
  • 提供跨不同浏览器会话,浏览器,设备(计算机,电话等)甚至渠道(在线,离线等)的客户的单一视图。
  • 它使Sitecore后端看起来好多了!

Sitecore体验配置文件与您的身份验证/成员资格/用户存储不同。通过xDB和Sitecore联系人,我们可以以相同的方式跟踪和识别经过身份验证的用户和未经身份验证的用户。

我们如何识别用户?

这可以通过多种方式完成,包括Web Forms for Marketers(WFFM)提交或代码。

无论哪种方式,它都将使用以下Sitecore API:

// identify the user
Sitecore.Analytics.Tracker.Current.Session.Identify(identifier)

这里标识符可以是用户唯一的任何字符串。您通常会使用以下之一:

  • 用户名/登录/用户ID - 如果用户已通过身份验证
  • 电子邮件地址 - 如果用户通过订阅注册或联系表单等交互提供了电子邮件

在我们使用上述代码识别用户之后,期望体验资料相应地更新是合理的。不幸的是情况并非如此!它现在只是说“未知”而不是“匿名”。

这不是营销人员在“识别”客户时所期望的。用户已被识别为Sitecore,但Sitecore不会让Sitecore后端用户知道这一点。要更新此列表中显示的名称和电子邮件,我们需要更多代码:

// get the contact
var contact = Sitecore.Analytics.Tracker.Current.Session.Contact; // get the personal facet
var contactPersonalInfo = contact.GetFacet<Sitecore.Analytics.Model.Entities.IContactPersonalInfo>("Personal"); // set the contact's name
contactPersonalInfo.FirstName = "Brad";
contactPersonalInfo.Surname = "Curtis"; // get the email facet
var contactEmail = contact.GetFacet<Sitecore.Analytics.Model.Entities.IContactEmailAddresses>("Emails"); // Create an email if not already present.
// This can be named anything, but must be the same as "Preferred" if you want
// this email to show in the Experience Profiles backend.
if (!contactEmail.Entries.Contains("Home"))
{
contactEmail.Entries.Create("Home");
} // set the email
var email = contactEmail.Entries["Home"];
email.SmtpAddress = "myemail@**.com";
contactEmail.Preferred = "Home";

在这里,我们设置了一些开箱即用的Sitecore联系方面。这里需要注意的一件事是Sitecore联系人可以拥有多个关联的电子邮件地址。在此示例中,我们创建了一个标有“Home”的电子邮件。要在体验资料访问者列表中显示的电子邮件地址,我们必须将首选电子邮件设置为此相同标签。

现在我们得到了我们想要的! 

我创建了一个测试页面,以便您可以在自己的网站上使用此代码。只需将其放入Sitecore网站目录即可。

Sitecore xDB基础知识 - 识别用户,联系人,访客,客户的更多相关文章

  1. Linux基础知识之用户和用户组以及 Linux 权限管理

    已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看 ...

  2. Sitecore个性化 - 基础知识

    许多组织选择Sitecore作为其高级个性化功能的网站平台.Sitecore个性化需要什么以及它能为您的品牌提供什么? 今天, 对于希望提供更好的客户体验的组织来说,个性化不仅仅是一个很好的选择 - ...

  3. CSS3 基础知识[转载minsong的博客]

    CSS3 基础知识1.边框    1.1 圆角  border-radius:5px 0 0 5px;    1.2 阴影  box-shadow:2px 3px 4px 5px rgba(0,0,0 ...

  4. sitecore系列教程之如何以编程方式将访客数据关联到联系人卡片

      在我之前关于Sitecore体验资料的帖子中,我们看到了我们如何了解访问者的一切,包括访问他们在访问期间触发的事件.在这篇博客文章中,我将引导您完成识别匿名用户并将用户访问与联系人记录联系起来的过 ...

  5. 守护线程在logback中的使用 - 论基础知识的重要性

    守护线程在logback中的使用 先说问题,在java应用中,logback的异步Appender是怎么在主线程结束后,停下来的? 复盘 我在一个logback的测试用例中,写了这样的代码和logba ...

  6. OLAP和OLTP的区别(基础知识) 【转】

    联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则.OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 ( ...

  7. 7.Flink实时项目之独立访客开发

    1.架构说明 在上6节当中,我们已经完成了从ods层到dwd层的转换,包括日志数据和业务数据,下面我们开始做dwm层的任务. DWM 层主要服务 DWS,因为部分需求直接从 DWD 层到DWS 层中间 ...

  8. .net core 和 WPF 开发升讯威在线客服系统:使用本地IP数据库实现访客来源快速定位,支持国外

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 免费使用 & 私有化部署:https://kf.shengxun ...

  9. 【RL-TCPnet网络教程】第16章 UDP用户数据报协议基础知识

    第16章      UDP用户数据报协议基础知识 本章节为大家讲解UDP(User Datagram Protocol,用户数据报协议),需要大家对UDP有个基础的认识,方便后面章节UDP实战操作. ...

随机推荐

  1. LeetCode 463 Island Perimeter 解题报告

    题目要求 You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 rep ...

  2. 预备作业3:Linux安装及命令入门

    linux系统的安装 1.虚拟机: 首先是VirtualBox5.2.7的安装,这个按照老师给的基于VirtualBox安装Ubuntu图文教程一步步来很快就能安好,也没有遇到无法选择64-bit的问 ...

  3. MUI框架a链接href跳转失效解决方法,解决MUI页面不会滚动的方法

    //解决 所有a标签 导航不能跳转页面 mui('body').on('tap','a',function(){document.location.href=this.href;}); //解决MUI ...

  4. PostgreSQL 自动输入密码

    在 Shell 命令行中,使用 postgresql-client 连接 PostgreSQL 数据库时,每次都要输入密码.如果要写 Shell Script,做一些类似于备份的自动化管理工作,每次都 ...

  5. FPGA设计中的异步复位、同步释放思想

    1.一个简单的异步复位例子: module test( input clk, input rst_n, input data_in, output reg out ); always@(posedge ...

  6. vue启动调试、启动编译的批处理

    Rundev.bat cd %~dp0npm run dev RunBuild.bat cd %~dp0npm run build

  7. pip安装提示pkg_resources.DistributionNotFound: pip==18.1

    在用pip install安装依赖的时候提示pkg_resources.DistributionNotFound: pip==18.1,更新一下pip就可以了 easy_install pip==18 ...

  8. mysql常用反斜杠命令

    mysql常用反斜杠命令 https://dev.mysql.com/doc/refman/5.7/en/mysql-commands.html https://dev.mysql.com/doc/r ...

  9. 下载ez_setup

    1.下载ez_setup链接:https://pypi.org/project/ez_setup/#files

  10. 【剑指offer】字符串的排列

    一.题目: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 二.思路: ...