Expand my Community achievements bar.

SOLVED

Adobe Target Activity | Load Dynamic Content from Akamai in Experience Fragments

Avatar

Community Advisor

Hi Team,

 

We are using AEM fragments in Adobe Target Personalization activity. We are facing issue with the content rendering.

 

We have experience fragment with Product Hero component which is getting successfully exported except the Price Info to Adobe Target. The price info on the Hero component is inside the ESI tags. These ESI Tags within the fragments call the akamai to render the price
When we use this fragment in an activity, we see the content but not the price info.

So, we are looking for help how to populate the ESI tags (price) within experience fragment. 

 

Can anyone advise something on this ?

 

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello @ambikaTewari_ATCI Exporting the experience fragments from AEM to Adobe target will have only context of selector ".atoffer.nocloudconfigs.html" not the page context (like product you are dealing with) so export request for a fragment "xyz" looks analogous to /content/experience-segments/<<xyz>>.atoffer.nocloudconfigs.html, this would not be process by Akamai as it is missing product/page context...

 

Recommendation to solve this use case:

AEM Approach: 

Add another component presentation(slightly) with atoffer.nocloudconfigs.html as the file name and replace the ESI price markup with "${mbox.productPrice}" and verify this markup get exported when activated or by accessing with ".atoffer.nocloudconfigs" selectors.

 

Passing the Price info from Web to Adobe Target:

Provide price info from clientside to Adobe target via "targetPageParams" or "targetPageParamsAll" to replace the price info and send back computed markup to end user.

 

 Approaches for making price info available for targetPageParams

 1) build REST API around pricing and make a immediate call (first top most call) to this API with context to get and set the target params.

 

Let me know if you have any concerns or issues with this approach. 

 

 

 

 

View solution in original post

3 Replies

Avatar

Correct answer by
Community Advisor

Hello @ambikaTewari_ATCI Exporting the experience fragments from AEM to Adobe target will have only context of selector ".atoffer.nocloudconfigs.html" not the page context (like product you are dealing with) so export request for a fragment "xyz" looks analogous to /content/experience-segments/<<xyz>>.atoffer.nocloudconfigs.html, this would not be process by Akamai as it is missing product/page context...

 

Recommendation to solve this use case:

AEM Approach: 

Add another component presentation(slightly) with atoffer.nocloudconfigs.html as the file name and replace the ESI price markup with "${mbox.productPrice}" and verify this markup get exported when activated or by accessing with ".atoffer.nocloudconfigs" selectors.

 

Passing the Price info from Web to Adobe Target:

Provide price info from clientside to Adobe target via "targetPageParams" or "targetPageParamsAll" to replace the price info and send back computed markup to end user.

 

 Approaches for making price info available for targetPageParams

 1) build REST API around pricing and make a immediate call (first top most call) to this API with context to get and set the target params.

 

Let me know if you have any concerns or issues with this approach. 

 

 

 

 

Avatar

Level 1

Hi @nnakirikanti ,

We have a similar issue

 

We have experience fragment with a MFE component which has ESI tags. These ESI Tags within that MFE (Micro front end) component call the Varnish to render the MFE as a whole. 

 

When the XF is exported to target, and target is trying to inject that XF on the page, the ESI tag is still visible in the markup and is not getting resolved. 

 

Code from the sightly of that MFE component. mfeESIUrl is the URL of the MFE

<esi:include src="${mfeESIUrl @CONTEXT='unsafe'}" />

 

So this same markup which is in the sightly of this MFE component, gets rendered by target without it getting resolved. I have attached the screenshot from the author, but a similar markup gets rendered when target injects it. I saw your response at https://experienceleaguecommunities.adobe.com/t5/adobe-target-questions/adobe-target-activity-load-d... but I couldn't process what you suggested.

Could you please tell or explain in a bit more detail.

 

Need your valuable suggestion. Thanks a lot

 

XF-esi.jpg

Avatar

Level 1

Hi @nnakirikanti  @ambikaTewari_ATCI 

Can you please help on what approach did you take to resolve this ?