Show Menu
TOPICS×

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 the datasets lesson was the shortest lesson in this tutorial—this 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, 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't 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, etc where you need fast access to a robust customer profile. If you are uploading data just for analysis, it shouldn't be enabled 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 you need to complete this lesson, specifically:
  • Permission items Data Modeling > View Schemas and Manage Schemas
  • Permission items Data Management > View Datasets and Manage Datasets
  • Permission item Sandboxes > Luma Tutorial
  • User-role access to the Luma Tutorial Platform product profile
  • Developer-role access to the Luma Tutorial Platform product profile (for API)

Enable schemas for Real-time Customer Profile using Platform UI

Let's start with the simple task of enabling a schema:
  1. In the Platform UI, open the Luma Loyalty Schema
  2. In Schema Properties , toggle the Profile switch
  3. In the confirmation modal, press the Enable button to confirm
  4. Click the Save button to save your changes
    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 and of course the entire sandbox can be deleted at any time.
Easy right? Repeat the steps above for these other schema:
  1. Luma Product Catalog Schema
  2. Luma Offline Purchase Event Schema
  3. Luma Web Events Schema (on the confirmation modal, check the box "Data for this schema will contain a primary identity in the identityMap field.")

Enable schemas for Real-time Customer Profile using Platform API

Now, it's time to enable the Luma CRM Schema with the API. If you want to skip this exercise and just enable it in the UI, go right ahead.

Get the meta:altId of the schema

First we need to get the meta:altId of the Luma CRM Schema :
  1. Open Postman
  2. If you haven't made a call in the last 24 hours, your authorization tokens have probably expired. Open the call Adobe I/O Access Token Generation > Local Signing (Non-production use-only) > IMS: JWT Generate + Auth via User Token and click Send to request new JWT and Access Tokens, just like you did in the Postman lesson.
  3. Open the call Schema Registry API > Schemas > List all schemas within the specified container.
  4. Update the Accept Header to one of the allowed values, e.g. application/vnd.adobe.xdm+json
  5. Click the Send button
  6. You should get a 200 response
  7. Look in the response for the Luma CRM Schema item and copy the meta:altId value

Enable the schema

Now that we have the meta:altId of the schema, we can enable it for profile:
  1. Open the call Schema Registry API > Schemas > Modify or update part of a tenant-defined schema.
  2. In the Params paste your meta:altId value as the $id value
  3. In the Body tab, paste the following code
    [{
        "op": "add",
        "path": "/meta:immutableTags",
        "value": ["union"]
    }]
    
    
  4. Click the Send button
  5. You should get a 200 response
You should be able to see in the UI 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 UI

The datasets must be enabled for Profile, too, and the process is even simpler:
  1. In the Platform UI, open the Luma Loyalty Dataset
  2. Toggle the Profile switch
  3. In the confirmation modal, press the Enable button to confirm
Repeat the steps above for these other datasets:
  1. Luma Product Catalog Dataset
  2. Luma Offline Purchase Event Dataset
  3. Luma Web Events Dataset
Unlike schemas, you can disable datasets from Profile, however all previously ingested data will remain in Profile.

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 UI using the method above, that's fine, too.

Get the id of the dataset

First we need to get the id of the Luma CRM Dataset :
  1. Open Postman
  2. If you haven't made a call in the last 24 hours, your authorization tokens have probably expired. Open the call Adobe I/O Access Token Generation > Local Signing (Non-production use-only) > IMS: JWT Generate + Auth via User Token and click Send to request new JWT and Access Tokens, just like you did in the Postman lesson.
  3. Open the call Catalog Service API > Datasets > Retrieve a list of datasets.
  4. Click the Send button
  5. You should get a 200 response
  6. 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:
  1. Open the call Catalog Service API > Datasets > Update one or more attributes of a dataset specified by ID.
  2. In the Params update the DATASET_ID value to your own
  3. 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:
    {
        "tags":{
            "adobe/pqs/table":["luma_crm_dataset"],
            "adobe/siphon/table/format":["parquet"],
            "unifiedProfile":["enabled:true"],
            "unifiedIdentity":["enabled:true"]
            }
    }
    
    
  4. Click the Send button
  5. You should get a 200 response
You can also confirm that the UI shows the dataset enabled:
If you ingest data before enabling the schema and dataset for profile, you will need to re-ingest that data again afterwards.

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 , if they wish.