Personnalisation based on AEP edge segmentation | Community
Skip to main content
August 23, 2022
Solved

Personnalisation based on AEP edge segmentation

  • August 23, 2022
  • 2 replies
  • 3398 views

Hello,

 

I'm implementing the following use case and I'm stuck with the AEP Edge segmentation.

 

The use case :

As a web visitor, browsing three different products pages should trigger a banner on any page of this web site.

The banner disappears as soon as the visitor clicks on it or buy a product, otherwise the banner is visible for 30 days.

The ecosystem I work with includes: AEP and Adobe Target Premium.

 

My approach is to detect distinct product pages browsed by the visitor, and provide them toward the XDM Experience Event based schema inside a property (string array type based) created for this purpose:

 

This array is filled with an alloy("sendEvent") call from a script included inside the <head> section by Target.

Checking some profile confirm the array is filled with up to three product page URL successfully:

 

Then I would like to create a realtime segmentation which detects when the XDM Event schema string array contains at least 3 entities in realtime. The idea being to reuse this segmentation on Adobe Target side as an audience to trigger the banner display.

 

However, on AEP, I cannot find any matching profile nor I can save my Edge based segment. Is this the right approach or am I missing something here?

 

Thank you to shed some light on this.

 

Kind regards,

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 Danny-Miller

Gorgerous! Thank you for your tenacity. By doing so the segment is still an Edge one and it can be saved.

I've checked the merge policy and confirm it is Edge enabled (and this is the one used by this segment of course).

However, the segment is still empty 😕😕 So I counter validated by creating another segment based on the Event related ECID matching both the alloy("getIdentity") feedback in the browser as well as the one being displayed in AEP in the profile section

 

... still an empty audience.

 

I must be missing something here but can not find out what ?!?

I event requested the profile event directly from AEP and found it so I don't see why the segment is still empty, even if I provide the correct ECID ???

Would you have any advices to find out what's going on here ?

Thank you for your time

 


Since you keep modifying the Segment you may need to wait for the baseline to run.

 

"Once streaming evaluation has been enabled, a baseline must be created (after which the segment will always be up-to-date)."

https://experienceleague.adobe.com/docs/experience-platform/segmentation/api/streaming-segmentation.html?lang=en#enable-scheduled-segmentation

 

You might try sending in new events to see if they qualify.

2 replies

kchaitanya
Level 3
August 23, 2022

Hi @jean-philippe_8 , 

The logic sounds fine. One thing you could check is the time range you have provided. If you wanted to check for within the last 30 days you might want to change time frame condition to something like below: 

The time frame you selected might be checking for beyond one month. Depending on your implementation state it might not qualify any users to the segment.

Let us know if changing the time rule works for you. 

Danny-Miller
Adobe Employee
Adobe Employee
August 23, 2022

@jean-philippe_8 Your problem is two-fold:

  1. Your timeframe is too long if you want to do this on the Edge.
    1. You can only do a "Single event within a 24-hour time window
    2. "See https://experienceleague.adobe.com/docs/experience-platform/segmentation/ui/edge-segmentation.html?lang=en
  2. Any Aggregation "At least 3" I believe also makes this not Edge.

Let me kick around some options.

 

Danny-Miller
Adobe Employee
Adobe Employee
August 23, 2022

I couldn't stop thinking about this and tried another approach...

You can add an aggregation within an event for an Array and it will stay an Edge Segment

If we didn't care they were distinct pages we would be done.

 

But if you do and can't enforce uniqueness in your array on the client side:

  1. Go build in the UI using Aggregation
  2. Copy the PQL
    1. CHAIN(xEvent, timestamp, [C0: WHAT(true) COUNT(ALL) WHERE(C0.count() >= 3)])
  3. Modify the PQL and use the API, to see if it lets you do
    1. CHAIN(xEvent, timestamp, [C0: WHAT(true) COUNT(ALL) WHERE(C0.distinct().count() >= 3)])

Note: I do not know PQL, so you may have to do a lot of tweaking on the syntax.

 

August 23, 2022

Hello Danny,

 

Thank you very much for taking the time to look into this problem! Much appreciated!

Just to clarify your last assumption: I guarantee the list of URL to be distinct/uniq inside the array so this is not an issue in this context.

 

I modified the segment using your idea about the aggregate function:

* The estimation does not return any profile neither (but this is just based on a sample after all ...)

* However, I might have missed a point, but whenever I add the aggregate function in the loop, I can not save my segmentation anymore, AEP complaining that I'm not fulfilling the Edge restriction ("The expression query type cannot be changed, expression eligibility is Batch, segment eligibility is Edge").

And to confirm what you said about the range, yes : without using the aggregation but keeping the Rolling range of 1 month, AEP accept to save it as an Edge segmentation. 🙂

As soon as the aggregation comes into play, the only way for me to save the segmentation is by limiting the range of time to 24 hours (which is sad as I wanted to rely on this segmentation to display the banner during one month if the banner wasn't clicked nor a product being purchased).

Do I have other options to manage this duration ? (I can work with profile scripts on Target side + using them into a local Targe audience, but we loose the AEP <-> Target integration this way ... 😕😕 )

 

But even if I restrict the date range to 24 hours with or without the aggregation my profile (updated today and confirmed with the profile preview inside AEP) does not pop out...

Even simplifying the segment reveal another strange error code upon Profile preview:

Could it be related with how the property has been defined inside the XDM schema ? ( type = String[] ) ... ?!?