Configure a dataset to capture consent and preference data

In order for Adobe Experience Platform to process your customer consent/preference data, that data must be sent to a dataset whose schema contains fields related to consents and other permissions. Specifically, this dataset must be based on the XDM Individual Profile class, and enabled for use in Real-time Customer Profile.

This document provides steps for configuring a dataset to process consent data in Experience Platform. For an overview of the full workflow for processing consent/preference data in Platform, refer to the consent processing overview.

IMPORTANT

The examples in this guide use a standardized set of fields to represent customer consent values, as defined by the Consents and Preferences schema field group. The structure of these fields is intended to provide an efficient data model to cover many common consent-collection use cases.

However, you can also define your own field groups to represent consent according to your own data models. Please consult with your legal team to get approval for a consent data model that fits your business needs, based on the following options:

  • The standardized consent field group
  • A custom consent field group created by your organization
  • A combination of the standardized consent field group and additional fields provided by a custom consent field group

Prerequisites

This tutorial requires a working understanding of the following components of Adobe Experience Platform:

IMPORTANT

This tutorial assumes that you know the Profile schema in Platform that you want to use to capture customer attribute information. Regardless of the method you use to collect consent data, this schema must be enabled for Real-time Customer Profile. In addition, the schema’s primary identity cannot be a directly identifiable field that is prohibited from use in interest-based advertising, such as an email address. Consult your legal counsel if you are unsure which fields are restricted.

Consents and Preferences field group structure

The Consents and Preferences field group provides standardized consent fields to a schema. Currently, this field group is only compatible with schemas based on the XDM Individual Profile class.

The field group provides a single object-type field, consents, whose sub-properties capture a set of standardized consent fields. The following JSON is an example of the kind of data consents expects upon data ingestion:

{
  "consents": {
    "collect": {
      "val": "y",
    },
    "share": {
      "val": "y",
    },
    "personalize": {
      "content": {
        "val": "y"
      }
    },
    "marketing": {
      "preferred": "email",
      "any": {
        "val": "y"
      },
      "push": {
        "val": "n",
        "reason": "Too Frequent",
        "time": "2019-01-01T15:52:25+00:00"
      }
    },
    "idSpecific": {
      "email": {
        "jdoe@example.com": {
          "marketing": {
            "email": {
              "val": "n"
            }
          }
        }
      }
    }
  },
  "metadata": {
    "time": "2019-01-01T15:52:25+00:00"
  }
}
NOTE

For more information on the structure and meaning of the sub-properties in consents, see the overview on the Consents and Preferences field group.

Add the Consents and Preferences field group to your Profile schema

In the Platform UI, select Schemas in the left navigation, then select the Browse tab to display a list of existing schemas. From here, select the name of the Profile-enabled schema that you want to add consent fields to. The screenshots in this section use the “Loyalty Members” schema built in the schema creation tutorial as an example.

TIP

You can use the workspace’s search and filtering capabilities to help find your schema easier. See the guide on exploring XDM resources for more information.

The Schema Editor appears, showing the structure of the schema in the canvas. On the left side of the canvas, select Add under the Field groups section.

The Add field group dialog appears. From here, select Consents and Preferences from the list. You can optionally use the search bar to narrow down results to locate the field group easier. Once the field group is selected, select Add field groups.

The canvas reappears, showing that the consents object has been added to the schema structure. If you require additional consent and preference fields not captured by the standard field group, see the appendix section on adding custom consent and preference fields to the schema. Otherwise, select Save to finalize the changes to the schema.

If the schema you edited is used by the Profile Dataset specified in your Platform Web SDK datastream, that dataset will now include the new consent fields. You can now return to the consent processing guide to continue the process of configuring Experience Platform to process consent data.

If you have not created a dataset for this schema, follow the steps in the next section.

Create a dataset based on your consent schema

Once you have created a schema with consent fields, you must create a dataset that will ultimately ingest your customers’ consent data. This dataset must be enabled for Real-time Customer Profile.

To begin, select Datasets in the left navigation, then select Create dataset in the top-right corner.

On the next page, select Create dataset from schema.

The Create dataset from schema workflow appears, starting at the Select schema step. In the provided list, locate one of the consent schemas that you created earlier. You can optionally use the search bar to narrow down results and locate your schema easier. Select the radio button next to the desired schema, then select Next to continue.

The Configure dataset step appears. Provide a unique, easily identifiable name and description for the dataset before selecting Finish.

The details page for the newly created dataset appears. If the dataset is based on your time-series schema, then the process is complete. If the dataset is based on your record schema, the final step in the process is to enable the dataset for use in Real-time Customer Profile.

In the right rail, select the Profile toggle.

Finally, select Enable in the confirmation popover to enable the schema for Profile.

The dataset is now saved and enabled for use in Profile. If you are planning using the Platform Web SDK to send consent data to Profile, you must select this dataset as the Profile Dataset when setting up your datastream.

Next steps

By following this tutorial, you have added consent fields to a Profile-enabled schema, whose dataset will be used to ingest consent data using the Platform Web SDK or direct XDM ingestion.

You can now return to the consent processing overview to continue configuring Experience Platform to process consent data.

Appendix

The following section contains additional information about creating a dataset to ingest customer consent and preference data.

If you need to capture additional consent signals outside of those represented by the standard Consents and Preferences field group, you can use custom XDM components to enhance your consent schema to suit your particular business needs. This section outlines the basic principles of how to customize your consent schema in order to ingest these signals into Profile.

IMPORTANT

The Platform Web and Mobile SDKs do not support custom fields in their consent-change commands. Currently the only way to ingest custom consent fields into Profile is through batch ingestion or a source connection.

It is highly recommended that you use the Consents and Preferences field group as a baseline for the structure of your consent data and add additional fields as needed, rather than attempting to create the entire structure from scratch.

To add custom fields to the structure of a standard field group, you must first create a custom field group. After adding the Consents and Preferences field group to the schema, select the plus (+) icon in the Field groups section, and then select Create new field group. Provide a name and optional description for the field group, and then select Add field group.

The Schema Editor reappears with the new custom field group selected in the left rail. In the canvas, controls appear that allow you to add custom fields to the schema structure. To add a new consent or preference field, select the plus (+) icon next to the consents object.

A new field appears within the consents object. Since you are adding a custom field to a standard XDM object, the new field is created under an object that is namespaced to your tenant ID.

In the right rail under Field properties, provide a name and description for the field. When selecting the field’s Type, you must use the appropriate standard data type for a custom consent or preference field:

When finished, select Apply.

The consent or preference field is added to the schema structure. Note that the Path displayed in the right rail contains the _tenantId namespace. This namespace must be included whenever you reference the path to this field in your data operations.

Follow the steps above to continue adding the consent and preference fields that you require. When finished, select Save to confirm your changes.

If you have not created a dataset for this schema, continue to the section on creating a dataset.

On this page