The User Data Enrichment extension syncs 2 types of data for use in audiences and targeting:
- User profile data: User attributes like age group, loyalty status, or location, synced via API (as described herein) or nightly CSV file upload.
- External events: User actions outside of Dynamic Yield, like offline purchases or customer support calls, synced via API.
With the User Profile Data API, you can use data collected outside of Dynamic Yield for segmentation and targeting in real time and with reduced load compared to the CSV file-based method. You can also run updates, view results, and monitor activity without needing assistance from your account manager.
You'll need to work with your developers to prepare the information. This includes:
-
Preparation:
- Decide which attributes to pass in the API
Note: These are the column names of the feed. Make sure your attributes include all relevant information, including name, type, and so on. For privacy reasons, do not include any attributes that are considered PII, for example, name, date of birth, or address. - Decide on an identifier type. We recommend using hashed email addresses.
- Decide which attributes to pass in the API
- Create your JSON schema: A JSON schema is needed so that the information can properly sync to Dynamic Yield. The schema basically determines where and how the information is stored in our system.
- Set up your sync source: Create a new feed, test it, and upload your user data.
See our Developer Docs for detailed information and instructions on using the User Profile Data API and creating the JSON schema.
See the User Profile Data API reference for details on the API payload.
Set up your sync source
- Go to Audiences › Extensions › Profile and click Add Source.
- For the Feed Source, select Sync via API.
Make sure to copy your feed API key and store it somewhere safe. - Define the identifier type. The default is hashed email addresses, so you need to change this value only if you want to use a different ID type. Additional supported values include DYID and Other (you define the type).
- Enter the schema for the feed.
- Set the sites and apps on which to enable targeting based on this data.
- Click Save as Draft.
Test the feed
This is an important step, because after activation, the schema can be changed only in limited ways. The test user data is not committed, and campaigns do not yet work. Do this step with the help of a developer. See technical details on our Developers site.
Onboard user data
With the help of your developer, activate the feed and start calling APIs in accordance with your business flow. You can monitor the feed in the API logs.
See Experience APIs Logs and Alerts for more information. The User Profile Data API logs behave the same.
Note that the main User Data feeds screen does not list the number of entries included in the feed, nor does it indicate the last time the data was synched, as this data is available in the API logs.
Moving from CSV to API sync
If you are already onboarding user data using the CSV upload method and want to move to the User Data API:
- Open the User Data feed.
- Change the feed settings to Sync via API. Note that schema changes are not supported at this time.
- Call APIs in accordance with your business flow.
- Monitor the feed (business user and developer). Use:
- Alerts: Provide information about issues with the API call and its included objects.
- Logs: See Experience APIs Logs for more information. The User Data API logs behave the same.
- Activate
Note: Existing user attributes is retained when switched to API.
Important: After you switch to the API sync, you can't go back to the CSV method, so make sure this is what you want to do.
Creating audiences based on user data
When your data is onboarded, you can immediately use the Audience Explorer to explore these valuable segments and analyze their performance in comparison to your entire online user base, complemented by users’ behavioral data captured by Dynamic Yield. The new condition appears under User Properties using the User-Data feed name, and it can be coupled with any other Dynamic Yield condition available in your account and used to create and save micro-targetable segments (audiences) that can be incorporated into your Dynamic Yield Site Personalization experiences and Recommendations.
Note: When you create an Audience with conditions that rely on data mapped as an array of strings (Text Array), the operators available are "is", "is not", "contains", and "does not contain", where "is" is met when any of the values in the array match the listed value, and "contains" is met when any of the values in the array contain the listed value.