Extend the profile data model
Feature availability is part of a phased rollout. Your organization may not see this functionality yet. It will become available when your environment is included in the rollout.
Profile extensions let you extend the standard SitecoreAI profile schema with your own custom data model. This is useful when you want to work with attributes that are specific to your business. Profile extensions can be defined as simple values, such as strings or numbers, or more complex values like arrays of objects.
For example, you might want to segment customers based on a loyalty program that includes Bronze, Silver, and Gold membership tiers. Because loyalty status is not part of the standard profile schema, you can create a profile extension to store that information. Loyalty tier values can then be imported into customer profiles and used when creating audiences. You can target Gold members with exclusive promotions, personalize website content based on membership status, or create campaigns for customers at a specific tier.
Creating a profile extension does not automatically populate values for existing profiles. Profile values are added by importing profile data.
Create a schema for profile extensions
To create a profile extension:
- In the navigation menu, click Optimization.
- In the left sidebar, select Profile schema.
- Click extensions.
- Click Add field.
- In the Key field, enter a unique key for this extension.
- Select a data type from the Type drop-down list.
- Optionally, enter a Description, Pattern, and Examples for this extension.
- If this extension is mandatory, turn on the Required switch.
- Click Save.
- Click Publish Schema.
After publishing the schema, profile extensions are available as profile attributes when building audience conditions. Existing profiles do not automatically receive a value for the new extension.
Populate profile extension values
After you have created a profile extension schema in SitecoreAI, you can populate or update profile extension values by importing a batch file.
Use the extensions object to include custom profile data.
For example, an online retailer might create a profile extension called orders to store customer purchase history. After publishing the profile schema, the retailer imports order data into customer profiles. This data can then be used when building audiences and personalizing experiences.
The following example shows a customer profile for Alice. In addition to loyalty membership information, the profile includes an orders extension that stores a history of purchases as an array of objects:
After the profile data is imported:
- The
tierextension indicates that Alice is an active Gold-tier customer with a 10% discount. - The
ordersextension contains multiple order records, stored as an array of objects. - The retailer can use the imported values when creating audiences. For example, they might create audiences for active Gold-tier customers, customers with orders above a certain value, or customers with orders that are still being shipped.
- Those audiences can then be used to personalize experiences, such as displaying member-exclusive offers, promoting loyalty rewards, recommending products based on previous purchases, or showing order-status-specific messaging.
Profile extension values should match the data type defined for that extension.
Edit a profile schema extension
You can modify a profile schema extension after it has been created.
To edit a profile extension:
- In the navigation menu, click Performance > Settings > Profile schema, and then click Extensions.
- Click the extension you want to edit.
- Update that extension's values.
- Click Save.
- Click Publish Schema.
The extension key can't be changed after creation because it is used as the unique identifier for stored profile data and audience criteria.
Changing an extension's data type or removing enum values can affect existing data and audience definitions.
Delete a profile schema extension
If a profile schema extension is no longer needed, you can remove it from the profile schema.
To delete a profile extension:
- In the navigation menu, click Performance > Settings > Profile schema, and then click Extensions.
- On the extension you want to delete, click Options .
- Click Delete.
- Click Publish Schema.
After deletion, the extension is no longer available for new profile data or audience criteria.
Deleting a profile extension can affect audiences and personalization experiences that reference that attribute.