[Beta]{class="badge informative"}

Mirror and use model-based data

AVAILABILITY
The functionality described in this article is in the Limited Testing phase of release and might not be available yet in your environment. This note will be removed when the functionality is generally available. For information about the Customer Journey Analytics release process, see Customer Journey Analytics feature releases.

This quick start guide explains how to use Experience Platform Data Mirror for Customer Journey Analytics to mirror model-based data from a data warehouse native solution in Adobe Experience Platform. And then use that data in Customer Journey Analytics.

To accomplish this use case, you need to:

  • Use a data warehouse native solution to store data that you want to mirror in Experience Platform. And then use that data in Customer Journey Analytics to report on and to analyze.

  • Set up a schema in Experience Platform to define the model (schema) of the data that you want to mirror.

  • Use a source connector in Experience Platform to get your mirrored data into a dataset.

  • Set up a connection in Customer Journey Analytics. This connection should (at least) include your Experience Platform model-based dataset.

  • Set up a data view in Customer Journey Analytics to define metrics and dimension that you want to use in Analysis Workspace.

  • Set up a project in Customer Journey Analytics to build your reports and visualizations.

Experience Platform Data Mirror for Customer Journey Analytics requires model-based schemas.

NOTE
This quick start guide is a simplified guide on how to mirror model-based data in Adobe Experience Platform and use that data in Customer Journey Analytics. It is highly recommended to study the additional information when referred to.

Use a data warehouse native solution

This quicks tart guide uses Google BigQuery as the data warehouse native solution. Other supported solutions are Snowflake and Azure Databricks.

Within Google BigQuery, the following example data is stored and updated regularly in a table named eventdata.

Details of sample event data
table 0-row-7 1-row-7 2-row-7 3-row-7 4-row-7 5-row-7 6-row-7 7-row-7 8-row-7 9-row-7 10-row-7 11-row-7 12-row-7 13-row-7 14-row-7 15-row-7 16-row-7 17-row-7 18-row-7 19-row-7 20-row-7 1-align-left 2-align-right 3-align-left 4-align-left 5-align-left 6-align-right 7-align-left 9-align-left 10-align-right 11-align-left 12-align-left 13-align-left 14-align-right 15-align-left 17-align-left 18-align-right 19-align-left 20-align-left 21-align-left 22-align-right 23-align-left 25-align-left 26-align-right 27-align-left 28-align-left 29-align-left 30-align-right 31-align-left 33-align-left 34-align-right 35-align-left 36-align-left 37-align-left 38-align-right 39-align-left 41-align-left 42-align-right 43-align-left 44-align-left 45-align-left 46-align-right 47-align-left 49-align-left 50-align-right 51-align-left 52-align-left 53-align-left 54-align-right 55-align-left 57-align-left 58-align-right 59-align-left 60-align-left 61-align-left 62-align-right 63-align-left 65-align-left 66-align-right 67-align-left 68-align-left 69-align-left 70-align-right 71-align-left 73-align-left 74-align-right 75-align-left 76-align-left 77-align-left 78-align-right 79-align-left 81-align-left 82-align-right 83-align-left 84-align-left 85-align-left 86-align-right 87-align-left 89-align-left 90-align-right 91-align-left 92-align-left 93-align-left 94-align-right 95-align-left 97-align-left 98-align-right 99-align-left 100-align-left 101-align-left 102-align-right 103-align-left 105-align-left 106-align-right 107-align-left 108-align-left 109-align-left 110-align-right 111-align-left 113-align-left 114-align-right 115-align-left 116-align-left 117-align-left 118-align-right 119-align-left 121-align-left 122-align-right 123-align-left 124-align-left 125-align-left 126-align-right 127-align-left 129-align-left 130-align-right 131-align-left 132-align-left 133-align-left 134-align-right 135-align-left 137-align-left 138-align-right 139-align-left 140-align-left 141-align-left 142-align-right 143-align-left 145-align-left 146-align-right 147-align-left 148-align-left 149-align-left 150-align-right 151-align-left 153-align-left 154-align-right 155-align-left 156-align-left 157-align-left 158-align-right 159-align-left 161-align-left 162-align-right 163-align-left 164-align-left 165-align-left 166-align-right 167-align-left
timestamp id pagename personid trackingcode orders revenueamount
2025-03-06T19:15:39+00:00 10001 home page person-1abc123 abc123
2025-03-06T19:15:39+00:00 10002 confirmation page person-1abc123 1 174.25
2025-03-06T19:15:39+00:00 10003 home page person-2def123 def123
2025-03-06T19:15:39+00:00 10004 home page person-3ghi123 ghi123
2025-03-06T19:15:39+00:00 10005 confirmation page person-3ghi123 1 149.25
2025-03-06T19:15:39+00:00 10006 home page person-4abc456 abc456
2025-03-06T19:15:39+00:00 10007 home page person-5def456 def456
2025-03-06T19:15:39+00:00 10008 home page person-6ghi456 ghi456
2025-03-06T19:15:39+00:00 10009 confirmation page person-6ghi456 1 159.25
2025-03-06T19:15:39+00:00 10010 home page person-7abc789 abc789
2025-03-06T19:15:39+00:00 10011 home page person-8def789 def789
2025-03-06T19:15:39+00:00 10012 home page person-9ghi789 ghi789
2025-03-06T19:15:39+00:00 10013 confirmation page person-9ghi789 1 124.25
2025-03-06T19:15:39+00:00 10014 home page person-10abc987 abc987
2025-03-06T19:15:39+00:00 10015 home page person-11def987 def987
2025-03-06T19:15:39+00:00 10016 home page person-12ghi987 ghi987
2025-03-06T19:15:39+00:00 10017 home page person-13abc654 abc654
2025-03-06T19:15:39+00:00 10018 home page person-14def654 def654
2025-03-06T19:15:39+00:00 10019 home page person-15ghi654 ghi654
2025-03-06T19:15:39+00:00 10020 confirmation page person-15ghi654 1 174.25

The data is stored in a database table with an associated schema. To inspect the database table:

  1. Log in to Google BigQuery.

  2. Select BigQuery > Studio.

  3. Select your project, dataset and table. In the Schema tab, you see an overview of the schema for the event data.

    Google BigQuery - Schema

To inspect the data:

  1. Select Query.

  2. Run a sample query in the query editor, where project is the name of your project and datasets is the name of your datasets:

    code language-sql
    SELECT * FROM `project.datasets.eventdata` LIMIT 100
    

    Google BigQuery - Sample Query

For Experience Platform Data Mirror for Customer Journey Analytics, the tables in your data warehouse native solution must be enabled for change history. To verify that the table is enabled for change history:

  1. Run the following SQL statement in the query editor to check the setting, where project is the name of your project and datasets is the name of your datasets:

    code language-sql
    SELECT
       table_name,
       MAX(CASE WHEN option_name = 'enable_change_history' THEN option_value END) AS enable_change_history
    FROM `project.datasets.INFORMATION_SCHEMA.TABLE_OPTIONS`
    WHERE table_name = 'eventdata'
    GROUP BY table_name
    ORDER BY table_name;
    
  2. If the result is not TRUE, use the following SQL statement to enable change history, where project is the name of your project and datasets is the name of your datasets:

    code language-sql
    ALTER TABLE `project.datasets.eventdata`
    SET OPTIONS (enable_change_history = TRUE);
    

The data in the table in your data warehouse native solution is ready for Experience Platform Data Mirror for Customer Journey Analytics.

Set up a schema

To mirror data in Experience Platform, you first must define the schema for the data. All data that you want to mirror in Experience Platform and that uses Experience Platform Data Mirror for Customer Journey Analytics must conform to a model-based schema.

Define a schema that models this data. To set up your schema:

  1. In the Adobe Experience Platform UI, in the left rail, select Schemas within Data Management.

  2. Select Create schema.

  3. From the drop-down menu, select Model-based.

  4. If you see a popup with the option to select between Create manually or Upload a DDL file:

    1. Select select Create manually.

      Schema configuration - Create manually

    2. Select Next.

  5. In the Schemas > Create model-based schema interface:

    1. Enter a Schema display name. For example: Sample Event Feed Schema.

    2. Enter a Description. For example: Sample event feed schema for a model-based schema.

    3. Select Time series as the Schema behavior. You select Time series for time-series based data and Record for record based data. The behavior defines the structure of the schema and the properties that are included.

      Experience Platform Data Mirror for Customer Journey Analytics is mostly used for time series data (for example, event data).

      Schema configuration

    4. Select Finish.

  6. In the Schemas > Sample Event Feed Schema interface, you see a warning that model-based schemas support ingestion as change rows.

    Schema configuration

    Ingestion as change rows is also known as change data capture (CDC). To support change data capture, the schema requires:

    • Primary key.
    • Version descriptor.
    • Timestamp descriptor for time-series data.
  7. Select AddCircle next to Sample Event Feed Schema to start to add fields to the schema. Add the following fields with data type and additional attributes to the schema.

    table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4
    Field name Display name Type Additional attributes
    id Id Integer SelectBox Version descriptor
    orders Orders Integer
    pagename Page Name String
    personid Person Id String SelectBox Primary key
    SelectBox Identity
    Select CRMID for Identity namespace.
    revenueamount Revenue Amount Double
    timestamp Timestamp DateTime SelectBox Timestamp descriptor
    trackingcode Tracking Code String
    • The id field is configured as Version descriptor.

      Version descriptor

    • The personid field is configured, together with timestamp as the Primary key. Select Add Create composite primary key to create a composite key.

      Composite key

      The personid field is also configured as an Identity, with CRMID as the Identity namespace.

      Person descriptor

    • The timestamp field is configured, together with personid field as the Primary key. The timestamp field is also configured as Timestamp descriptor. You only need to define a field as Timestamp descriptor for time series model-based data.

      Timestamp descriptor

    If you have defined Primary key, Version descriptor and Timestamp descriptor correctly, the warning on top of the schema definition disappears.

  8. Select Save to save your schema.

Use a source connector

You use a source connector to connect the data warehouse native solution to Experience Platform.

In the Experience Platform interface:

  1. Select Sources.
  2. Select or search for Google BigQuery.
  3. Select Add data.

The Add data wizard guides you through the following steps to connect the data from the table in Google BigQuery to Experience Platform.

Authentication

In the Authentication step, select:

  • Existing account when you have already an account setup for Google BigQuery. Continue to the Select data step.

  • New account when you need to connect to Google BigQuery.

    1. Specify an Account name and (optional) Description.

    2. Select your Authentication type: Basic Authentication or Service Authentication. Based on your selection, provide the required input.

    3. Select Connect to source

      Google BigQuery - Authentication

      Your connection is verified. A CheckmarkCircleGreen Connected indicated a successful connection.

    4. Select Next.

    See the Experience Platform documentation for details on how to connect and authenticate when you use the Azure Databricks or Snowflake connector.

Select data

In the Select data step:

  1. Select the table from the list of tables. For example: eventdata.

    Experience Platform - Source Connector - Select data

    You see a sample of the data displayed for verification.

  2. Select Next to continue.

Dataflow detail

In the Dataflow detail step:

  1. Select Enable change data capture. A Change data capture requirement information box displays with more information.

  2. Select New dataset for Target dataset to create a new dataset that contains the mirrored data.

  3. Enter an Output dataset name. For example: event-data-mirror.

  4. Select the model-based schema that you created earlier from the Schema drop-down menu. For example: Sample Event Feed Schema.

    Experience Platform - Source Connector - Dataflow details

  5. Specify other details.

  6. Select Next.

Mapping

In the Mapping step:

  1. Map the fields. From the schema in Google BigQuery (Source data) to the fields in the schema that you have defined in Experience Platform (Target fields).

    Experience Platform - Source Connector - Mapping

  2. If all fields are mapped correctly, select Next to continue.

Scheduling

In the Scheduling step:

  1. Specify the Frequency and Interval to schedule the synchronization of the mirrored data.

  2. Specify the Start time for the schedule.

    Experience Platform - Source Connector - Scheduling

  3. Select Next to continue.

Review

In the Review step.

  1. Review the configuration for the source connector.

    Experience Platform - Source Connector - Review

  2. Select Finish. You are directed to the configured dataflow.

    Experience Platform - Source Connector - Dataflow

Set up a connection

In this quick start guide, you create a new connection to use the mirrored data from Experience Platform. Alternatively you can add the mirrored data to an existing connection.

In the Customer Journey Analytics interface:

  1. Select Connections from the Data Management menu.

  2. Select Create new connection.

  3. Specify the required Connection name, Sandbox, Average number of daily evens, and other optional parameters.

  4. Select Add datasets.

    1. In the Select datasets step of Add datasets:

      1. Select the dataset that contains the mirrored data. For example: event-data-mirror. The dataset has Model as the Dataset type.

        CJA - Connectons - Add dataset

      2. Add any additional datasets that are relevant for the connection.

      3. Select Next.

    2. In the Dataset settings step of Add datasets:

      For the event-data-mirror model-based dataset

      1. Select Event as the Dataset type.

      2. Select the PersonId field as the Person ID.

      3. Timestamp is automatically populated as the Timestamp.

      4. Select Other as the Data source type.

      5. Enter Google BigQuery Event Data as the Data source description.

      6. Specify other details, like Import all new data and Backfill all existing data.

        CJA - Connection - Dataset settings

      Optionally, specify details for other datasets.

    3. Select Add datasets.

  5. Select Save.

After you create a connection, you can perform various management tasks. Such as selecting and combining datasets, checking the status of a connection’s datasets and the status of data ingestion, and more.

Set up a data view

To create your data view:

  1. In the Customer Journey Analytics interface, select Data views, optionally from Data management, in the top menu.

  2. Select Create new data view.

  3. In the Configure step:

    1. Select your connection from the Connection list.

    2. Name and (optionally) describe your connection.

    3. Select Save and continue.

  4. In the Components step:

    1. Add any schema field and/or standard component that you want to include to the METRICS or DIMENSIONS component boxes. Ensure you add relevant fields from the dataset that contains the mirrored data. To access those fields:

      1. Select Event datasets.

      2. Select Adhoc & Model-based fields.

      3. Drag and drop fields from the model-based schemas onto METRICS or DIMENSIONS.

        Add model-based field as components

    2. Define derived fields for fields that do not have the proper type, are not in the proper format, or you want to modify for other reasons. For example, for Revenue Amount.

      1. Select Create derived field.

      2. In the derived field editor:

        1. Define a new Revenue Amount (Numeric) field, like below.

          CJA - Data view - Derived field

        2. Select Save.

      3. Drag the new Revenue Amount (Numeric) derived field and drop the field in METRICS.

        CJA - Data view - Model-based fields

    3. Select Save and continue.

  5. In the Settings step:

    Leave the settings as they are and select Save and finish.

See Data views overview for more information on how to create and edit a data view. And what components are available for you to use in your data view and how to use segment and sessions settings.

Set up a project

Analysis Workspace is a flexible browser tool that allows you to build analyses quickly and share insights based on your data. You use Workspace projects to combine data components, tables, and visualizations to craft your analysis and share with anyone in your organization.

To create your project:

  1. In the Customer Journey Analytics interface, select Workspace in the top menu.

  2. Select Projects in the left navigation.

  3. Select Create project. In the popup:

    1. Select Blank Workspace project.

    2. Select Create.

  4. In the New project workspace, ensure that your data view is selected. That data view links to the connection that contains the mirrored data.

  5. To create your first report, drag and drop dimensions and metrics on the Freeform table in the Freeform panel. For example, drag Revenue Amount (Numeric) onto Drag a metric here. And drag PersonId and drop the field on the first column header. Make some other adjustments as you see fit.

    The final result is an overview of profiles and their revenues based on mirrored data originating from a Google BigQuery table.

    Workspace - Sample Project

See Analysis Workspace overview for more information on how to create projects and build your analysis using components, visualizations, and panels.

SUCCESS
You have completed all the steps. You started by defining what mirrored data you wanted to collect (schema) from a data warehouse native solution. And where to store that data (dataset) in Experience Platform. You configured the appropriate source connector to provide you with the mirrored data in Experience Platform. You defined a connection in Customer Journey Analytics to use the mirrored event data and (optionally) other data. Your data view definition allowed you to specify which dimension and metrics to use from the mirrored data. And finally you created your first project visualizing and analyzing your mirrored data.
recommendation-more-help
080e5213-7aa2-40d6-9dba-18945e892f79