Experience League | Image

L775 - Adobe Experience Platform: Unified Profile & Segmentation

Table of Contents

Figure 1: Unified Profile

Lab Abstract

Adobe Experience Platform Unified Profile provides a consolidated, real-time customer profile that enables marketers to drive coordinated, consistent and relevant experiences with their audiences across channels.

Today you will learn how unified profiles are stitched together using Identity Service and assembled in Platform by creating an example profile on a web site and retrieving it as an Experience Platform user. You will also get a chance to test drive Adobe's new Experience Platform Segmentation Service.

**NOTE: At your workstation you should have a paper with your login information, e.g. "L775+01@adobeeventlab.com”. Use these login credentials to access Adobe Experience Platform.

Objectives

  1. Create a sample customer profile on a demo web site and generate events by browsing the page
  2. Retrieve and view these unified profiles in Adobe Experience Platform
  3. Define segments using the new Experience Platform Segmentation Service

Key Takeaways

  • Experience Platform Unified Profile combines user attribute and interaction data to form a consolidated view of the consumer profile for use across channels - inside OR outside of Adobe products
  • Experience Platform Segmentation Service provides both marketers and data engineers the ability to create powerful segments in an intuitive, elegant interface

Prerequisites

  • Adobe Experience Platform Login and URL
  • Review workbook step-by-step instructions

Lab Scenario Context

Luma (our demo company) is a nationally-recognized activewear manufacturer and retailer with more than 230 stores spanning 43 states and growing. We offer a broad selection of over 10,000 outdoor and fitness products. http://luma.adobedemo.com/

Challenges

Luma seeks to boost quarterly sales through targeted campaigns and personalization across channels (primarily web, email and mobile) but their view of the customer across these channels is fragmented and incomplete.

Goals

  1. Create a rich and complete real-time customer profile encompassing demographic and transaction history to personalize the experience
  2. Segment against these unified profiles to target the audiences using both CRM attributes and interaction data

Introductory Exercise: Log into Adobe Experience Platform

  1. Navigate to platform.adobe.com/ga/home

  2. Log in using the credentials supplied on your lab card

    Figure

    • Choose "Personal ID" if given the option

    Figure

  3. You should land on the Platform home page

    Figure

Adobe Experience Platform Context

This lab focuses on building and segmenting against unified profiles, a key workflow enabled by various setup and configuration steps in Adobe Experience Platform:

Figure 2: Experience Platform Configuration Workflow

Prior to this, our data team has already handled the following steps:

1. Define schemas

Adobe Experience Platform uses a standardized schema known as the Experience Data Model, or XDM. The first step after getting access to Platform is to define at least one XDM schema.

Schemas define the structure of your data for Unified Profile and other Platform workflows.

2. Prepare Data

Once a valid schema has been defined, the next step is to transform your data and map to your XDM schema by creating datasets. Datasets are buckets into which your key attributes and interactions can be placed.

3. Add Data

Upload files, create data connections or use APIs to populate datasets in Platform. In the case of Luma, this includes instrumenting Adobe Launch and sending data into Platform via direct beacons as well as via Adobe Analytics. We will also be utilizing CRM data uploaded to Platform.

When data lands into a dataset which has been flagged as part of Unified Profile, it is automatically added for use.

Lesson 1: Adobe Experience Platform Identity Service Overview

Objective

Become familiar with Experience Platform Identity Service.

As consumers, we interact with brands via a wide variety of channels. A single person may interact via web, mobile, physical stores and call centers. They may have CRM data stored in a customer system and opt in to email communications. This continually-increasing breadth of channels becomes very challenging to resolve to the single person behind them.

Figure

Adobe's Experience Platform Identity Service solves the identity resolution problem for Marketers and Data Analysts by keeping an up-to-date list of which IDs are connected and how. Each channel is associated with an identity "namespace" -- the context for an ID. When a person lands on the Luma website for the first time, the namespace for web users is activated and an anonymous ID is assigned. Later, when that person logs in or creates an account, we activate a second namespace and ID and link it to the first. This linking process continues across various channels and the person's identity graph begins to take shape.

Figure

The key aspect of this identity graph, though, is that it always maintains the most up-to-date information. That means the instant a person logs in from their mobile device, that namespace and ID are linked to their CRM profile and other associated identities and the updated ID graph is available for use. This powerful identity resolution capability is foundational to delivering relevant digital experiences consistently, wherever the consumer may choose to engage with them.

Exercise 1.1: See ID Namespaces in Platform

  1. From the Platform home page, select "Identities" from the left navigation rail Figure
  2. Look through the list of standard identity types. See if you can locate the following:
    • Adobe Analytics (Legacy ID)
    • ECID
    • Email
    • CRM ID

For this lab, we will be focusing on three specific identity types:

  • Experience Cloud ID (ECID) for web interaction data (With Legacy Analytics ID as backup)
  • Email Address for profile information such as name, gender, and home address
  • CRM ID to include additional profile attributes such as birthday, phone number, work address, and loyalty status

Lesson 2: Build a Sample Profile

Objective

Create your own sample profile.

To see the Identity Service in action, we'll be establishing our own identities by becoming new customers of the Luma brand.

Exercise 2.1: Anonymous Identities: Interacting with the Luma Page

  1. Go to Luma Web Page at http://luma.adobedemo.com

    Figure

  2. Click around on the page - view Featured Products. Choose at least one product to view, and note the product name or names.

    Figure 2: Luma Featured Products

  3. Add one or more items to your cart

    Figure

Now that we've initiated some interaction with the Luma brand as anonymous users, we have created our first node in the identity graph. The Experience Cloud ID (or ECID) is a cookie-based ID assigned to every consumer who interacts with our website. This site is instrumented with Adobe Launch, and we can use the debugging console to see the ECID which was sent.

Optional Exercise 2.1A: Look up your new Experience Cloud ID

  1. Open the Chrome Developer Tools by pressing command + option + i

  2. Navigate to the Network tab (then refresh the page if you don't see any network calls)

    Figure

  3. Click in the Filter box and type ecid (or mid if ECID is not present)

    Figure

  4. Choose one of the filtered calls from the list

    Figure

  5. The ECID (or MID) is the anonymous ID for your user; copy this and save it for later reference

    Figure

Exercise 2.2: Authenticated Identities: Create a Luma Account

  1. Click the login button on the top right corner of the screen

    Figure

  2. Choose "Create a new account" underneath the login fields

    Figure

  3. Create a new profile by filling out the form fields

    • Please do not use any real personal data
    • Write the fake email address for this user here: __________________@lumalab.dev
    • For convenience, use demo123 as the password

    Figure

  4. Once the account has been set up, you will be prompted to log in.

    Figure

  5. After logging in, click the "Edit Profile" button and fill out additional fields such as gender, address, etc. We will use these fields later for segmentation

    Figure

  6. At the bottom of the form fields, locate the field marked "Loyalty ID." Enter the 6-digit CRM ID from your user card into this field.

    Figure

  7. Save Changes

    Figure

When a new user creates an account, that account information is sent to be stored in a backend system such as CRM, ERP, or similar. For this lab, we're also injecting the data directly into platform.

The key event that occurs when the customer logs in is the association of the anonymous identity with the new, known customer ID. When these IDs come into the Identity Service together, a link is formed between them and the identity graph updates to include this new information.

Optional Exercise 2.2A: See the XDM data being passed to Platform

  1. (If not already open) open the Chrome Developer Tools by pressing command + option + i

  2. Navigate to the Network tab if needed

    Figure

  3. Click on the "Edit Profile" and "Save Changes" buttons to generate the Platform beacon

    Figure

  4. Filter the network calls by the term dcs to locate the platform beacon; look for the POST call (Note: this is initiated by clicking on the "Save Changes" button)

    Figure

  5. Go to the request payload and expand the "body" and "xdmEntity" sections

    Figure

  6. In the "Identities" section of this payload, you should see both the anonymous and known identities arrayed there.

    Figure

Exercise 2.3: Cross-Device experience

The real power of the Experience Platform is its ability to merge profiles across devices. This is critical for a true real-time customer profile. To simulate a cross-device experience in this lab, we will be logging in via an incognito window or on your mobile device and browsing for a different product.

  1. Open an incognito window in Chrome by pressing command + shift + N (or on your mobile device for a true cross-device experience)

  2. Navigate to the Luma page: http://luma.adobedemo.com

    Figure

  3. Log in to the site using the credentials you created earlier

    Figure

  4. Browse for a different product than on the previous device

Lesson 3: Unified Profile

Objective

Understand how Unified Profile stores and assembles profiles and retrieve them in Experience Platform.

With the ID graph maintained by Identity Service as the foundation, we can now start looking at unifying all the data, attributes and interactions associated with a person and assemble it into a consolidated, consistent view. This consolidation at the core of Unified Profile.

All data flowing into Unified Profile, whether attributes or interactions, comes in tied to at least one ID, and is stored in a profile fragment corresponding to that ID. For example, when a person interacts with Luma on the web, all the information relevant to that interaction is stored in a profile fragment associated with that person's ECID. Then, when a unified profile is needed for segmentation or lookup, the current ID graph is consulted and the profile for that person is dynamically assembled by combining all the profile fragments tied to those IDs. Because of the dynamic nature of Unified Profile, our holistic customer view responds automatically as new devices or addiitonal back office data are added, nondestructively augmenting the existing profile.

Figure

It is not uncommon for some profile fragments to contain duplicate or even conflicting data. So how do we reconcile these differences in profile attributes when assembling the Unified Profile? The answer lies in an ingenious feature called "Profile Merge Policies."

Profile Merge Policies

All data coming into Experience Platform uses the same universal XDM schema and lands in specific data sets, which correspond to the source from which the data was supplied. Profile Merge Policies resolve conflicts by allowing the data engineer to stack rank datasets in order of fidelity: more accurate datasets take precedence over less-accurate ones.

However, there may be some situations or use cases in which the reliability of data from these datasets depends on the use cases themselves. For example, say we want to send some unified profiles for offsite media buying in the AdTech space. If we're using any data supplied by third parties in our unified profile, we're not allowed to combine that data with our own first-party attributes for this use case. Therefore, a less-accurate (but legal) field from the third party would be preferable to a more accurate, but off-limits, field.

For cases like these, I can create specific merge policies, rearrange the dataset preference accordingly, and invoke them in that specific workflow. By tailoring and maintaining multiple merge policies, in conjunction with Data Governance and GDPR Service, Adobe customers can ensure they are producing the most complete profile permitted for their use cases.

Learn more about Adobe Experience Platform Data Governance by reading our

Exercise 3.1: Log into Adobe Experience Platform

If you have not yet logged in to Adobe Experience Platform, do so now.

  1. Navigate to platform.adobe.com/ga/home

  2. Log in using the credentials supplied on your lab card

    Figure

    • Choose "Personal ID" if given the option

    Figure

  3. You should land on the Platform home page

    Figure

Exercise 3.2: Look Up Profiles in Experience Platform

Now that we've all created profiles, it's time to find them in the Unified Profile store

  1. Go to AEP-UI Profile Browse page

    Figure

  2. Click the "Find a Profile" button in the top right of the page

    Figure

  3. Choose the namespace you wish to use to look up the profile

    Figure

    • For the email namespace, enter the email address

    Figure

    • For the ECID namespace, paste the ECID from either of the optional exercises

    Figure

  4. Look at the profile overview and linked IDs

    Figure

    • You should see the email address and at least one ECID
  5. Click on the "Events" tab

    Figure

    • See if you can find the product pages your user viewed
    • Are there specific events such as "Viewed Product Page?"

For this lab, we have one or more profile fragments associated with three key ID Namespaces: ECID, Email, and CRM ID. When we look up profiles in this exercise, we're watching Unified Profile assemble data from each of these sources (even across multiple devices if those devices are linked) and serve up the results in a single, consolidated view!

Lesson 4: Segmentation on Unified Profile

Objective

Build segments using Experience Platform Segmentation Service

Now that we've explored individual profiles, let's change gears and start looking at groups of profiles who share similar characteristics. For this, we'll be looking at an brand new segmentation experience in Adobe Experience Platform.

Data Structure in Adobe Experience Platform

Before diving into the new segment builder experience, let's quickly review how data is structured in Adobe Experience Platform. Data is stored in to basic structures: one for record data, one for time-series data.

Record Data (Attributes)

Record data contains attributes that apply to a given profile independent of time. These describe characteristics of the profile, such as:

  • First and Last Name
  • Account Number
  • gender
  • email address
  • physical address
  • loyalty status

The key with these types of descriptors is this: there is no concept of when.

Time-Series Data (Events)

In contrast to Record Data, Time Series data is all about when. Timestamps are a critical piece of information here because they are used to describe the sequences of events or interactions that occur over time. Here are a few examples:

  • Account creation
  • Login on new device
  • Add product to cart
  • Mobile app download
  • In-store purchase
  • Loyalty status change

Understanding the difference between these fundamentally data structures is especially helpful when looking at questions that might blur the lines somewhat. For example, take "loyalty status," which is represented in both places. Here are two example questions our Luma marketers might ask around loyalty status:

  1. Give me all gold customers (use record data to find all customers with the attribute "loyalty status" = "gold")
  2. Give me all new gold customers this month (here we're actually looking for an event occurring this month where the status changed to "gold")

A firm grasp of how data is organized in Experience Platform should dispel potential confusion about how to handle similar questions you may encounter.

It will also help you when choosing building blocks within the segment building experience. In the left rail of the segment builder, you'll see three top-level tabs:

Figure

  • Attributes: these correspond to fields organized as Record Data
  • Events: Here you'll find the Time-Series Data options you'll need for capturing event sequences
  • Segments: Use existing segments as a starting point for your new segment

Exercise 4.1: Build a Basic Segment

As an introduction to the segment builder, we'll start with a very basic segment: People in a specific state

  1. In The Adobe Experience Platform, click on the "Segments" item in the left rail.

    Figure

  2. Choose "Create Segment" in the top right corner of the screen

    Figure

  3. Give the segment a name: Customers in (State Name)

    • (State Name) depending on the state you used when creating your profile
    • Example: "Customers in Massachusetts"

    Figure

  4. From the Attributes section of the left rail, search for "State Province" and drag into canvas

    Figure

  5. Set the value of "State Province" equal to the 2-letter code from your profile

    Figure

  6. Verify whether the estimate found any matches for this segment rule

    Figure

  7. Click on "View Profiles" to see sample profiles meeting the segment rule criteria

    Figure

  8. Save the segment

    Figure

Exercise 4.2: Build an Event-Based Segment

  1. Choose "Create Segment" in the top right corner of the screen

    Figure

  2. Give the segment a name: (#) - (product) Prospects

    • (#) is your lab user number (so you can find the segment afterwards)
    • (product) refers to a product you added to your cart

    Figure

  3. Choose the "Events" tab in the left rail and drag the "AddCart" event into the canvas

    Figure

  4. Click on the new event tile to view event details

    Figure

  5. In the left rail, search for "Name" and drag it into the detail section

    Figure

  6. In the details section, create the argument "Name" contains (your product)

    • Example: "Name" contains Water Bottle

    Figure

  7. Click on the event tile again to close the detail view

    Figure

  8. In the left rail, drag the "Purchase" event and drop to the right of the existing "AddCart" tile

    Figure

  9. Select the time umbrella and choose "Last 7 Days" for the time window

    Figure

Advanced Segmentation Use Cases

Segments as Building Blocks

As marketers, we often create segments with similar core characteristics. Say, for example, a key target market consists of people who purchase high-end mobile devices, and we maintain a list of 20+ devices which fit this criteria. Now imagine we have a handful of segments which involve this target market:

  • People on high-end devices in a particular region
  • People who make purchases on high-end devices
  • Males/Females with high-end devices
  • People who install the Luma app on a high-end device
  • People who check inventory on high-end devices

Rather than add the same argument of "device type is A or B or C or...." to every segment needing this specific rule, the Unified Profile segment builder allows us to create a single segment for "high-end device owners" and reference this definition in subsequent segments. What's more, when the next Apple or Samsung device is released, we can simply update the base segment, and all subsequent segments referencing this base can automatically take advantage of the addition.

Dynamic Segmentation

Many companies struggle to manage the number of segments traditionally required to provide highly-tailored experiences to their customers. For example, say I'm a commercial airline with 200 destinations, and I want to provide custom messaging to people who fly the same route (A to B) two or more times per month. Traditionally, marketers would have to create a segment for each destination pair--that means nearly 40,000 segments for the airline. Even at Luma, our product catalog of over 10,000 SKUs means we simply can't manage that level of customization through traditional segmentation.

Experience Platform segmentation offers a simple, yet powerful way to solve this problem at scale. Rather than create 10,000 segments to capture repeat product purchasers, with Experience Platform we can manage this in a single, simple segment. Below you'll find a segment that captures all customers who make two or more purchases of the same product in a 30-day period.

Segmentation using Dynamic Variables

Here we've bundled all the complexity of our 10,000 SKUs into one segment thanks to the segment builder's ability to reference fields dynamically. We've defined two purchase events, and simply stated that the SKU in the second should contain the SKU of the first. And just like that, we've saved ourselves the work of creating the other 9,999 product-specific segments for our brand!

Whether it's 10,000 or 1 Million+ products, we can now customize experiences easily and intuitively using an industry-first segmentation UI.

More Examples of Segments using Dynamic Variables

Addressing traditional issues with scale

  • People who make purchases from Luma stores outside their home state
  • People who make multiple purchases of separate products in a single product category
  • People who add and abandon the same product in the cart multiple times

Net new capabilities

  • People who spend more on a subsequent purchase than their initial one
  • People who ship orders to locations other than their home address
  • People who spend more shopping for significant others than for themselves

Additional Resources

Public documentation

Please reach out to Ali Khan (malikhan@adobe.com) and Aaron Shields (shields@adobe.com) with additional questions.