Issue with Handling orders in AEP | Community
Skip to main content
arpan-garg
Community Advisor
Community Advisor
September 26, 2023
Solved

Issue with Handling orders in AEP

  • September 26, 2023
  • 3 replies
  • 2025 views

Hello, I have a scenario where I need to store order-related data in Adobe Experience Platform (AEP). I'm uncertain about whether to use the Individual Profile or the Experience Event for this purpose.

  1. If I opt for using the Individual Profile to manage orders, I'll face the challenge of needing to send all previous orders back to the dataset whenever a customer places a new order. This is necessary to ensure that the previous orders aren't overwritten.

  2. Alternatively, if I choose to use the Experience Event, I can easily manage all the orders, including their timestamps. However, there's a potential issue when customers contact customer care to modify their orders, such as upgrading a product. In the Experience Event approach, I'll end up with two identical orders: one made online and the other updated by customer care. As a result, when retrieving all the active bookings for the customer, it will show as two bookings, even though there is only one booking that has been updated.

Could you please provide guidance on how to address this situation in AEP?

 

CC: @arijitg @danny-miller @anil_umachigi 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by arpan-garg

@dwright-adobe @_manoj_kumar_ , thanks for the help, I found a way of handling this via a scheduled query which is deduplicating the events and then calculating the average of bookings and later inserting it into a profile as a profile attribute.

 

It comes with a drawback of time taken, but is fine for my client usecase.

3 replies

_Manoj_Kumar_
Community Advisor
Community Advisor
September 26, 2023

Hello @arpan-garg 

 

Saving it under an Experience event schema is the right move — I'm just curious to know why you want to overwrite an existing event entry. Please expand on your use case about how you will use the order data in the platform.

Adding a different eventType could be the solution to differentiate between 2 orders.

     Manoj     Find me on LinkedIn
arpan-garg
Community Advisor
Community Advisor
September 26, 2023

Hello @_manoj_kumar_ ,

Thank you for your prompt response. Let me provide you with a specific scenario. Imagine we have a customer named A who placed an online order with the order number 123, and the initial order price was 2000 USD (eventType: commerce.purchases). However, after placing the order, they contacted our customer care and had it updated. As a result, the new price for order number 123 is now 2400 USD (eventType: commerce.purchases.update).

Now, let's consider another customer, Customer B, who made two online orders with the order number 456 and 780, and the order price was 1000 USD and 2000 USD(eventType: commerce.purchases).

My objective is to segment these customers based on the condition that the sum of all the orders they have made exceeds 2200 USD.

 

How can i achieve this ? How can i make sure that order number 123 which is latest with changes made by customer care is only considered?

arpan-garg
Community Advisor
Community Advisor
September 26, 2023

eventType doesn't matter to us in this usecase. The idea is to sum up all the active bookings of the customers. In customer A the sum should just be 2400 USD and for customer B the sum should be (1000+2000 = 3000 USD)

arpan-garg
Community Advisor
Community Advisor
September 27, 2023

Hi , any other pointers on the above problem statement @yuhuisg  @danny-miller @_manoj_kumar_ @arijitg @anil_umachigi 

Adobe Employee
September 27, 2023

@arpan-garg ,

You should look into the new Computed Attributes feature launching this week:
https://experienceleague.adobe.com/docs/experience-platform/profile/computed-attributes/overview.html?lang=en

This will allow you to collect purchases as event data (as it should be), sum order totals across multiple purchase events, and then store the computed value as attribute data. I'm not sure about how you could handle these duplicate order scenarios, but perhaps there is a way? (I would think you would need some appropriate fields in the customer care version of the order to make this possible).

arpan-garg
Community Advisor
arpan-gargCommunity AdvisorAuthorAccepted solution
Community Advisor
September 29, 2023

@dwright-adobe @_manoj_kumar_ , thanks for the help, I found a way of handling this via a scheduled query which is deduplicating the events and then calculating the average of bookings and later inserting it into a profile as a profile attribute.

 

It comes with a drawback of time taken, but is fine for my client usecase.