Import sample data to Adobe Experience Platform
Learn how to set up an Experience Platform sandbox environment with sample data. Using a Postman collection, you can create field groups, schemas, datasets and then import sample data into Experience Platform.
Sample data use case
Experience Platform business users often have to go through a series of steps that include identifying field groups, creating schemas, preparing data, creating datasets, and then ingesting data before they can explore the marketing capabilities offered by Experience Platform. This tutorial automates some of the steps so you can get data into a Platform sandbox as quickly as possible.
This tutorial focuses on a fictional, retail brand called Luma. They invest in Adobe Experience Platform to combine loyalty, CRM, product catalog, and offline purchase data into real-time customer profiles and activate these profiles to take their marketing to the next level. We have generated sample data for Luma, and in the remainder of this tutorial, you will import this data into one of your Experience Platform sandbox environments.
Prerequisites
- You have access to Experience Platform APIs and know how to authenticate. If not, review this tutorial.
- You have access to an Experience Platform development sandbox.
- You know your Experience Platform tenant id. You can obtain it by making an authenticated API request
or by extracting it from the URL when you log into your Platform account. For example, in the following URL, the tenant is “techmarketingdemos
”https://experience.adobe.com/#/@techmarketingdemos/sname:prod/platform/home
.
Using Postman postman
Set up environment variables
Before you follow the steps, ensure that you have downloaded the Postman application. Let’s get started!
-
Download the platform-utils-main.zip file, which contains all files required for this tutorial.
note note NOTE User data contained in the platform-utils-main.zip file is fictitious and is to be used for demonstration purposes only. -
From your downloads folder, move the
platform-utils-main.zip
file to the desired location on your computer, and unzip it. -
In the
luma-data
folder, open all thejson
files in a text editor and replace all instances of_yourTenantId
with your own tenant id, preceded by an underscore. -
Open
luma-offline-purchases.json
,luma-inventory-events.json
, andluma-web-events.json
in a text editor and update all the timestamps so that the events occur in the last month (for example, search for"timestamp":"2022-11
and replace the year and month) -
Note the location of the unzipped folder, as you need it later when setting up the
FILE_PATH
Postman environment variable:note note NOTE To obtain file path on your Mac, navigate to the platform-utils-main
folder, right-click on the folder and select Get Info option.note note NOTE To obtain file path on your windows, click to open the location of the desired folder, and then right-click to the right of the path in the address bar. Copy address to obtain the file path. -
Open Postman and create a workspace from the Workspaces dropdown menu:
-
Enter a Name and optional Summary for your workspace and click Create Workspace. Postman will switch to your new workspace when you create it.
-
Now adjust some settings to run the Postman collections in this workspace. In the header of Postman, click the gear icon and select Settings to open the settings modal. You can also use the keyboard shortcut (CMD/CTRL + ,) to open the modal.
-
Under the
General
tab, update the request time out in ms to5000 ms
and enableallow reading file outside this directory
note note NOTE If files are loaded from within the working directory it will run smoothly across devices if the same files are stored on the other devices. However, if you wish to run files from outside the working directory, then a setting has to be turned on to state the same intent. If your FILE_PATH
is not same as the Postman’s working directory path, then this option should be enabled. -
Close the Settings panel.
-
Select the Environments and then select Import:
-
Import the downloaded json environment file,
DataInExperiencePlatform.postman_environment
-
In Postman, select your environment in the top-right dropdown and click the eye icon to view the environment variables:
-
Make sure that the following environment variables are populated. To learn how to obtain the environment variables’ value, check out the Authenticate to Experience Platform APIs tutorial for step-by-step instructions.
CLIENT_SECRET
API_KEY
—Client ID
in Adobe Developer ConsoleSCOPES
TECHNICAL_ACCOUNT_ID
IMS
IMS_ORG
—Organization ID
in Adobe Developer ConsoleSANDBOX_NAME
TENANT_ID
—be sure to lead with an underscore, for example_techmarketingdemos
CONTAINER_ID
platform_end_point
FILE_PATH
—use the local folder path where you have unzipped theplatform-utils-main.zip
file. Be sure it includes the folder name, for example/Users/dwright/Desktop/platform-utils-main
-
Save the updated environment
Import Postman collections
Next you need to import the collections into Postman.
-
Select Collections and then choose the import option:
-
Import the following collections:
0-Authentication.postman_collection.json
1-Luma-Loyalty-Data.postman_collection.json
2-Luma-CRM-Data.postman_collection.json
3-Luma-Product-Catalog.postman_collection.json
4-Luma-Offline-Purchase-Events.postman_collection.json
5-Luma-Product-Inventory-Events.postman_collection.json
6-Luma-Test-Profiles.postman_collection.json
7-Luma-Web-Events.postman_collection.json
Authenticate
Next you need to need to authenticate and generate a user token. Please be aware that the token-generation methods used in this tutorial are suitable for non-production use only. Local Signing loads a JavaScript library from a 3rd-party host, and Remote signing sends the private key to an Adobe owned and operated web service. While Adobe does not store this private key, production keys should never be shared with anyone.
-
Open the
0-Authentication
collection, Select theOAuth: Request Access Token
request, and clickSEND
to authenticate and obtain the access token. -
Review the environment variables, and notice that the
ACCESS_TOKEN
is now populated.
Import data
Now you can prepare and import the data into your Platform sandbox. The Postman collections you imported will do all of the heavy lifting!
-
Open the
1-Luma-Loyalty-Data
collection and click Run on the overview tab to start a Collection Runner. -
In the collection runner window, make sure to select the environment from the dropdown, update the Delay to
4000ms
, check the Save responses option, and make sure that the run order is correct. Click the Run Luma Loyalty Data buttonnote note NOTE 1-Luma-Loyalty-Data creates a schema for customer loyalty data. The schema is based on XDM Individual Profile class, standard field group, and a custom field group and dataype. The collection creates a dataset using the schema and uploads sample customer loyalty data to Adobe Experience Platform. note note NOTE If any collection requests fail during the Postman collection runner, stop the execution and run the collection requests one by one. -
If everything goes well, all requests in the
Luma-Loyalty-Data
collection should pass. -
Now let’s login to Adobe Experience Platform interface and navigate to datasets.
-
Open the
Luma Loyalty Dataset
dataset, and under the dataset activity window, you can view a successful batch run that ingested 1000 records. You can also click on the preview dataset option to verify the records ingested. You might need to wait several minutes to confirm that 1000 New Profile Fragments were created.
-
Repeat steps 1-3 to run the other collections:
2-Luma-CRM-Data.postman_collection.json
creates a schema and populated dataset for CRM data of customers. The schema is based on XDM Individual Profile class that comprises Demographic Details, Personal Contact Details, Preference Details and a custom identity field group.3-Luma-Product-Catalog.postman_collection.json
creates a schema and populated dataset for product catalog information. The schema is based on a custom product catalog class and uses a custom product catalog field group.4-Luma-Offline-Purchase-Events.postman_collection.json
creates a schema and populated dataset for offline purchase event data of customers. The schema is based on XDM ExperienceEvent class and comprises a custom identity and Commerce Details field groups.5-Luma-Product-Inventory-Events.postman_collection.json
creates a schema and populated dataset for events related to products going in and out of stock. The schema is based on a custom business event class and a custom field group.6-Luma-Test-Profiles.postman_collection.json
creates a schema and populated dataset with test profiles to use in Adobe Journey Optimizer7-Luma-Web-Events.postman_collection.json
creates a schema and populated dataset with simple historical web data.
Validation
The sample data has been designed so that when the collections have run, Real-Time Customer Profiles are built that combine data from multiple systems. A good example of this is the first record of the loyalty, CRM, and offline purchase datasets. Look up that profile to confirm the data was ingested. In the Adobe Experience Platform interface:
- Go to Profiles > Browse
- Select
Luma Loyalty Id
as the Identity namespace - Search for
5625458
as the Identity value - Open the
Daniel Wright
profile
By browsing through the data in the Attributes and Events tabs, you should see that the profile contains data from the various data files:
Next steps
If you would like to learn about Adobe Journey Optimizer, this sandbox contains everything you need to take the Journey Optimizer challenges
If you would like to learn about merge policies, data governance, query service, and the segment builder, jump over to lesson 11 in the Getting Started for Data Architects and Data Engineers tutorial. The earlier lessons of this other tutorial have you manually build everything that was just populated by these Postman collections–enjoy the head start!
If you would like to build a sample Web SDK implementation to link to this sandbox, go through the
Implement Adobe Experience Cloud with Web SDK tutorial. After setting up the “Initial Configuration”, “Tags Configuration”, and “Set up Experience Platform” lessons of the Web SDK tutorial, log into the Luma website using the first ten email addresses in the luma-crm.json
file using the password test
to see the profile fragments merge with data uploaded in this tutorial.
If you would like to build a sample Mobile SDK implementation to link to this sandbox, go through the
Implement Adobe Experience Cloud in mobile apps tutorial. After setting up the “Initial configuration”, “App implementation”, and “Experience Platform” lessons of the Web SDK tutorial, log into the Luma website using the first email addresses in the luma-crm.json
file to see a profile fragment merge with data uploaded in this tutorial.
Reset Sandbox environment reset-sandbox
Resetting a non-production sandbox deletes all resources associated with that sandbox (schemas, datasets, and so on), while maintaining the sandbox’s name and associated permissions. This “clean” sandbox continues to be available under the same name for users that have access to it.
Follow the steps here to reset a sandbox environment.