Intelligently re-engage your customers to return
- Topics:
- Use Cases
CREATED FOR:
- Admin
Re-engage customers who have abandoned a conversion in an intelligent and responsible way. Engage lapsed customers with experiences to increase conversion and increase the client lifetime value.
Employ real-time considerations, take into account all consumer qualities and behaviors, and offer fast re-qualification based on both online and offline events.
Below is a high-level architecture view of the various components of Real-Time CDP and Journey Optimizer. This diagram shows how data flows through the two Experience Platform apps from data collection up to the point where it is activated through journeys or campaigns to destinations, in order to achieve the use case described on this page.
Use case overview
You will construct schemas, datasets, and audiences as you work through examples of re-engagement scenarios. You will also discover the features needed to set up the example journeys in Adobe Journey Optimizer and those needed to create paid media advertisements in destinations. This guide uses examples of re-engaging customers in the use case journeys outlined below:
- Abandoned product browse scenario - Target customers who have abandoned product browsing on both the website and mobile app.
- Abandoned cart scenario - Target customers who have placed products in the cart but have not yet been purchased on both the website and mobile app.
- Order confirmation scenario - Focus on product purchases made through the website and mobile app.
Prerequisites and planning
As you complete the steps to implement the use case, you will make use of the following Real-Time CDP and Adobe Journey Optimizer functionality (listed in the order in which you will use them). Make sure that you have the necessary attribute-based access control permissions for all these areas, or ask your system administrator to grant you the necessary permissions.
-
Adobe Real-Time Customer Data Platform (Real-Time CDP) - Integrates data across data sources to fuel the campaign. This data is then used to create the campaign audiences and surface personalized data elements used in the email and the web promo tiles (for example, name or account-related information). The CDP is also used to activate audiences across email and the web (via Adobe Target).
-
Adobe Journey Optimizer - Helps you deliver connected, contextual, and personalized experiences to your customers.
How to achieve the use case
Below is a high level overview of the three example re-engagement scenarios.
The abandoned product browse scenario targets abandoned product browsing on both the website and mobile app. This scenario is triggered when a product has been viewed but not purchased or added to the cart. In this example, brand engagement is triggered after three days if there are no list additions within the last 24 hours.
-
You create schemas and datasets, then enable for Profile.
-
You ingest data into Experience Platform via Web SDK, Mobile SDK or API. Analytics Source Connector can also be utilized, but may result in journey latency.
-
You ingest additional profile-enabled data, which can be linked to the authenticated web and mobile app visitor via identity graphs.
-
You build focused audiences from the list of profiles to check if a customer has made an engagement in the last three days.
-
You create a abandoned product browse journey in Adobe Journey Optimizer.
-
If needed, work with the data partner for the activation of audiences to desired paid-media destinations.
-
Adobe Journey Optimizer checks for consent and sends out the various actions configured.
The abandoned cart scenario applies when products have been placed in the cart but have not yet been purchased on both the website and mobile app. Also, Paid Media campaigns are started and stopped using this method.
-
You create schemas and datasets, the enable for Profile.
-
You ingest data into Experience Platform via Web SDK, Mobile SDK or API. Analytics Source Connector can also be utilized, but may result in journey latency.
-
You ingest additional profile-enabled data, which can be linked to the authenticated web and mobile app visitor via identity graphs.
-
You build focused audiences from the list of profiles to check if a customer has placed an item in their cart but has not completed the purchase. The Add to cart event kicks off a timer that waits for 30 minutes, then checks for purchase. If no purchase has been made, then the customer is added to the Abandon Cart audiences.
-
You create an abandoned cart journey in Adobe Journey Optimizer.
-
If needed, work with the data partner for the activation of audiences to desired paid-media destinations.
-
Adobe Journey Optimizer checks for consent and sends out the various actions configured.
The order confirmation scenario focuses on product purchases made through the website and mobile app.
-
You create schemas and datasets, then enable for Profile.
-
You ingest data into Experience Platform via Web SDK, Mobile SDK or API. Analytics Source Connector can also be utilized, but may result in journey latency.
-
You ingest additional profile-enabled data, which can be linked to the authenticated web and mobile app visitor via identity graphs.
-
You create a confirmation journey in Adobe Journey Optimizer.
-
Adobe Journey Optimizer sends out an order confirmation message using the preferred channel.
To complete each of the steps in the high-level overviews above, read through the sections below, which offer links to more information and more detailed instructions.
Create schemas and specify field groups
Experience Data Model (XDM) resources are managed in the Schemas workspace in Adobe Experience Platform. You can view and explore core resources provided by Adobe (for example, field groups) and create custom resources and schemas for your organization.
For more information about creating schemas, see the create schema tutorial. and Model Your Customer Experience Data with XDM.
There are four schema designs that are used for the re-engagement use case. Each schema requires specific fields to be set up. You need to enable the schema to be included in the Real-Time Customer Profile. For more information about enabling the schema for use in Real-Time Customer Profile, read enable a schema for Real-Time Customer Profile.
Customer attributes schema
This schema is used to structure and reference the profile data that makes up your customer information. This data is typically ingested into Adobe Experience Platform via your CRM or similar system and is necessary to reference customer details that are used for personalization, marketing consent, and enhanced audience capabilities.
The customer attributes schema is represented by an XDM Individual Profile class, which includes the following field groups:
Personal Contact Details is a standard schema field group for the XDM Individual Profile class which describes the contact information for an individual person.
mobilePhone.number
personalEmail.address
The Consents and Preferences field group provides a single object-type field, consents, to capture consent and preference information.
consents.marketing.email.val
consents.marketing.preferred
consents.marketing.push.val
consents.marketing.sms.val
consents.personalize.content.val
consents.share.val
Customer digital transactions schema
This schema is used to structure and reference the event data that makes up your customer activity that occurs on your website or associated digital platforms. This data is typically ingested into Adobe Experience Platform via Web SDK and is necessary to reference the various browse and conversion events that are used for triggering journeys, detailed online customer analysis, enhanced audience capabilities, and personalized messaging.
The customer digital transactions schema is represented by an XDM ExperienceEvent class.
The XDM ExperienceEvent class includes the following field groups:
_id
timestamp
eventType
The End User ID Details field group is used to describe an individual’s identity information across several Adobe applications.
endUserIDs._experience.emailid.authenticatedState
endUserIDs._experience.emailid.id
endUserIDs._experience.emailid.namespace.code
endUserIDs._experience.mcid.authenticatedState
endUserIDs._experience.mcid.id
endUserIDs._experience.mcid.namespace.code
The Commerce Details field group is used to describe commerce data such as product information (SKU, name, quantity), and standard cart operations (order, checkout, abandon).
commerce.cart.cartID
commerce.order.orderType
commerce.order.payments.paymentAmount
commerce.order.payments.paymentType
commerce.order.payments.transactionID
commerce.order.purchaseID
productListItems.name
productListItems.priceTotal
productListItems.product
productListItems.quantity
Customer offline transactions schema
This schema is used to structure and reference the event data that makes up your customer activity that occurs on platforms outside of your website. This data is typically ingested into Adobe Experience Platform from a POS (or similar system) and most often streamed into Experience Platform via an API connection. Its purpose is to reference the various offline conversion events that are used for triggering journeys, deep online and offline customer analysis, enhanced audience capabilities and personalized messaging.
The customer offline transactions schema is represented by an XDM ExperienceEvent class.
The XDM ExperienceEvent class includes the following field groups:
_id
timestamp
eventType
The Commerce Details field group is used to describe commerce data such as product information (SKU, name, quantity), and standard cart operations (order, checkout, abandon).
commerce.cart.cartID
commerce.order.orderType
commerce.order.payments.paymentAmount
commerce.order.payments.paymentType
commerce.order.payments.transactionID
commerce.order.purchaseID
productListItems.name
productListItems.priceTotal
productListItems.product
productListItems.quantity
Personal Contact Details is a standard schema field group for the XDM Individual Profile class which describes the contact information for an individual person.
mobilePhone.number
personalEmail.address
Adobe web connector schema
This schema is used to structure and reference the event data that makes up your customer activity that occurs on your website or associated digital platforms. This schema is similar to the Customer Digital Transactions schema but differs in that it is intended to be used when Web SDK is not an option for data collection; thus, this schema is needed when you are utilizing the Adobe Analytics Source Connector to send your online data into Adobe Experience Platform either as a primary or secondary datastream.
The Adobe web connector schema is represented by an XDM ExperienceEvent class.
The XDM ExperienceEvent class includes the following field groups:
_id
timestamp
eventType
The Adobe Analytics ExperienceEvent field group captures common metrics that are collected by Adobe Analytics.
endUserIDs._experience.emailid.authenticatedState
endUserIDs._experience.emailid.id
endUserIDs._experience.emailid.namespace.code
endUserIDs._experience.mcid.authenticatedState
endUserIDs._experience.mcid.id
endUserIDs._experience.mcid.namespace.code
Create a dataset from a schema
A dataset is a storage and management structure for a group of data. Each schema for intelligent re-engagement scenarios should have its own dataset.
For more information on how to create a dataset from a schema, read the Datasets UI guide.
Consent and data governance
Consent policies
When creating a re-engagement path, consider adding the following consent policies:
- If
consents.marketing.email.val = "Y"
then Can Email - If
consents.marketing.sms.val = "Y"
then Can SMS - If
consents.marketing.push.val = "Y"
then Can Push - If
consents.share.val = "Y"
then Can Advertise
Data Governance labelling and enforcement
When creating a re-engagement path, consider adding the following Data Governance labels:
- Personal email addresses are utilized as direct identifiable data that is used for identifying or getting in touch with a specific individual rather than a device.
personalEmail.address = I1
Data usage policies
There are no data usage policies required for the abandoned product browse scenario. However, you should consider the following:
- Restrict Sensitive Data
- Restrict Onsite Advertising
- Restrict Email Targeting
- Restrict cross site Targeting
- Restrict combining directly identifiable data with anonymous data
Create audiences
The re-engagement scenarios use audiences to define specific attributes or behaviors shared by a subset of profiles from your Profile store to distinguish a marketable group of people from your customer base. Audiences can be created in multiple ways in Adobe Experience Platform.
For more information on how to create an audience, read the audience service UI guide.
For more information on how to directly compose Audiences, read the Audience Composition UI guide.
For more information on how to build audiences through Experience Platform-derived audience definitions, read the Audience Builder UI guide.
This audience is created as an enhancement to the classic “Cart Abandonment” scenario. Whereas cart abandonment typically focuses on a cart addition without a subsequent purchase in a certain period of time, this audience looks for an earlier engagement, specifically those who may have browsed a particular product but did not add it to their cart and had no follow-up activity on your site within a certain time frame. This audience helps to keep your brand “top of mind” for customers who meet this inclusion criteria and can also be leveraged for customers whose digital properties may differ from a traditional e-commerce model.
The following event is used for the abandoned product browse scenario where users viewed products online, and did not engage (site visits, app visits, online purchase, offline purchase, and add to cart events) in the 3 days following.
The following fields and conditions are required when setting up this audience:
eventType: commerce.productViews
- And
THEN
(sequential event) excludeeventType: commerce.productListAdds
ANDapplication.launch
ANDweb.webpagedetails.pageViews
ANDcommerce.purchases
(this includes both online and offline)Timestamp: > 3 days after productView
Timestamp: > 4 days
The following event is used for the abandoned product browse scenario where users viewed products online, and did engage (site visits, app visits, online purchase, offline purchase, and add to cart events) in the 3 days following.
The following fields and conditions are required when setting up this audience:
eventType: commerce.productViews
- And
THEN
(sequential event) includeeventType: commerce.productListAdds
ORapplication.launch
ORweb.webpagedetails.pageViews
ORcommerce.purchases
(this includes both online and offline)Timestamp: > 3 days after productView
Timestamp: > 4 days
The following event is used for the abandoned product browse scenario where users have engaged (site visits, app visits, online purchase, offline purchase, and add to cart events) in the last 1 day.
The following fields and conditions are required when setting up this audience:
eventType: commerce.productListAdds OR application.launch OR web.webpagedetails.pageViews OR commerce.purchases
Timestamp: in last 1 day
(Streaming)
The following event is used for the abandoned product browse scenario where users have engaged (site visits, app visits, online purchase, offline purchase, and add to cart events) in the last 3 days.
The following fields and conditions are required when setting up this audience:
EventType: commerce.productListAdds OR application.launch OR web.webpagedetails.pageViews OR commerce.purchases
Timestamp: in last 3 days
(Batch)
This audience is created to support the classic “Cart Abandonment” scenario. Its purpose is to find customers who added a product to their shopping cart but ultimately did not follow through with a purchase. This audience will help keep not only your brand “top of mind” for your customers but also the products that they left behind without a subsequent purchase.
The following events are used for the abandoned cart scenario where users added a product to their cart between 1 and 4 days ago, but did not complete the purchase or clear their cart.
The following fields and conditions are required when setting up this audience:
eventType: commerce.productListAdds
Timestamp: >= 1 days before now AND <= 4 days before now
eventType: commerce.purchases
Timestamp: <= 4 days before now
eventType: commerce.productListRemovals
Timestamp: <= 4 days before now
The descriptor for the abandoned cart scenario appears as:
Include eventType = commerce.productListAdds between 30 min and 1440 minutes before now. exclude eventType = commerce.purchases 30 minutes before now OR eventType = commerce.productListRemovals AND Cart ID equals Product List Adds1 Cart ID (the inclusion event).
Journey setup in Adobe Journey Optimizer
Adobe Journey Optimizer helps you deliver connected, contextual, and personalized experiences to your customers. The customer journey is the entire process of a customer’s interactions with the brand. Each use case journey requires specific information. Listed below is the precise data needed for each journey.
The abandoned product browse scenario targets abandoned product browsing on both the website and mobile app.
Events allow you to trigger your journeys unitarily to send messages, in real-time, to the individual flowing into the journey. For more information on events, read the general events guide.
-
Event 1: Product Views
-
Schema: Customer Digital Transactions
-
Fields:
eventType
-
Condition:
-
eventType = commerce.productViews
-
Fields:
eventType
productListItems.name
productListItems.priceTotal
productListItems.product
productListItems.productImageUrl
productListItems.quantity
timestamp
endUserIDs._experience.emailid.authenticatedState
endUserIDs._experience.emailid.id
endUserIDs._experience.emailid.namespace.code
_id
-
-
-
Event 2: Add to Cart
-
Schema: Customer Digital Transactions
-
Fields:
eventType
-
Condition:
-
eventType = commerce.productListAdds
-
Fields:
commerce.productListAdds.id
commerce.productListAdds.value
eventType
identityMap.authenticatedState
identityMap.id
identityMap.primary
productListItems.SKU
productListItems.currencyCode
productListItems.name
productListItems.priceTotal
productListItems.product
productListItems.productImageUrl
productListItems.quantity
timestamp
commerce.cart.cartID
endUserIDs._experience.emailid.authenticatedState
endUserIDs._experience.emailid.id
endUserIDs._experience.emailid.namespace.code
_id
-
-
-
Event 3: Brand Engagement
-
Schema: Customer Digital Transactions
-
Fields:
eventType
-
Condition:
-
eventType in application.launch, commerce.purchases, web.webpagedetails.pageViews
-
Fields:
eventType
identityMap.authenticatedState
identityMap.id
identityMap.primary
productListItems.SKU
productListItems.currencyCode
productListItems.name
productListItems.priceTotal
productListItems.product
productListItems.productImageUrl
productListItems.quantity
timestamp
web.webpagedetails.URL
web.webpagedetails.isHomePage
web.webpagedetails.name
endUserIDs._experience.emailid.authenticatedState
endUserIDs._experience.emailid.id
endUserIDs._experience.emailid.namespace.code
_id
commerce.purchases.id
commerce.purchases.value
shipping.address.city
shipping.address.countryCode
shipping.address.postalCode
shipping.address.state
shipping.address.street1
shipping.address.street2
shipping.shipDate
shipping.trackingNumber
shipping.trackingURL
-
-
The journey canvas key logic requires you to identify specific events and configure actions to take place after the event occurs.
-
Journey Entry Logic
- Product View Event
-
Conditions
-
Check for at least one online or offline purchase event since the product was last viewed.
- Schema: Customer Digital Transactions
eventType = commerce.purchases
timestamp > timestamp of product last viewed
-
Check for at least one offline purchase since product last viewed:
- Schema: Customer Offline Transactions
eventType = commerce.purchases
timestamp > timestamp of product last viewed
-
Conditions - Select the Target channel
- Email
consents.marketing.email.val = y
- Push
consents.marketing.push.val=y
- SMS
consents.marketing.sms.val = y
- Email
-
Channel Personalization
- Personalized channel content based on product view.
-
The abandoned cart scenario targets products that have been placed in the cart but have not yet been purchased on both the website and mobile app.
Events allow you to trigger your journeys unitarily to send messages, in real-time, to the individual flowing into the journey. For more information on events, read the general events guide.
-
Event 2: Add to Cart
-
Schema: Customer Digital Transactions
-
Fields:
eventType
-
Condition:
-
eventType = commerce.productListAdds
-
Fields:
commerce.productListAdds.id
commerce.productListAdds.value
eventType
identityMap.authenticatedState
identityMap.id
identityMap.primary
productListItems.SKU
productListItems.currencyCode
productListItems.name
productListItems.priceTotal
productListItems.product
productListItems.productImageUrl
productListItems.quantity
timestamp
commerce.cart.cartID
endUserIDs._experience.emailid.authenticatedState
endUserIDs._experience.emailid.id
endUserIDs._experience.emailid.namespace.code
_id
-
-
-
Event 4: Online Purchases
-
Schema: Customer Digital Transactions
-
Fields:
eventType
-
Condition:
-
eventType = commerce.purchases
-
Fields:
commerce.purchases.id
commerce.purchases.value
eventType
identityMap.authenticatedState
identityMap.id
identityMap.primary
productListItems.SKU
productListItems.currencyCode
productListItems.name
productListItems.priceTotal
productListItems.product
productListItems.productImageUrl
productListItems.quantity
timestamp
endUserIDs._experience.emailid.authenticatedState
endUserIDs._experience.emailid.id
endUserIDs._experience.emailid.namespace.code
_id
-
-
-
Event 3: Brand Engagement
-
Schema: Customer Digital Transactions
-
Fields:
eventType
-
Condition:
-
eventType in application.launch, commerce.purchases, web.webpagedetails.pageViews
-
Fields:
eventType
identityMap.authenticatedState
identityMap.id
identityMap.primary
productListItems.SKU
productListItems.currencyCode
productListItems.name
productListItems.priceTotal
productListItems.product
productListItems.productImageUrl
productListItems.quantity
timestamp
web.webpagedetails.URL
web.webpagedetails.isHomePage
web.webpagedetails.name
endUserIDs._experience.emailid.authenticatedState
endUserIDs._experience.emailid.id
endUserIDs._experience.emailid.namespace.code
_id
commerce.purchases.id
commerce.purchases.value
shipping.address.city
shipping.address.countryCode
shipping.address.postalCode
shipping.address.state
shipping.address.street1
shipping.address.street2
shipping.shipDate
shipping.trackingNumber
shipping.trackingURL
-
-
The journey canvas key logic requires you to identify specific events and configure actions to take place after the event occurs.
-
Journey Entry Logic
AddToCart
Event
-
AuthenticatedState in authenticated
-
Condition: Offline purchases since the cart was last abandoned:
- Schema: Customer Offline Transactions
eventType = commerce.purchases
timestamp > timestamp of cart was last abandoned
-
Condition: Cart cleared since the cart was last abandoned:
- Schema: Customer Digital Transactions
eventType = commerce.cartCleared
cartID
(ID of the cart)timestamp > timestamp of cart was last abandoned
-
Select Target Channel (Select one or multiple channels for wider reach)
- Email
consents.marketing.email.val = y
- Push
consents.marketing.push.val = y
- SMS
consents.marketing.sms.val = y
- Channel Personalization
- Display cart detail information and can display multiple products in a table format.
- Email
The order confirmation scenario focuses on product purchases made through the website and mobile app.
Events allow you to trigger your journeys unitarily to send messages, in real-time, to the individual flowing into the journey. For more information on events, read the general events guide.
-
Event 4: Online Purchases
-
Schema: Customer Digital Transactions
-
Fields:
eventType
-
Condition:
-
eventType = commerce.purchases
-
Fields:
commerce.purchases.id
commerce.purchases.value
eventType
identityMap.authenticatedState
identityMap.id
identityMap.primary
productListItems.SKU
productListItems.currencyCode
productListItems.name
productListItems.priceTotal
productListItems.product
productListItems.productImageUrl
productListItems.quantity
timestamp
endUserIDs._experience.emailid.authenticatedState
endUserIDs._experience.emailid.id
endUserIDs._experience.emailid.namespace.code
_id
-
-
The journey canvas key logic requires you to identify specific events and configure actions to take place after the event occurs.
-
Journey Entry Logic
- Order Event
-
Conditions
-
Select Target Channel (Select one, or multiple channels for wider reach).
- Order confirmation is considered serving in nature, so consent checking is usually unnecessary.
- Push
- SMS
-
Channel Content Personalization
- Display order details information and can display a list of products using a table format.
-
For more information about creating journeys in Adobe Journey Optimizer, read the Get started with journeys guide.
Setting up paid media ads in destinations
The destinations framework is used for paid media ads. Once consent has been checked it sends out to the various destinations configured. For more information about destinations, read the Destinations overview document.
Data required for destinations
Streaming audience export destinations (such as Facebook, Google Customer Match, Google DV360) support various identities from customer data:
personalEmail.address
ECID
mobilePhone.number
You can activate abandoned product browse and abandon cart audiences to paid media ads.
-
Stream/Triggered
- Advertising/Paid Media & Social
- Mobile
- Streaming Destination
- Custom destination created by using Destination SDK.. If you are a Real-Time CDP Ultimate customer, you can also create a private custom destination using Destination SDK
Next steps
By re-engaging your customers who abandoned a conversion in an intelligent and responsible way, you have hopefully increased conversions and increased the client lifetime value.
Next, you can explore other use cases supported by Real-Time CDP, such as displaying personalized content to unauthenticated users on your web properties.