Redefining Remarketing with Adobe I/O

There was a time when it was considered cutting edge to send a remarketing email to a customer 12–24 hours after they abandoned their online shopping cart. Not anymore. With nearly 66 percent of online visitors abandoning their cart, there is a frightening potential for lost sales; however, by taking your remarketing to the next level, it doesn’t have to be.

With Adobe Experience Cloud and Adobe I/O, you can enable near real-time on-site remarketing and cross-platform advertising. If you’re a customer of Adobe Analytics, Adobe Target and Adobe Audience Manager, you can now use Adobe I/O Events and Adobe I/O Runtime to build an event-driven, lightweight solution that allows you to quickly retarget and remarket to customers who’ve abandoned their carts. Here’s a common user story:

An anonymous user visits a retail website. The user visits the product page, selects a color and size of the product they want, and adds the product to their cart. The user proceeds to checkout, but before making an actual purchase, the user leaves the retail website and abandons the cart. Thanks to remarketing efforts, the user visits third-party partner websites and observes advertisements relevant to their cart abandonment activity. The next time the user visits the retail website, they experience a custom-tailored view based on their past interaction with the website.

And here’s how to achieve that, using Adobe I/O:

Step One: Use Analytics Triggers to identify cart abandonment

Triggers is a Marketing Cloud Activation core service that enable marketers to identify, define, and monitor key consumer behaviors, and then generate cross-solution messages to re-engage visitors. You can use triggers to take personalized, near real-time marketing actions in response to a visitor’s behaviors.

An anonymous user abandons the cart with El Gordo Down Jacket

For remarketing, we have defined a trigger to identify cart abandonment activity by a user. Specifically, if a user adds products to their shopping cart but doesn’t make an actual purchase in a specific time interval, the trigger gets fired.

Step Two: Use Adobe I/O Events to enable triggers for third-party integrations

With Adobe I/O Events, you can code event-driven experiences, applications, and custom workflows that leverage and combine Adobe Experience Cloud, Creative Cloud, and Document Cloud. This comes in very handy when a shopping cart abandonment trigger is fired.

Adding an Analytics event with your remarketing webhook in Adobe I/O Console

Developers define what type of events they want to subscribe to, and the webhooks that Adobe I/O Events should call when that event happens. This lets you create event responses when and how you want, to deliver effective, personalized experiences for your users.

Select the Analytics Trigger that you are interested in

In this example, we have created an integration in Adobe I/O Console that subscribes to the trigger events that we defined to identify cart abandonment activity by user. Whenever a user follows the pattern, a trigger message will be generated and Adobe I/O Events will POST the trigger message to our custom webhook in near real-time.

Event Registration in Adobe I/O Console Integration

Step Three: Adobe I/O Runtime / Third-party webhook server for near real-time action to custom events

Adobe I/O Runtime is our serverless platform that allows you to quickly deploy custom code to respond to events and execute functions right in the cloud, all with no server set-up required. In Adobe I/O Runtime, we can write custom code to parse the message and take action based on given inputs.

Either you can host the code to respond to the generated event by Adobe I/O Events on Adobe I/O Runtime serverless functions or you can host the Webhook Server yourself. It should be able to receive an HTTP POST request and process the JSON payload. A sample NodeJS webhook server application is available for your reference: Sample Webhook Server

In this example, we are calling Target Profile BatchUpdate APIs and Audience Manager DCS Events APIs to update the user profile based on Target PC ID (Target) and Marketing Cloud Visitor ID (Audience Manager).

When a trigger message is generated, Adobe I/O Events sends a POST message with event payload in near-real time. The event payload contains the trigger instance with cart abandonment activity captured as below:

{
"com.adobe.mcloud.protocol.trigger": {
"triggerId": "7fe86e33-1ef7-4cf4-9cf9-4f36bd02XXXX",
"triggerTimestamp": 1522709103276,
"mcId": "4135609647730422346442844330045149XXXX",
"enrichments": {
"analyticsHitSummary": {
"dimensions": {
"eVar3": {
"type": "string",
"data": [
"55aa244cea2f45398d19da11d236XXXX.28_88"
],
"name": "eVar3",
"source": "session summary"
},
"eVar4": {
"type": "string",
"data": [
"119"
],
"name": "eVar4",
"source": "session summary"
},
"eVar5": {
"type": "string",
"data": [
"El Gordo Down Jacket Green"
],
"name": "eVar5",
"source": "session summary"
},
"eVar6": {
"type": "string",
"data": [
"http://localhost:4502/content/we-retail/us/en/products/men/coats/el-gordo-down-jacket.html#meskwielt.1-S"
],
"name": "eVar6",
"source": "session summary"
},
"eVar7": {
"type": "string",
"data": [
"http://localhost:4502/content/we-retail/us/en/products/men/coats/el-gordo-down-jacket/jcr:content/root/product/meskwielt_1-s/image.thumbnail.64.transparent.png/1473680878306.png"
],
"name": "eVar7",
"source": "session summary"
},
"eVar8": {
"type": "string",
"data": [
"9"
],
"name": "eVar8",
"source": "session summary"
}
},
"products": {}
}
},
"triggerPath": [
{
"timestamp": 1522701845696,
"stateId": "start_and_and",
"transition": "null"
},
{
"timestamp": 1522709094793,
"stateId": "vmi_and_1",
"transition": "conditional -> select * where pageURL like 'http://localhost:4502/content/we-retail/us/en/user/cart.html'"
},
{
"timestamp": 1522709094793,
"stateId": "notify_wait",
"transition": "states visited -> [StateVisitedNode [stateId=vmi_and_1, count=1, operator=GE]]"
},
{
"timestamp": 1522709098008,
"stateId": "notify",
"transition": "inactive_timeout -> 3"
}
]
}
}

Watch the solution work!

Thanks to Analytics Triggers and Adobe I/O Events, we are able to create a high value audience segment of anonymous users that have abandoned their cart. And with Adobe Target Experience Targeting and Adobe Audience Manager Traits/Segments/Audiences we can create a personalized user remarketing experience. Here’s how it works:

The user visits a third party website and are identified as being a member of the cart abandonment audience, and it triggers a personalized ad, shown below:

A third-party website with custom ad-banner

The user then clicks the banner and lands on the retail website, where they see a the personalized offer below:

A retail website with personalized UI/offer

And presto, you’re all done! Next level remarketing with Adobe I/O. With Adobe I/O Events and Adobe I/O Runtime, the remarketing cycle is reduced from 12–24 hours to near real-time. After all, when the chance for a sale gets less and less with every passing minute after cart abandonment, the clock is ticking for marketers and developers to make the most of every second.

If you want to implement this solution please refer to our step by step guide as below:

Join us for our annual global conference Adobe Immerse 2018 to attend our session Redefine Remarketing with Adobe I/O on June 14th 13:40 PDT. With over 90 sessions over 4 days for any developer building solutions on Adobe Experience Manager, Adobe Cloud Platform, Adobe I/O, Adobe Sensei, ColdFusion, and FrameMaker. You can use an exclusive coupon code to get $25 off: AIS48#

Follow the Adobe I/O blog for more developer stories and resources, and check out Adobe I/O on Twitter for the latest news and developer products.