Add contact image to experience profile in Sitecore 9

Adding contact image in Sitecore 9 is pretty straight forward, you might come across the requirement where you have to update the contact profile image in xProfile based on contact social profile or custom image URL.


Below code can be used to set the profile image using Avatar Facet.

var trackerIdentifier = new IdentifiedContactReference("xDB.Tracker", Sitecore.Analytics.Tracker.Current.Contact.ContactId.ToString("N"));
using (XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
var contact = client.Get<Sitecore.XConnect.Contact>(trackerIdentifier, new Sitecore.XConnect.ContactExpandOptions());
if (contact != null)
    var profileImageUrl = "profile URL comes here";
    var objWebClient = new System.Net.WebClient();
    byte[] profileImageBytes = objWebClient.DownloadData(profileImageUrl);
    string mimeType= "image/jpeg";
    client.SetFacet<Avatar>(contact, Avatar.DefaultFacetKey, new Avatar(mimeType, profileImageBytes)
        MimeType= mimeType,
        Picture= profileImageBytes

Hope this helps!

Happy learning 🙂



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s