Collection model reference

Current version: 9.0

The core collection model consists of the base entities and attributes collected by xDB. The contact represents the individual for which interactions are collected. The device profile indicates a browser or otherwise user agent used when the contact interacted with a brand.

For information about using the model in the context of the xConnect Client API, see:

Core Collection Model

The calculated facets of the Contact Model

The core collection model consists of the base entities and attributes collected by xDB.

The contact represents the individual for which interactions are collected. The device profile indicates a browser or otherwise user agent used when the contact interacted with a brand.

Contact

Specifies the individual person interacting with a brand.

The contact enables 0 or more identifiers with various types. You can for instance add multiple anonymous identifiers - where one enables you to track the return visits for a contact and other enables you to track advertising via DSP.

A contact with at least one identifier with an identifier type = known is considered a known contact in our system.

Id (Guid)

Required, Searchable

Specifies the unique xDB identifier for the contact.

This field is not PII therefore it can be logged in a debugging scenario.

LastModified (datetime)

Required, Searchable

Specifies the last time this record was modified.

ContactIdentifier

Specifies an alias or identifier used to indicate the contact outside of xDB. These identifiers enable us to link a contact to a CRM or other external systems.

Unique constraints: the identifier + source must be unique across all contacts. The contact identifier and source are case-sensitive.

The following are valid across all contacts: ContactId | Identifier|Source 1 | tmi | dk_activedirectory 1 | fyi | dk_activitedirectory 1 | 920420204 | twitter 2 | 390248032| twitter

The following are invalid as you cannot have a different contact id with the same identifier and source. ContactId | Identifier | Source 1 | tmi | dk_activedirectory 1 | tmi | apple_network 2 | tmi| apple_network

IdentifierType (IdentifierType)

Required, Searchable

Indicates the type of Identifier represented by the Identifier.

Identifier (string)

PII Sensitive, Required

Specifies the identifier which links the contact to an external system. This can be a username, email address, twitter handle, or any other identifier which uniquely identifies the contact across all contacts in xDB.

The value is PII data and cannot be logged to disk.

Source (string)

Required, Searchable

Specifies the source system which holds the identifier. This is intended for customers to populate according to their usage requirements.

Interaction

Specifies a set of activities that took place during a web session, phone call or some other interaction between a contact and a brand.

Essentially the interaction defines meta-data surrounding the sequence of events specified in the EventList.

Properties like StartDateTime and EndDateTime are read-only and have their values calculated based on the first and last events, respectively.

Id (Guid)

Required

Specifies the unique identifier for the interaction.

DeviceProfileId (Nullable<Guid>)

Searchable

Specifies the profile of the device used during the session for this interaction.

CampaignId (Nullable<Guid>)

Searchable

Indicates the Id of the campaign which lead to the interaction. That is to say, if you click a link from google adwords, this value would be set to the campaign ID associated with the adwords campaign.

The meta-data, such as name or classification, for a campaign can be retrieved from the Marketing Operations API - Campaign Activity Definition Manager.

ChannelId (Guid)

Required, Searchable

Indicates the source of the interaction.

Meta-data, such as name or channel group, can be retrieved from the Marketing Operations API - Channel Taxonomy Manager.

VenueId (Nullable<Guid>)

Searchable

Specifies the physical location of the interaction.

Meta-data, such as name or group, can be retrieved from the Marketing Operations API - Venue Taxonomy Manager.

Intiator (InteractionInitiator)

Required, Searchable

Value = 0 - Indicates the contact started the interaction. Examples: when a contact visits a website or an IoT device in the home of the contact pushed the interaction data on behalf of the contact.

Value = 1 - Indicates the brand started the interaction. Examples: When a company sales rep calls the contact or an email is sent from ExM.

Value = 2 - Indicates that the initiator of the interaction is unknown.

Values other than those mentioned above should be ignored.

StartDateTime (DateTime)

Required, Searchable

Specifies when the interaction started. This field should be calculated based on the first event in the sequence when the events are ordered ascending by timestamp.

EndDateTime (DateTime)

Required, Searchable

Specifies when the interaction ended. This field is calculated based on the last event in the EventList.

EngagementValue (int)

RequiredSearchable

Specifies the total engagement value accumulated during the interaction. This is a sum of the engagement value from all events.

UserAgent (string)

Required, Searchable

Specifies the user agent used when creating or tracking this interaction.

Events (ICollection<Event>)

RequiredSearchable

Indicates all events occurring during the interaction. Order is indicated by the DateTime of the event therefore the stored order of the event is inconsequential.

LastModified (DateTime)

Required, Searchable

Specifies the most recent datetime this interaction was changed.

Note

Interactions cannot be edited therefore this date will always represent the datetime when the record was created.

Duration (Timespan)

Specifies the duration of an interaction. This is a calculated field based on StartDateTime and EndDateTime.

Event

Specifies an activity from a contact occurring during an interaction. Some examples are clicking a button on a web page, swiping right on a mobile app, completing a form, or purchasing a product.

The events are sequenced by their timestamp.

Events can also be goals or outcomes.

CustomValues (Dictionary<string, string>)

Represents any custom values stored for this event. This exists for backwards compatibility with versions 7.5-8.2. If you’re adding new data, you should consider inheriting from the event class and adding properties for your custom values.

Data (string)

Searchable

Represents any custom data stored for this event. This exists for backwards compatibility with versions 7.5-8.2. You should consider inheriting from the event class and adding properties for your custom values.

DataKey (string)

Searchable

Represents any custom data stored for this event. This exists for backwards compatibility with versions 7.5-8.2. You should consider inheriting from the event class and adding properties for your custom values.

DefinitionId (Guid)

Required, Searchable

Specifies the definition ID representing this event. See the Marketing Operations API for information on how to create these event definitions.

Duration (Timespan)

Indicates how long the event occurred.

If the value is 0 then the event was instant or the duration had no meaning.

EngagementValue (int)

Required, Searchable

Specifies the number of engagement points scored for this event. Note: this value will not always match the score value stored with the event definition. This can be set during tracking if the implementer selects to do so.

Id (Guid)

Required

Indicates the unique identifier for this event.

ParentEventId (Nullable<Guid>)

Searchable

Specifies the parent event to this event. This is useful when correlating a page view event to button click events which occurred on that page.

Text (string)

Searchable

Represents any custom text stored for this event. This exists for backwards compatibility with versions 7.5-8.2. You should consider inheriting from the event class and adding properties for your custom values.

Timestamp (DateTime)

Required, Searchable

Indicates when the event occurred. You should sort ascending by this field to determine the chronological sequence of the events.

ItemId (Guid)

DeviceProfile

The device profile specifies a mapping between a specific user agent instance and the most recent contact to use it. That is to say - the ID can be stored as a cookie on a browser then used to identify the returning contact even if they’re anonymous.

Id (Guid)

Required

Specifies the ID of the device profile. This can be stored in a cookie or local storage on a mobile device to re-identify the most recent contact when they start a new session.

LastKnownContactId (Guid)

Required

Specifies the ID of the most recent contact to use this device.

LastModified (Datetime)

Required

Specifies the last time this record was changed.

Goal

Specifies a special action executed by a contact during an interaction.

The meta-data, such as name or classification, for a goal can be retrieved from the Marketing Operations API - Goal Definition Manager.

Outcome

Specifies a significant event where money usually changes hands.

The meta-data, such as name or classification, for an outcome can be retrieved from the Marketing Operations API - Outcome Definition Manager.

CurrencyCode (string)

Required, Searchable

Specifies the type of currency in the MonetaryValue. The value should be a valid code from ISO 4217.

MonetaryValue (decimal)

Required, Searchable

Specifies the financial value of the outcome. Some examples are the total purchase amount of an e-commerce transaction or the value of a contract signed between two legal entities.

InteractionInitiator

Enumeration indicating the options for the initiator of an interaction

Contact (int)

Indicates the contact (or customer) started the interaction.

Brand (int)

Indicates the brand started the interaction. This could be an email sent or phone call made to a customer.

Unknown (int)

The initiator is unknown.

ContactIdentifierType

Specifies the options for classifying a contact identifier.

Anonymous (int)

Specifies that the associated identifier is anonymous. This is useful when you want to re-identify the contact yet s/he has not yet identified with a reachable address (i.e. email address, phone number).

Known (int)

Indicates the associated identifier is known implying you can reach the contact via phone number, email address or some other address.

PageViewEvent

Indicates when a contact viewed a specific web page or content item. This replaces the legacy Pages collection found on the Tracker in previous versions.

ItemLanguage (string)

Required

Specifies the language of the content item viewed

ItemVersion (int)

Required

Specifies the version of the content item viewed

Url (string)

Indicates the public url on the request which served the page during this event.

When this value is set by the Sitecore.Analytics.Tracker, the Url and Querystring are saved.

SitecoreRenderingDevice (SitecoreDeviceData)

Contact Model - Value Facets

The diagram shows the contact model and all default value facets:

Diagram of contact model and default value facets

ConsentInformation

ConsentRevoked (bool)

Required, Searchable

Indicates the contact has revoked their consent to be contacted by the brand in any form.

DoNotMarket (bool)

Required, Searchable

Globally unsubscribes the contact from all marketing lists. This does not include system messages such as order confirmation or “your password is about to expire”

ExecutedRightToBeForgotten (bool)

Indicates the contact has executed right to be forgotten.

Address

Indicates a physical address for the contact.

AddressLine1 (string)

PII Sensitive

Specifies the first line of the address.

City (string)

Searchable

Specifies the city of the address.

StateOrProvince (string)

Searchable

Specifies the state of province of the address.

PostalCode (string)

Searchable

Specifies the zip or postal code of the address.

CountryCode (string)

Searchable

Specifies the 2-digit ISO code from ISO 3166-alpha-2 for the country.

Using this code enables marketers to easily build segments with our conditions by using an existing standard.

AddressLine2 (string)

PII Sensitive

Specifies an optional second line of the address.

AddressLine3 (string)

PII Sensitive

Specifies an optional third line of the address.

AddressLine4 (string)

PII Sensitive

Specifies the optional fourth line of the address.

GeoCoordinate (GeoCoordinate)

PII Sensitive

Specifies the geographic coordinates for the address. The value is optional. The brand must decide if they populate and therefore use this value.

AddressList

Specifies a list of addresses.

Others (Dictionary<string,Address>)

Searchable

Specifies the list of other physical addresses for this Contact. The key defines the identifier for physical address. Examples are “work”, “home”, or “personal”

PreferredAddress (Address)

Required, Searchable

PreferredKey (string)

Required, Searchable

Specifies the key that represents the prefer address

Contact

Specifies the individual person interacting with a brand.

The contact enables 0 or more identifiers with various types. You can for instance add multiple anonymous identifiers - where one enables you to track the return visits for a contact and other enables you to track advertising via DSP.

A contact with at least one identifier with an identifier type = known is considered a known contact in our system.

Id (Guid)

Required, Searchable

Specifies the unique xDB identifier for the contact.

This field is not PII therefore it can be logged in a debugging scenario.

LastModified (datetime)

Required, Searchable

Specifies the last time this record was modified.

ContactIdentifier

Specifies an alias or identifier used to indicate the contact outside of xDB. These identifiers enable us to link a contact to a CRM or other external systems.

Unique constraints: the identifier + source must be unique across all contacts. The contact identifier and source are case-sensitive.

The following are valid across all contacts: ContactId | Identifier|Source 1 | tmi | dk_activedirectory 1 | fyi | dk_activitedirectory 1 | 920420204 | twitter 2 | 390248032| twitter

The following are invalid as you cannot have a different contact id with the same identifier and source. ContactId | Identifier | Source 1 | tmi | dk_activedirectory 1 | tmi | apple_network 2 | tmi| apple_network

IdentifierType (IdentifierType)

Required, Searchable

Indicates the type of Identifier represented by the Identifier.

Identifier (string)

PII Sensitive, Required

Specifies the identifier which links the contact to an external system. This can be a username, email address, twitter handle, or any other identifier which uniquely identifies the contact across all contacts in xDB.

The value is PII data and cannot be logged to disk.

Source (string)

Required, Searchable

Specifies the source system which holds the identifier. This is intended for customers to populate according to their usage requirements.

ContactListSubscription

ListDefinitionId (Guid)

Required, Searchable

Specifies the ID of the contact list to which the contact has subscribed. This Id is defined by the ContactListDefinitionManager found in the Marketing Operations API

Added (Datetime)

Required, Searchable

Indicates when this contact list membership was added

LastModfied (Datetime)

Required, Searchable

Indicates the last time this list membership was changed.

IsActive (bool)

Required, earchable

Indicates if this list membership is active.

SourceDefinitionId (Guid)

Searchable

Indicates the source from which the contact was added to this list.

EmailAddress

SmtpAddress (string)

PII Sensitive, Required

Specifies the email address to be used when emailing this contact.

Validated (bool)

Required

Indicates the email has been validated by the contact.

BounceCount (int)

Indicates how many times this email address received a bounce notification.

EmailAddressList

Others (Dictionary<string,EmailAddress>)

Required, Searchable

Specifies the list of email addresses for this Contact. The key defines the identifier for that email address. Examples are “work”, “home”, or “personal”

PreferredEmail (EmailAddress)

PII Sensitive, Required

Specifies the preferred email address for the contact.

PreferredKey (string)

Required, Searchable

Specifies the key of the preferred email address within the list of entries.

PersonalInformation

Birthdate (Nullable<Datetime>)

PII Sensitive

Specifies the birth date for the contact.

FirstName (string)

PII Sensitive

Gender (string)

Searchable

Specifies the contact’s gender.

JobTitle (string)

Searchable

MiddleName (string)

PII Sensitive

Nickname (string)

PII Sensitive

PreferredLanguage (string)

Searchable

Indicates the language this contact prefers

Suffix (string)

Searchable

Can include

Surname (string)

PII Sensitive

Title (string)

Searchable

PhoneNumber

CountryCode (string)

Required, Searchable

Indicates the country code.

Number (string)

Required

Indicates the phone number excluding the country code and extension.

Extension (string)

PII Sensitive

Indicates the extension.

PhoneNumberList

Others (Dictionary<string,PhoneNumber>)

Searchable

Specifies a list of phone numbers stored for this contact. The key defines the identifier for Phone Number. Examples are “work”, “home”, or “mobile”

PreferredKey (string)

Required, Searchable

Specifies the key of the preferred phone number within the list of phone numbers

PreferredPhoneNumber (PhoneNumber)

Avatar

Indicates a thumbnail photo of the contact. Note, loading this with a large payload can slow the load time of contact data when requesting this facet. This is primarily designed to be a standard sized thumbnail of the contact.

Picture (byte[])

PII Sensitive, Required

MimeType (string)

Required

ListSubscriptions

Indicates all contact lists to which this contact belongs

Subscriptions (List<ContactListSubscription>)

Required, Searchable

AutomationPlanResult

AutomationPlanDefinitionId (Guid)

Indicates the definition ID of the plan that was exited

ExitDateTime (datetime)

Specifies the datetime when the contact exited.

ActivityId (Guid)

AutomationPlanExit

Contains a collection describing every time a contact exited a given automation plan.

Results (List<AutomationPlanResult>)

Searchable

Classification

ClassificationLevel (int)

Searchable

OverrideClassificationLevel (int)

Searchable

An explicitly set classification which overrides the ClassificationLevel property set by the system. For instance, Robot detection will set the classification level based on its detection algorithm, however, the override classification can be set if the contact was classified incorrectly.

AutomationPlanEnrollmentCache

Specifies a cache of the of the automation plans for this contact. This is only to be updated during automation plan processing and used for personalization.

The context key is the same one which specifies an instance of the plan and enables a developer to look up additional details for the plan instance from the MarketingAutomationClient.

ActivityEnrollments (List<AutomationPlanActivityEnrollmentCacheEntry>)

AutomationPlanActivityEnrollmentCacheEntry

ActivityId (Guid)

AutomationPlanDefinitionId (Guid)

Specifies the automation plan definition ID from the marketing operations API

ContextKey (string)

CustomValues (Dictionary<string,string>)

The custom values for the given Automation Plan.

PlanEntryDate (datetime)

Gets or sets the date and time when the contact first entered the PlanId.

ActivityEntryDate (datetime)

Gets or sets the date and time when the contact entered the ActivityId.

GeoCoordinate

Latitude (double)

Longitude (double)

Contact Model - Calculated Facets

Model diagram

ContactBehaviorProfile

Scores (Dictionary<Guid, ProfileScore>)

Set of ProfileScores collected for this contact. The key is the Profile Definition Id found in the Marketing Operations API.

SourceInteractionStartDateTime (DateTime)

Indicates the start date time of the interaction on which the most recent behavioral profile was calculated. That is to say when an interaction is collected, this value is compared to the incoming interaction’s start date time. If this value is greater, the contact behavior profile is not re-calculated.

EngagementMeasures

TotalInteractionCount (int)

Required, Searchable

Indicates the total interaction count for this contact.

Replaces IContactSystemInfo.VisitCount.

TotalValue (int)

Required, Searchable

Replaces IContactSystemInfo.Value.

MostRecentInteractionStartDateTime (DateTime)

Indicates the start date time of most recent interaction from the Contact.

MostRecentInteractionDuration (Timespan)

Indicates the most recent interaction’s duration.

TotalInteractionDuration (Timespan)

Indicates the total duration of all interactions for this Contact.

AverageInteractionDuration (Timespan)

Average interaction time for this Contact across all interactions.

KeyBehaviorCache

Campaigns (List<KeyBehaviorCacheEntry>)

Channels (List<KeyBehaviorCacheEntry>)

Goals (List<KeyBehaviorCacheEntry>)

Outcomes (List<KeyBehaviorCacheEntry>)

PageEvents (List<KeyBehaviorCacheEntry>)

Venues (List<KeyBehaviorCacheEntry>)

CustomValues (List<KeyBehaviorCacheEntry>)

Indicates custom values to be stored in the key behavior cache. It is not recommend new customers use this but rather use a calculated facet.

Contact

Specifies the individual person interacting with a brand.

The contact enables 0 or more identifiers with various types. You can for instance add multiple anonymous identifiers - where one enables you to track the return visits for a contact and other enables you to track advertising via DSP

A contact with at least one identifier with an identifier type = known is considered a known contact in our system.

Id (Guid)

Required, Searchable

Specifies the unique xDB identifier for the contact.

This field is not PII therefore it can be logged in a debugging scenario.

LastModified (datetime)

Required, Searchable

Specifies the last time this record was modified.

KeyBehaviorCacheEntry

Specifies a single entry in the KeyBehaviorCache

Data (string)

Specifies additional information for this cache entry. This value exists to enable a developer to add any sort of contextual information to aid in usage of the key behavior cache. For instance - if the cache entry represents a search, this information could the text being sought (i.e. user searched for “aston martin”)

DateTime (DateTime)

InteractionId (Guid)

Specifies the ID of the interaction which populated this cache entry.

DefinitionId (Guid)

Specifies the marketing operations definition ID for the entry.

InteractionStartDateTime (DateTime)

Specifies the start date time for the interaction which populated this cache entry.

ProfileScore

Specifies behavioral profile data scored during a session.

MatchedPatternId (Nullable<Guid>)

Indicates the ID of the pattern card matched for a profile. This match is done during tracking or from an external system. xDB will only store the matched ID for use during processing and reporting.

ProfileDefinitionId (Guid)

Specifies the ID of the profile definition defined in the Marketing Operations API.

Score (double)

Specifies the total score of all values for this profile.

ScoreCount (int)

Specifies the number of times the profile was scored during a session

Values (Dictionary<Guid, double>)

Specifies the scored values for Profile Keys for a give Profile. The key is the profile key ID and the value is the score.

Interaction Model - Web Visit

Diagram Interaction Model

SitecoreDeviceData

Id (Guid)

Specifies the ID of the Sitecore item that describes the device.

Name (string)

Specifies the name of the device.

BrowserData

BrowserVersion (string)

Specifies the browser version.

BrowserMajorName (string)

Specifies the browser major name.

BrowserMinorName (string)

Specifies the browser minor name.

Interaction

Specifies a set of activities that took place during a web session, phone call or some other interaction between a contact and a brand.

Essentially the interaction defines meta-data surrounding the sequence of events specified in the EventList.

Properties like StartDateTime and EndDateTime are read-only and have their values calculated based on the first and last events, respectively.

Id (Guid)

Required

Specifies the unique identifier for the interaction.

DeviceProfileId (Nullable<Guid>)

Searchable

Specifies the profile of the device used during the session for this interaction.

CampaignId (Nullable<Guid>)

Searchable

Indicates the ID of the campaign which lead to the interaction. That is to say, if you click a link from google adwords, this value would be set to the campaign ID associated with the adwords campaign.

The meta-data, such as name or classification, for a campaign can be retrieved from the Marketing Operations API - Campaign Activity Definition Manager.

ChannelId (Guid)

Required, Searchable

Indicates the source of the interaction.

Meta-data, such as name or channel group, can be retrieved from the Marketing Operations API - Channel Taxonomy Manager.

VenueId (Nullable<Guid>)

Searchable

Specifies the physical location of the interaction.

Meta-data, such as name or group, can be retrieved from the Marketing Operations API - Venue Taxonomy Manager.

Intiator (InteractionInitiator)

Required, Searchable

Value = 1 - Indicates the contact started the interaction. Examples: when a contact visits a website or an IoT device in the home of the contact pushed the interaction data on behalf of the contact.

Value = 2 - Indicates the brand started the interaction. Examples: When a company sales rep calls the contact or an email is sent from EXM.

Values other than those mentioned above should be ignored.

StartDateTime (DateTime)

Required, Searchable

Specifies when the interaction started. This field should be calculated based on the first event in the sequence when the events are ordered ascending by timestamp.

EndDateTime (DateTime)

Required, Searchable

Specifies when the interaction ended. This field is calculated based on the last event in the EventList.

EngagementValue (int)

Required, Searchable

Specifies the total engagement value accumulated during the interaction. This is a sum of the engagement value from all events.

UserAgent (string)

Required, Searchable

Specifies the user agent used when creating or tracking this interaction.

Events (ICollection<Event>)

Required, Searchable

Indicates all events occurring during the interaction. Order is indicated by the DateTime of the event therefore the stored order of the event is inconsequential.

LastModified (DateTime)

Required, Searchable

Specifies the most recent datetime this interaction was changed.

Note

Interactions cannot be edited. Therefore, this date will always represent the datetime when the record was created.

Duration (Timespan)

Specifies the duration of an interaction. This is a calculated field based on StartDateTime and EndDateTime.

IpInfo

Specifies metadata describing the network entry point of the contact.

Derived from GeoIP data.

This was formally WhoisInformation from GeoIP.

This is PII data. Therefore you cannot log it to disk.

AreaCode (string)

Searchable

BusinessName (string)

Searchable

City (string)

Searchable

Country (string)

Searchable

Dns (string)

Searchable

IpAddress (string)

PII Sensitive, Required

Isp (string)

Searchable

Latitude (Nullable<double>)

PII Sensitive

Longitude (Nullable<double>)

PII Sensitive

MetroCode (string)

Searchable

PostalCode (string)

Searchable

Region (string)

Searchable

Url (string)

Searchable

LocationId (Nullable<Guid>)

Indicates the derived location based on the IpInformation for this interaction

WebVisit

Information collected at the time we collect the interaction.

Language (string)

Searchable

Set to the site’s context language.

Brands should set this value during a web session if the contact chooses a different language.

OperatingSystem (OperatingSystemData)

Searchable

Referrer (string)

Searchable

Note

It's possible that there could be PII Sensitive data in this field.

ReferringSite (string)

Searchable

(May become obsolete in future release.)

Screen (ScreenData)

SearchKeywords (string)

Searchable

Species the search keywords incoming from a search engine or other site at the start of a web session.

SiteName (string)

Searchable

Browser (BrowserData)

Searchable

IsSelfReferrer (bool)

Indicates if the web visit was referred from the same website serving the visit.

ScreenData

ScreenHeight (int)

Specifies the screen height.

ScreenWidth (int)

Specifies the screen width.

OperatingSystemData

MajorVersion (string)

MinorVersion (string)

Name (string)

ProfileScore

Specifies behavioral profile data scored during a session.

MatchedPatternId (Nullable<Guid>)

Indicates the ID of the pattern card matched for a profile. This match is done during tracking or from an external system. xDB will only store the matched ID for use during processing and reporting.

ProfileDefinitionId (Guid)

Specifies the ID of the profile definition defined in the Marketing Operations API.

Score (double)

Specifies the total score of all values for this profile.

ScoreCount (int)

Specifies the number of times the profile was scored during a session.

Values (Dictionary<Guid,double>)

Specifies the scored values for Profile Keys for a given profile. The key is the profile key ID and the value is the score.

Event

Specifies an activity from a contact occurring during an interaction. Some examples are clicking a button on a web page, swiping right on a mobile app, completing a form, or purchasing a product.

The events are sequenced by their timestamp.

Events can also be goals or outcomes.

CustomValues (Dictionary<string,string>)

Represents any custom values stored for this event. This exists for backwards compatibility with versions 7.5-8.2. If you’re adding new data, you should consider inheriting from the event class and adding properties for your custom values.

Data (string)

Searchable

Represents any custom data stored for this event. This exists for backwards compatibility with versions 7.5-8.2. You should consider inheriting from the event class and adding properties for your custom values.

DataKey (string)

Searchable

Represents any custom data stored for this event. This exists for backwards compatibility with versions 7.5-8.2. You should consider inheriting from the event class and adding properties for your custom values.

DefinitionId (Guid)

Required, Searchable

Specifies the definition ID representing this event. See the Marketing Operations API for how to create these event definitions.

Duration (Timespan)

Indicates how long the event occurred.

If the value is 0 then the event was instant or the duration had no meaning.

EngagementValue (int)

Required, Searchable

Specifies the number of engagement points scored for this event. Note: this value will not always match the score value stored with the event definition. This can be set during tracking if the implementer selects to do so.

Id (Guid)

Required

Indicates the unique identifier for this event.

ParentEventId (Nullable<Guid>)

Searchable

Specifies the parent event to this event. This is useful when correlating a page view event to button click events which occurred on that page.

Text (string)

Searchable

Represents any custom text stored for this event. This exists for backwards compatibility with versions 7.5-8.2. You should consider inheriting from the event class and adding properties for your custom values.

Timestamp (DateTime)

Required, Searchable

Indicates when the event occurred. You should sort ascending by this field to determine the chronological sequence of the events.

ItemId (Guid)

PageViewEvent

Indicates when a contact viewed a specific web page or content item. This replaces the legacy Pages collection found on the Tracker in previous versions.

ItemLanguage (string)

Required

Specifies the language of the content item viewed

ItemVersion (int)

Required

Specifies the version of the content item viewed

Url (string)

Indicates the public url on the request which served the page during this event.

When this value is set by the Sitecore.Analytics.Tracker, the Url and Querystring are saved.

SitecoreRenderingDevice (SitecoreDeviceData)

Outcome

Specifies a significant event where money usually changes hands.

The metadata, such as name or classification, for an outcome can be retrieved from the Marketing Operations API - Outcome Definition Manager.

CurrencyCode (string)

Required, Searchable

Specifies the type of currency in the MonetaryValue. The value should be a valid code from ISO 4217.

MonetaryValue (decimal)

Required, Searchable

Specifies the financial value of the outcome. Some examples are the total purchase amount of an e-commerce transaction or the value of a contract signed between two legal entities.

Goal

Specifies a special action executed by a contact during an interaction.

The meta-data, such as name or classification, for a goal can be retrieved from the Marketing Operations API - Goal Definition Manager.

Contact

Specifies the individual person interacting with a brand.

The contact enables 0 or more identifiers with various types. You can for instance add multiple anonymous identifiers - where one enables you to track the return visits for a contact and other enables you to track advertising via DSP

A contact with at least one identifier with an identifier type = known is considered a known contact in our system.

Id (Guid)

Required, Searchable

Specifies the unique xDB identifier for the contact.

This field is not PII therefore it can be logged in a debugging scenario.

LastModified (datetime)

Required, Searchable

Specifies the last time this record was modified.

UserAgentInfo

Defines properties the user agent.

Note

It is intentional this is a minimal set of properties to minimize disk space usage while supporting segmentation. If you need additional properties, you can query device detection based on the user agent.

DeviceType (string)

Specifies the type of device (for example: media player, mobile phone, tablet).

DeviceVendor (string)

Species the device vendor for the given useragent.

DeviceVendorHardwareModel (string)

Specifies the full model name from the device vendor.

CanSupportTouchScreen (bool)

Specifies if the device supports touch screen.

ProfileScores

Scores (Dictionary<Guid,ProfileScore>)

Required, Searchable

LocaleInfo

Specifies a set of properties specific to the locale of the contact when the interaction occurred.

GeoCoordinate (GeoCoordinate)

PII Sensitive

Specifies the GeoCoordinates at the start of the interaction.

TimezoneOffset (Timespan)

Searchable

Number of minutes the contact’s time-zone is offset from UTC. This can be used to calculate the local time the contact performed an event.

GeoCoordinate

Latitude (double)

Longitude (double)

CampaignEvent

CampaignDefinitionId (Guid)

Indicates the campaign that was triggered.

DownloadEvent

ItemId (Guid)

Indicates the content item ID that was downloaded.

SearchEvent

Keywords (string)

Specifies the keywords used for the search.

Do you have some feedback for us?

If you have suggestions for improving this article,