在我之前關於Sitecore體驗資料的帖子中,我們看到了我們如何了解訪問者的一切,包括訪問他們在訪問期間觸發的事件。在這篇博客文章中,我將引導您完成識別匿名用戶並將用戶訪問與聯系人記錄聯系起來的過程,這將使我們能夠查看聯系人的訪問歷史並了解有關我們聯系人的更多信息。
Sitecore的API提供了各種方法來識別訪問者並將有關訪問者的各種詳細信息與聯系人記錄聯系起來。
如何識別匿名訪客?
這是識別匿名訪客過程中的主要要求之一,以下是我們可以嘗試通過各種用戶操作捕獲有關訪問者的信息的一些方法,其中一些列在下面
- 登錄網站(注冊,使用社交媒體,如Facebook,Twitter等)
- 在網站上提交表格(聯系我們,反饋等)
- 使用他們的電子郵件地址訂閱時事通訊,文章,白皮書
以上所有選項都需要用戶至少向我們提供他們的電子郵件地址,從那里我們可以將唯一的電子郵件地址綁定到訪問者。
Sitecore開箱即用,為我們提供了許多方面來存儲有關聯系人的其他信息。這些數據可以幫助我們填寫Sitecore體驗資料。
這些方面在此配置{root} \ Website \ App_Config \ Include \ Sitecore.Analytics.Model.config
[sourcecode language =“xml”]
<facets>
<facet name =“Personal”contract =“Sitecore.Analytics.Model.Entities.IContactPersonalInfo,Sitecore.Analytics.Model”/>
<facet name =“Addresses”contract =“Sitecore .Analytics.Model.Entities.IContactAddresses,Sitecore.Analytics.Model“/>
<facet name =”Emails“contract =”Sitecore.Analytics.Model.Entities.IContactEmailAddresses,Sitecore.Analytics.Model“/>
<facet name =”電話號碼“contract =”Sitecore.Analytics.Model.Entities.IContactPhoneNumbers,Sitecore.Analytics.Model“/>
<facet name =”Picture“contract =”Sitecore.Analytics.Model.Entities。IContactPicture,Sitecore.Analytics.Model“/>
</ facets>
[/ sourcecode]
將訪客的電子郵件地址存儲到聯系人記錄中
我們將使用電子郵件方面 將當前訪客的電子郵件地址存儲到當前聯系人記錄中。在電子郵件方面,您可以通過為每個電子郵件地址提供密鑰來指定任意數量的電子郵件地址,如下所示,我提供了名為Work Email的 密鑰用於存儲訪問者工作電子郵件地址。您還可以將特定電子郵件地址關聯為首選 電子郵件地址,然后將其用於使用電子郵件地址識別聯系人。
Sitecore允許您使用電子郵件地址搜索體驗資料中的聯系人
[sourcecode language =“csharp”]
if(Sitecore.Analytics.Tracker.Current.Contact!= null)
{
var emailFacet = Tracker.Current.Contact.GetFacet <IContactEmailAddresses>(“Emails”);
//檢查聯系人
是否已存在工作電子郵件地址if(!emailFacet.Entries.Contains(“工作電子郵件”))
{
IEmailAddress email = emailFacet.Entries.Create(“工作電子郵件”);
email.SmtpAddress =“訪客的電子郵件地址”;
emailFacet.Preferred =“工作電子郵件”;
}
}
[/源代碼]
將訪客的個人信息存儲到聯系人記錄中
我們將使用Personal facet 將當前訪問者的個人信息存儲到當前聯系人記錄中.Sitecore允許您使用任何名稱屬性(如FirstName,LastName,Surname)搜索體驗配置文件中的聯系人。
[sourcecode language =“csharp”]
if(Sitecore.Analytics.Tracker.Current.Contact!= null)
{
var personalFacet = Tracker.Current.Contact.GetFacet <IContactPersonalInfo>(“Personal”);
personalFacet.Title =“Name_Title”;
personalFacet.FirstName =“First_Name”;
personalFacet.MiddleName =“Middle_Name”;
personalFacet.Surname =“Last_Name”;
personalFacet.Gender =“性別”;
personalFacet.JobTitle =“Job_Title”;
personalFacet.BirthDate = new DateTime(1983,01,01);
}
[/源代碼]
將訪客的電話號碼存儲到聯系人記錄中
我們將使用電話號碼方面 將當前訪客的電話號碼存儲到當前的聯系人記錄中。在電話號碼 方面,您可以通過為每個電話號碼提供密鑰來指定任意數量的電話號碼,如下所示我有提供稱為手機 的密鑰來存儲訪客的手機號碼。您還可以將特定號碼關聯為首選 電話號碼。
[sourcecode language =“csharp”]
if(Sitecore.Analytics.Tracker.Current.Contact!= null)
{
var phoneFacet = Tracker.Current.Contact.GetFacet <IContactPhoneNumbers>(“Phone Numbers”);
if(!phoneFacet.Entries.Contains(“Cell Phone”))
{
IPhoneNumber cellPhone = phoneFacet.Entries.Create(“Cell Phone”);
cellPhone.CountryCode =“001”;
cellPhone.Number =“612-000-0000”;
cellPhone.Extension =“8455”;
phoneFacet.Preferred =“手機”;
}
}
[/源碼]
將訪客的圖像/圖片存儲到聯系人記錄中
我們將使用Picture facet 將當前訪客的圖片存儲到當前的聯系人記錄中,
[sourcecode language =“csharp”]
if(Sitecore.Analytics.Tracker.Current.Contact!= null)
{
MediaItem mediaItem = Sitecore.Context.Database.GetItem(“媒體項目的指南”);
var stream = mediaItem.GetMediaStream();
var memoryStream = new MemoryStream();
if(stream!= null)stream.CopyTo(memoryStream);
var pictureFacet = Tracker.Current.Contact.GetFacet <IContactPicture>(“Picture”);
pictureFacet.Picture = memoryStream.ToArray();
pictureFacet.MimeType = mediaItem.MimeType;
}
[/源代碼]
如何識別已知訪客?
一旦我們使用上述方法存儲了有關訪問者的信息,Sitecore就允許我們使用Sitecore.Analytics.Tracker.Current.Session.Identify方法識別已知訪問者。此方法接受一個字符串變量,該變量是訪問者的電子郵件地址。
[sourcecode language =“csharp”]
var identifiers = Sitecore.Analytics.Tracker.Current.Contact.Identifiers;
if(identifiers.IdentificationLevel == ContactIdentificationLevel.Anonymous)
{
Sitecore.Analytics.Tracker.Current.Session.Identify(“訪客的電子郵件地址”);
}
[/ sourcecode]
摘要
使用Sitecore的新API,開發人員現在可以更輕松地關聯訪問者的各種信息並將其與聯系人卡片聯系起來,這將極大地幫助營銷人員更好地了解訪問者。一旦我們能夠使用電子郵件地址關聯訪問者,我們還可以使用來自CRM系統(如Salesforce或Dynamics)的信息更新記錄。