Recommendations FAQ

List of frequently asked questions (FAQs) about Recommendations activities.

Important: The Adobe Target product documentation has moved to https://docs.adobe.com/content/help/en/target/using/target-home.html. We are currently working on redirects to the appropriate topics. In the meantime, please update your bookmarks.

What should I do if special characters are breaking my array?

Use escaped values in JavaScript. Quotation marks ( " ) can break the array. The following code snippet is an example of escaped values:

#set($String='')
#set($escaper=$String.class.forName('org.apache.commons.lang.StringEscapeUtils'))
<script type="text/javascript">
console.log("$escaper.escapeJavaScript($entity1.name)")
console.log("$escaper.escapeJavaScript($entity2.name)")
console.log('$escaper.escapeJavaScript($entity3.name)')
names.push("$escaper.escapeJavaScript($entity4.name)")
</script>

Why aren't all criteria, including custom criteria, available for selection when creating a Recommendations activity?

The available criteria is based on the current category. When you are creating recommendations offers, the algorithm picker displays criteria on the basis of category Id.

If the location on which you're applying this criteria doesn't contain the category Id, certain criteria is not available in the algorithm picker.

If you use a location where category Id is present in the mbox, the criterial picker will contain all applicable criteria.

Target has a Filter Incompatible Criteria setting to control intelligent filtering of the algorithm picker.

Note: This setting applies to activities created in the Visual Experience Composer (VEC) only. This setting does not apply to activities created in the Form-Based Experience Composer (Target does not have location context).

To access the Filter Incompatible Criteria setting, click Recommendations > Settings:

If the Filter Incompatible Criteria setting is NOT enabled, Target does not filter algorithms in the Algorithm Picker and all algorithms are displayed.

If the Filter Incompatible Criteria setting is enabled, in VEC activities, Target reads entityId and category Id from the selected location and then displays algorithms based on currentItem|currentCategory (if respective values are present on that location). As a result, only compatible algorithms for the selected location are shown in the algorithm picker, by default.

If the Filter Incompatible Criteria setting is enabled, you can still view non-compatible algorithms by deselecting the Compatible checkbox while selecting criteria.

The following list contains special cases in which Target does not display the Compatible checkbox:

  • Both entityId and category Id are present on the location, then nothing is being filtered.

  • You are using mbox.js version 55 or earlier.

  • No mbox call is being fired from the page (!config.isAutoCreateGlobalMbox && !config.isRegionalMbox)

  • Target parameters are not defined.

What should I do if a collection in Recommendations goes to zero (0)?

Consider the following information if you see a collection go to zero that previously was not at zero:

  • You can re-save the collection and see if it updates the number. Note that by resaving, the collection will re-run all algorithms that are using that collection.

  • Are you looking at the right environment? Go to /target/products.html#recsSettings to double check (as shown below).

  • Is your index up to date? Go t o /target/products.html#productSearch and check how many hours old the index is (for example, “Indexed 3 hour(s) ago”). You can refresh the index as needed.

  • Did you change something in the feed or the data layer that resulted in your entities no longer matching the collection rules? Make sure your CASE matches (case-sensitive).

  • Did your feed run successfully? Did someone change the FTP directory, password, etc?

  • Target does its best to make updates to the delivery (on the customer’s page/app) happen as quickly as possible. Yet, we also have to provide some representation in the UI for the marketer. We don’t necessarily delay delivery updates to wait for the UI updates to be in sync. You can use mboxTrace to see what is in the system at the time a request comes in.

What's the difference between general Attribute Weighting and Content Similarity-specific attribute weighting?

Attribute weighting exists in two forms: "standard attribute weighting" and "content similarity attribute weighting."

"Standard attribute weighting" applies to most, if not all, criteria types (not just Content Similarity).This type of weighting gives more weight to certain attribute values. In the following example, Nike products will get a bump in the output recommendations.

"Content similarity attribute weighting” applies to Content Similarity criteria only.

This type of weighting is more dynamic, and is based on the current “recommendation key” (the currently viewed item). In the following example (brand x 16), if a visitor were viewing Nike sneakers, that visitor is more likely to be recommended other Nike products (not necessarily only sneakers) rather than competitors’ sneakers. If a visitor were viewing Adidas sneakers, he or she is more likely to be recommended Adidas products.

Why is Target sometimes unable to show recommendations?

Target sometimes cannot show recommendations due to the low number of available recommendations.

The number of values generated per criteria is 5 times the number of entities specified in the design. Runtime filtering (for example, inventory, mbox attribute matching) is applied after the 5x values are generated, so it is possible end up with fewer than 5x values at delivery time. To mitigate this situation, increase the number of entities in the design by hiding additional entities.

The following JavaScript can be used at the beginning of the design to increase the number of requested entities. In this example, the requested entity count would be 50 (5x10).

#foreach($entity in $entities)
	#if( $foreach.count > 10 )
		#break
	#end
	#set ($foo = $entity.id)
#end 

What is the size limit of an API call for insert/update products? Can I update 50,000 products in one call using the API instead of a feed?

Target imposes a 50 MB post limit at the application level; however, that is only when you pass the application/x-www-form-urlencoded content type header.

You could certainly try to send 50,000 products in a single call. If it fails, you should break it up into batches. We usually recommend that customers break their calls into 5,000 or 10,000 product batches to decrease the likelihood of a timeout due to system load.

Do I need to specify the mbox name when creating Recommendations criteria, promotions, or template testing rules?

When creating a Recommendations criteria, promotions, or template testing rule based on an mbox parameter, mboxParameter no longer prompts you for mboxName. mbox name is now optional. This change lets you use parameters from multiple mboxes or reference a parameter that has not yet been recorded on the edge.

To select the desired parameter:

  • While creating a new criteria, promotion, or template testing rule, select a parameter name from the list, start typing the first characters of the desired parameter name, or type the full name of the desired parameter name.

  • If you remember the mbox name, but not the parameter name, use the checkbox to filter on a known mbox passing the desired parameter.

Using either method, there is no link between the mbox and the parameter. The criteria, promotion, or template testing rule will work on the basis of parameter across all mboxes that pass that parameter.

If you edit an existing criteria, promotion, or template testing rule, the filtering criteria displays with the mbox name that was supplied during creation.

Why can't I save my legacy Recommendations activity after defining a new audience?

Ensure that the audience has a unique name. If you gave the audience the same name as an existing audience, you cannot save your legacy Recommendations activity (a Recommendations activity created before October 2016).

What is the maximum size of a CSV file for a feed upload?

There is no hard limit on the number of rows or file size for a feed's CSV file upload. However, as a best practice, we recommend limiting the CSV file size to 1 GB to avoid failures during the file upload process. If the size of the file exceeds 1 GB, it should ideally be split into multiple feed files. The maximum number of custom attribute columns is 100 and custom attributes are limited to 4096 characters. Additional limits on the length of required columns are available on the Target Limitations page.