Expand my Community achievements bar.

SOLVED

Best approach to match Audience based on value selection in real time

Avatar

Level 2

Hi Adobe Target community!

 

We currently bumped into the scenario where we would like to target content for a user, based on a value selection from a form dropdown of a page, for example the user can pick if he prefer dogs, cats or birds as a persona favorite pet, and drive the content of the page based on the value of this selection.

 

I researched the Profile Scripts as an approach, which consists in sending the value to Adobe Target user's tntId and then reading that value from a Profile Script, and then creating an Audience that would match this value. So we would have an Audience for Dogs, another for Cats and another for Birds and target the content based on this events. However I found that there is a delay of about 5 - 10 minutes for the value that the user selected in the page, to reach to Adobe Target, meaning that when the user submits their favorite pet, they won't see their pet targeted content inmediatly, but only after 5 - 10 minutes after the user navigates throught the page.

 

Our Profile Script looks very simple

Name of Profile Script: user_pet

Script:  return profile.get('favoritePet');

The Audiences are set up as:

Visitor Profile: user.user_pet equals (case sensitive) dogs

 

Could anyone point me to other approaches to send data in real time to Adobe Target, so the user can inmediately see the content for their favorite pet? 

Is there any other API/Endpoints asside from the Profile API's to send data and match this data in Adobe Target to create these Activities?

 

Thanks to all!

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

@mrivas-xpediant  you may try to capture the dynamic value within a data element in Adobe launch :

 

Gaurav_Singh_1-1657629731291.png

 

And then use this data element with TargetPageParamAll() to pass this data dynamically in Target mbox request :

Gaurav_Singh_2-1657630558750.png

Hope this helps.

View solution in original post

5 Replies

Avatar

Level 5

Any value you pass via mBox parameter or mBox Profile parameters will be used in real-time for segment qualification. This values should be available in your target Audience selection 

 

Avatar

Level 2

Thanks @abu_shafi!

 I believe that mbox Profile parameters is the current approach I'm trying to follow. I'm sending the values with the following Profile Api:

 

https://{client}.tt.omtrdc.net/m2/{client}/profile/update?mboxPC=id&profile.pet=dog

 

But I'm not able to see this values until 5-10 minutes after the update is done. I think the issue is that the profile is not created for the mboxPC until 5 - 10 minutes the user has seen the page, and this is the delay I'm having issues with, as the user would have already selected their pet value, but the Targeted content is not yet kicking in.

 

I was checking the approach of using the mbox parameters and see that the targetPageParams() function provides this functionality, but I'll need something to change the values defined inside the targetPageParams() funciton when the user selects a value from the page.

For Example:

function targetPageParams(param1, param2, val1, val2) {
    return `profile.${param1}=${val1}&profile.${param2}=${val2}`;
}

I'm trying to find an API Endpoint for Target to just make updates to the "profile" through mbox parameters, please let me know if any one else has followed this approach or have any other suggestions, thanks!

Avatar

Correct answer by
Employee Advisor

@mrivas-xpediant  you may try to capture the dynamic value within a data element in Adobe launch :

 

Gaurav_Singh_1-1657629731291.png

 

And then use this data element with TargetPageParamAll() to pass this data dynamically in Target mbox request :

Gaurav_Singh_2-1657630558750.png

Hope this helps.

Avatar

Level 2

Hi everyone, thanks for all your responses.

I'm marking this answer as the correct one, as we ended up using the in-page profile page parameters of Adobe Target https://developer.adobe.com/target/before-implement/methods-to-get-data-into-target/in-page-profile-... similar to targetPagePramsAll() function, except that the function we used is targetPageParams().

 

The approach we did is similar to the described above, we had to set this values visible to the browser (storage) and implemented a script so when the page is reloaded, it adds this values to the request that the targetPageParams() function executes, and then sends this values to Adobe Target.

 

We then set the Audiences based on the values that target read from this function.

Thanks to everyone!

Avatar

Level 5

Hi 

Please read this 

https://developers.adobetarget.com/api/#updating-profiles

 

You are using wrong API - this data will be process under 1hr
"The Single Profile Update API is limited to performing 1 million updates in any rolling 24-hour period. Updates generally occur in under 1 hour, but may take as long as 24 hours to be reflected. If you need to send more updates, or require updates to be processed in shorter timeframes, consider sending transactional profile updates via client-side update (preferred), or via the Server-Side Delivery API."

 

Easiest option is to pass the profile parameters part of the mBox call