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,
Solved! Go to Solution.
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)."
You might try sending in new events to see if they qualify.
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.
Views
Replies
Total Likes
@jean-philippe_8 Your problem is two-fold:
Let me kick around some options.
Views
Replies
Total Likes
I checked a few things:
person.orders.storeId.distinct().count() > 1
Views
Replies
Total Likes
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:
Note: I do not know PQL, so you may have to do a lot of tweaking on the syntax.
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[] ) ... ?!?
Views
Replies
Total Likes
I was able to get it to work:
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
... 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)."
You might try sending in new events to see if they qualify.