Contact Lists Facet

Format in Sitecore 8.x

In Sitecore 8.x, contact lists are associated with a contact through a tag on the contact. The name of the tag is ContactLists.

The following is an example the ContactLists tag on the contact:

"Tags" : {
    "Entries" : {
        "ContactLists" : {
            "Values" : {
                "0" : {
                    "Value" : "{25B343A3-B3DF-4626-9F05-A3923C289FCD}",
                    "DateTime" : ISODate("1917-01-02T12:00:00.000Z")
                },
                "1" : {
                    "Value" : "{06822E3E-3BB2-495D-8149-388CE8155D57}",
                    "DateTime" : ISODate("1917-01-02T12:10:00.000Z")
                }
            }
        }
    }
}

The ContactLists tag has a property Values. The Values property is a dictionary. However, it is not a standard dictionary. Ordinarily the key in a dictionary is meaningful. For example, in a dictionary of email addresses, the key might describe the kind of email address.

In the case of tags, the key indicates the position of the tag value in the dictionary. The key value has no meaning.

The value in the dictionary is the only thing with any meaning. But even the value object requires an explanation. The value, itself, is an object with properties that must be mapped.

Format in Sitecore 9

In Sitecore 9, list membership is represented using list subscriptions. The list subscriptions for a contact are stored in a contact facet.

Facet Name Addresses
Facet Type Sitecore.XConnect.Collection.Model.ListSubscriptions

The contact facet has a single property. This property is used to store the contact’s subscriptions.

Facet Property Description
Subscriptions List that contains all of the subscriptions for the contact.

Mapping List Subscription Properties

Source object Member of the dictionary located at Tags.Entries.ContactLists.Values on the contact document
Target object Sitecore.XConnect.Collection.Model.ContactListSubscription
Mapping definition MongoDB to xConnect Contact Mappings > MongoDB Contact List Tag to xConnect Contact List Subscription
Value to write to target object Property on target object
Value from source object ListDefinitionId
DateTime from source object LastModified
true IsActive