Enable Real-Time Customer Profiles
In this lesson, you will enable your schemas and datasets for Real-Time Customer Profile.
Okay, I lied when I said that the datasets lesson was the shortest lesson in this tutorial鈥攖his one should take even less time! Literally all you are going to do is flip a bunch of toggles. But what happens when you flip these toggles is really important so I wanted to dedicate a whole page to it.
With Real-Time Customer Profile, you can see a holistic view of each individual customer that combines data from multiple channels, including online, offline, CRM, and third-party data. Profile allows you to consolidate your disparate customer data into a unified view offering an actionable, timestamped account of every customer interaction.
As amazing as all that sounds, you don鈥檛 need to activate all of your data for profile. In fact, you should only enable the data you need for activation use cases. Enable data that you want to use for marketing use cases, call center integrations, and so on, where you need fast access to a robust customer profile. If you are uploading data only for analysis, it probably shouldn鈥檛 be enabled for profile.
There are important guardrails for Real-Time Customer Profile data which you should review when deciding which of your own data you should enable for profile.
Data Architects will need to enable Real-Time Customer Profile outside of this tutorial.
Before you begin the exercises, watch this short video to learn more about Real-Time Customer Profile:
Permissions required
In the Configure Permissions lesson, you set up all the access controls required to complete this lesson.
Enable schemas for Real-Time Customer Profile using Platform user interface
Let鈥檚 start with the simple task of enabling a schema:
-
In the Platform user interface, open the Luma Loyalty Schema
-
In Schema Properties, toggle the Profile switch
-
In the confirmation modal, press the Enable button to confirm
-
Select the Save button to save your changes
note important IMPORTANT Once a schema is enabled for Profile, it cannot be disabled or deleted. Also, fields cannot be removed from the schema after this point. These implications are important to keep in mind later on when you are working with your own data in your Production environment. You should be using a development sandbox in this tutorial, which can be deleted at any time. In the controlled environment of this tutorial, you will enable your schemas and datasets for profile, before ingesting any data. When working with your own data, we recommend you do things in the following order: - First, ingest some data into your datasets.
- Address any issues that arise during the data ingestion process (for example, data validation or mapping issues).
- Enable your datasets and schemas for Profile
- Reingest the data
Easy right? Repeat the steps above for these other schema:
- Luma Product Catalog Schema
- Luma Offline Purchase Events Schema
- Luma Web Events Schema (on the confirmation modal, check the box 鈥淒ata for this schema will contain a primary identity in the identityMap field.鈥)
Enable schemas for Real-Time Customer Profile using Platform API
Now, it鈥檚 time to enable the Luma CRM Schema
with the API. If you want to skip this exercise and just enable it in the user interface, go right ahead.
Get the meta:altId of the schema
First let鈥檚 get the meta:altId
of the Luma CRM Schema
:
- Open Postman
- If you don鈥檛 have an access token, open the request OAuth: Request Access Token and select Send to request a new access token, just like you did in the Postman lesson.
- Open the request Schema Registry API > Schemas > Retrieve a list of schemas within the specified container.
- Select the Send button
- You should get a 200 response
- Look in the response for the
Luma CRM Schema
item and copy themeta:altId
value
Enable the schema
Now that we have the meta:altId of the schema, we can enable it for profile:
-
Open the request Schema Registry API > Schemas > Update one or more attributes of a custom schema specified by ID.
-
In the Params paste your
meta:altId
value as theSCHEMA_ID
param value -
In the Body tab, paste the following code
code language-json [{ "op": "add", "path": "/meta:immutableTags", "value": ["union"] }]
-
Select the Send button
-
You should get a 200 response
You should be able to see in the user interface that all five schemas are enabled for Profile (you might need to SHIFT-Reload to see that Luma CRM Schema
is enabled):
Enable datasets for Real-Time Customer Profile using Platform user interface
The datasets must be enabled for Profile, too, and the process is even simpler:
-
In the Platform user interface, open the
Luma Loyalty Dataset
-
Toggle the Profile switch
-
In the confirmation modal, press the Enable button to confirm
Repeat the steps above for these other datasets:
- Luma Product Catalog Dataset
- Luma Offline Purchase Events Dataset
- Luma Web Events Dataset
Enable datasets for Real-Time Customer Profile using Platform API
Now you will enable a dataset for Profile using the API. Again, if you want to enable it via the user interface using the method above, that鈥檚 fine, too.
Get the id of the dataset
First we need to get the id
of the Luma CRM Dataset
:
- Open Postman
- If you don鈥檛 have an access token, open the request OAuth: Request Access Token and select Send to request a new access token, just like you did in the Postman lesson.
- Open the request Catalog Service API > Datasets > Retrieve a list of datasets.
- Select the Send button
- You should get a 200 response
- Look in the response for the
Luma CRM Dataset
item and copy the id:
Enable the dataset
Now that we have the id of the dataset, we can enable it for profile:
-
Open the request Catalog Service API > Datasets > Update one or more attributes of a dataset specified by ID.
-
In the Params update the
DATASET_ID
value to your own -
In the Body tab, paste the following code. Note that the first two values are pre-existing tags that are visible in the previous response. They need to be included in the body, in addition to the two new tags which we are adding:
code language-json { "tags":{ "adobe/pqs/table":["luma_crm_dataset"], "adobe/siphon/table/format":["parquet"], "unifiedProfile":["enabled:true"], "unifiedIdentity":["enabled:true"] } }
-
Select the Send button
-
You should get a 200 response
You can also confirm that the user interface shows the dataset enabled:
Additional Resources
Data Engineers should continue to the Subscribe to data ingestion events lesson.
Data Architects can skip ahead and go to the batch ingestion lesson.