Target recommendation activity | Community
Skip to main content
Level 3
June 12, 2025
Question

Target recommendation activity

  • June 12, 2025
  • 1 reply
  • 2192 views

Hello All,

 

Trying to setting up my first recommendation activity in AT. Completed uploading few products to product catalog via Recommendations API. How can we set up a basic or simple recommendation activity after this catalog set up? Sample use case like if a user searches a particular product , then displaying that product based on the search term. Would be really helpful to get the inputs. Thank you.

1 reply

kandersen-1
Community Advisor
Community Advisor
June 12, 2025

Hi @sankaran ,

Recommendation is one of my favourite features of Adobe Target - just as much as i love it, I hate having to show that it actually works when only a few products has been uploaded. Ideally you implement it on all pages, let it collect behaviour for a week or two and then it will be much easier.

 

It is worth keeping in mind that Recs is driven by the behaviour of the users, so in order for it to show/recommend something it isn't enough to just upload a few products. There needs to be some behaviour in order for a Criteria like 'people who viewed this also viewed that' to work.

In order to track the behaviour you need to implement target requests on the product detail pages that sends in the entity.id parameter - this is what is used to track the behaviour. Creating the products via API is primarily used for enriching the product with meta data if you're not doing this via the target requests on the product detail page.

If you only have the products created via api, these are your options:

1) hardcode a custom criteria to show products (my preferred option). This still requires that entity.id is set on the page where you would like to see it working.

2) if you have Adobe Analytics implemented and the SKU collected in AA is the same as you used when uploading products to Recs you can update the criteria to use Adobe Analytics behaviour data. Again, you still need to ensure you have entity.id set on the page where you would like to see it working.

 

In your specific case where you would like to return something based on a search, you need to set entity.id on the search result. You need to ensure that entity.id has an id of a product that exist in your catalogue, which sometimes can be difficult on a search result page. Typically this is achieved by capturing the SKU of the first product the search is returning.

Let me know how it goes!

 

Test forum signature
SankaranAuthor
Level 3
June 12, 2025

Hi @kandersen-1 Thank you so much for a prompt response and for the detailed insight. We are currently using the web SDK implementation w.r.t target. It's just an initial POC I am doing. Would be really helpful if I can do something setting up a recommendation activity with a simple use case to start with. 

kandersen-1
Community Advisor
Community Advisor
July 11, 2025

Thank you so much for the very detailed steps @kandersen-1 . I now get the logic. But just a clarification. In my case, what I did is I first uploaded the 3 products in the Catalog via the Recommendations API using the 3 entity attributes such as entity.id, name ,category, thumbNail URL . Here only thumbNail URL is the one which I acquired by inspecting the specific product available in a page (https://abc.com/image.png) and the remaining attributes such as entity.id and entity.category are the ones which I manually defined by giving some hardcoded values such as 1234 for entity.id and medicine for entity.category since I couldn't fine these available in the datalayer or at the page source. Now having said this, the hardcoded value (1234) which I uploaded to catolog can be used to pass to the target via the target request on the site(your mentioned 1st step) ?? Please let me know on this. I just want to know that we can do this only if we have the entity.id or SKU id is defined already at the datalayer level or with the method which I have mentioned?? Note: Mine is not a retail site . It's a Healthcare domain website for Health care professionals. 


Hi @sankaran , 

I'll try and address each of your questions here - let me know if anything isn't clear and I'll do my best to help explain further.

Is there any documentation or a video recording that shows the complete steps of setting up a recommendation activity in Adobe Target?
I haven't been able to find any. I'll try and find time to record a video of it, but realistically it won't be until august i have time for it.

Why is the meta object not appearing in recommendation activity calls, while it does show up in A/B test or XT activity calls (e.g., experience.name)?
Not sure i understand. It should be passed as an entity parameter. experience.name is probably appearing due to it being enabled as a Response Token. The meta data for recommendation needs to be passed from the website to target via entity parameters. Any meta data you have uploaded via a feed will not be part of the requests. Only entity.id will be seen in the response from target when it is serving a recommendation.

Can I use hardcoded values like "1234" for entity.id and "medicine" for entity.category when uploading products to the catalog – if those values are not available in the datalayer or page source?
In theory yes, but not recommended - it is critical that it matches whatever id is passed to target as an entity parameter on the 'product' page (I'm saying product, but it can be anything e.g. article, faq, video, etc.).

Will this still work as long as I pass the same hardcoded entity.id in the Target request on the website (as mentioned in your first step)?
As long as they are the same, then yes. This will be fine for a poc/mvp, but not recommended for running in production.

Is it only valid to use this method if we already have entity.id or SKU defined in the datalayer – or can we safely use my manual approach if the site is non-retail (e.g., healthcare)?
I work with healthcare too, who may not necessarily have an id no the page. In those cases we pick up a value from the URL that is unique for the page. This will function as a unique entity.id - it isn't ideal but will do the job to avoid having to go through a big IT project of implementing a unique id in the data layer.


I hope I covered all your questions and that it will help you move forward!

 

 

 

Test forum signature