Combine Report Suites with different schemas
The Analytics source connector brings report suite data from Adobe Analytics into the Adobe Experience Platform for use by Adobe Experience Platform applications, such as Real-time Customer Data Platform and Customer Journey Analytics (Customer Journey Analytics). Each report suite brought into Adobe Experience Platform is configured as an individual source connection dataflow, and each dataflow lands as a dataset within the Adobe Experience Platform data lake. The Analytics source connector creates one dataset per report suite.
Customer Journey Analytics customers use connections to integrate datasets from Adobe Experience Platform data lake into Customer Journey Analytics Analysis Workspace. However, when combining report suites within a connection, schema differences between report suites need to be resolved using Adobe Experience Platform Data Prep functionality. The purpose is to ensure that Adobe Analytics variables such as props and eVars have a consistent meaning in Customer Journey Analytics.
Schema differences between report suites are problematic
Suppose your company wants to bring data from two different report suites into Adobe Experience Platform for use by Customer Journey Analytics, and assume the schemas for the two report suites have differences:
For the sake of simplicity, let’s say these are the only defined eVars for both report suites.
Further, suppose you perform the following actions:
- Create an Analytics source connection (without use of data prep) that ingests Report Suite A into Adobe Experience Platform data lake as Dataset A.
- Create an Analytics source connection (without use of data prep) that ingests Report Suite B into Adobe Experience Platform data lake as Dataset B.
- Create a Customer Journey Analytics connection called All Report Suites that combines Dataset A and Dataset B.
- Create a Customer Journey Analytics data view called Global View that is based on the All Report Suites connection.
Without the use of Data Prep to resolve the schema differences between Dataset A and Dataset B, the eVars in the Global View data view will contain a mixture of values:
This situation results in meaningless reports for eVar1 and eVar2:
- The eVar fields contain a mixture of values with different semantic meanings.
- Search terms are distributed between eVar1 and eVar2.
- It is not possible to use different attribution models for each of search terms, business units, and customer categories.
Use Adobe Experience Platform Data Prep to resolve schema differences between report suites
The Experience Platform Data Prep functionality is integrated with the Analytics source connector and can be used to resolve the schema differences described in the scenario above. This results in eVars with consistent meanings in the Customer Journey Analytics data view. (The naming conventions used below can be customized to suit your needs.)
-
Before creating the source connection dataflows for Report Suite A and Report Suite B, Create a new schema in Adobe Experience Platform (we’ll call it Unified Schema in our example.) Add the following to the schema:
table 0-row-1 1-row-1 2-row-1 “Unified Schema” XDM ExperienceEvent class Adobe Analytics ExperienceEvent Template field group -
Add another field group to the schema or create a custom field group and add it to the schema. We’ll create a new field group and call it Unified Fields. Then we’ll add the following fields to the new field group:
table 0-row-1 1-row-1 2-row-1 3-row-1 “Unified Fields” custom field group Search term Business unit Customer category -
Create the source connection dataflow for Report Suite A, selecting Unified Schema for use in the dataflow. Add custom mappings to the dataflow as follows:
table 0-row-2 1-row-2 2-row-2 Report Suite A source field Destination field from Unified Fields field group _experience.analytics.customDimensions.eVars.eVar1 <path>.Search_term _experience.analytics.customDimensions.eVars.eVar2 <path>.Customer_category note note NOTE The XDM path for your destination fields will depend on how you structure your custom field group. -
Create the source connection dataflow for Report Suite B, again selecting Unified Schema for use in the dataflow. The workflow will show that two fields have a descriptor name conflict. This is because the descriptors for eVar1 and eVar2 are different in Report Suite B than they were in Report Suite A. But we already know this, so we can safely ignore the conflict and use custom mappings as follows:
table 0-row-2 1-row-2 2-row-2 Report Suite B source field Destination field from Unified Fields field group _experience.analytics.customDimensions.eVars.eVar1 <path>.Business_unit _experience.analytics.customDimensions.eVars.eVar2 <path>.Search_term -
Now create an All Report Suites connection for Customer Journey Analytics, combining Dataset A and Dataset B.
-
Create a Global view data view in Customer Journey Analytics. Ignore the original eVar fields and include only the fields from the Unified Fields field group.
Global View data view in Customer Journey Analytics:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 Source field Include in data view? _experience.analytics.customDimensions.eVars.eVar1 No _experience.analytics.customDimensions.eVars.eVar2 No <path>.Search_term Yes <path>.Customer_category Yes <path>.Business_unit Yes
You have now mapped eVar1 and eVar2 from the source report suites to three new fields. Note that another advantage of using Data Prep mappings is that the destination fields are now based on semantically meaningful names (Search term, Business Unit, Customer category) instead of the less meaningful eVar names (eVar1, eVar2.)
More than just report suites
The capabilities of Data Prep to combine datasets with different schemas goes beyond Analytics report suites. Suppose you have a two datasets containing the following data:
eVar1
=> Customer CategoryUsing Data Prep, you can combine the Customer Category in eVar 1 in the Analytics data with the Customer Category in Some_field in the call center data. Here is one way you might do that. Again, the naming convention can be altered to suit your needs.
-
Create a schema in Adobe Experience Platform. Add the following to the schema:
table 0-row-1 1-row-1 2-row-1 “Extended Schema” XDM Experience Event class Adobe Analytics Experience Event Template field group -
Create a new field group and add it to the schema. Add fields to the field group:
table 0-row-1 1-row-1 “Customer Info” custom field group Customer_category -
Create the dataflow for Dataset A, selecting Extended Schema as your schema. Add custom mappings to the dataflow as follows:
table 0-row-2 1-row-2 Dataset A source field Destination field from Customer Info field group _experience.analytics.customDimensions.eVars.eVar2 <path>.Customer_category -
Create the dataflow for Dataset B, again selecting Extended Schema as your schema. Add custom mappings to the dataflow as follows:
table 0-row-2 1-row-2 Dataset B source field Destination field from Customer Info field group <path>.Some_field <path>.Customer_category -
Create a Customer Journey Analytics connection which combines Dataset A and Dataset B.
-
Create a data view in Customer Journey Analytics, using the Customer Journey Analytics connection you just created. Ignore the original eVar fields and include only the fields from the Customer Info field group.
Data view in Customer Journey Analytics:
table 0-row-2 1-row-2 2-row-2 3-row-2 Source field Include in data view? _experience.analytics.customDimensions.eVars.eVar1 No _experience.analytics.customDimensions.eVars.eVar2 No <path>.Customer_category Yes
Data Prep vs. Component ID
As described above, Data Prep allows you to map different fields together across multiple Adobe Analytics report suites. This is helpful in Customer Journey Analytics when you want to combine data from multiple datasets into a single Customer Journey Analytics connection. However, if you intend to keep the report suites in separate Customer Journey Analytics connections but you want to use one set of reports across those connections and data views, changing the underlying Component ID in Customer Journey Analytics provides a way to make reports compatible even if schemas are different. See Component Settings for more information.
Changing the Component ID is a Customer Journey Analytics-only function and does not impact data from the Analytics source connector that is sent to Real-time Customer Profile and RTCDP.