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—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 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, and so on, where you need fast access to a robust customer profile. If you are uploading data only for analysis, it probably shouldn’t 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’s start with the simple task of enabling a schema:

  1. In the Platform user interface, 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. Select the Save button to save your changes

    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:

    1. First, ingest some data into your datasets.
    2. Address any issues that arise during the data ingestion process (for example, data validation or mapping issues).
    3. Enable your datasets and schemas for Profile
    4. Reingest the data

    Profile Toggle

Easy right? Repeat the steps above for these other schema:

  1. Luma Product Catalog Schema
  2. Luma Offline Purchase Events 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 user interface, go right ahead.

Get the meta:altId of the schema

First let’s get the meta:altId of the Luma CRM Schema:

  1. Open Postman
  2. If you haven’t made a request in the last 24 hours, your authorization tokens have probably expired. Open the request Adobe I/O Access Token Generation > Local Signing (Non-production use-only) > IMS: JWT Generate + Auth via User Token and select Send to request new JWT and Access Tokens, just like you did in the Postman lesson.
  3. Open the request Schema Registry API > Schemas > Retrieve a list of schemas within the specified container.
  4. Select the Send button
  5. You should get a 200 response
  6. Look in the response for the Luma CRM Schema item and copy the meta:altId value
    Copy the meta:altIid

Enable the schema

Now that we have the meta:altId of the schema, we can enable it for profile:

  1. Open the request Schema Registry API > Schemas > Update one or more attributes of a custom schema specified by ID.

  2. In the Params paste your meta:altId value as the SCHEMA_ID param value

  3. In the Body tab, paste the following code

    [{
        "op": "add",
        "path": "/meta:immutableTags",
        "value": ["union"]
    }]
    
  4. Select the Send button

  5. You should get a 200 response

    Enable the CRM schema for profile with your custom meta:altIid used as the SCHEMA_ID param

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):
All schemas 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:

  1. In the Platform user interface, open the Luma Loyalty Dataset

  2. Toggle the Profile switch

  3. In the confirmation modal, press the Enable button to confirm

     Profile Toggle

Repeat the steps above for these other datasets:

  1. Luma Product Catalog Dataset
  2. Luma Offline Purchase Events Dataset
  3. Luma Web Events Dataset
NOTE

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 user interface 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 request in the last 24 hours, your authorization tokens have probably expired. Open the request Adobe I/O Access Token Generation > Local Signing (Non-production use-only) > IMS: JWT Generate + Auth via User Token and select Send to request new JWT and Access Tokens, just like you did in the Postman lesson.
  3. Open the request Catalog Service API > Datasets > Retrieve a list of datasets.
  4. Select 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:
    Copy the id

Enable the dataset

Now that we have the id of the dataset, we can enable it for profile:

  1. Open the request 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. Select the Send button

  5. You should get a 200 response

    Enable the CRM dataset for profile, making sure to use your custom dataset id as the DATASET_ID param

You can also confirm that the user interface shows the dataset enabled:
Confirm

IMPORTANT

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.

On this page