> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Find answers to common questions about product recommendations and merchandising features, including setup, algorithms, feed configuration, and limitations.

<AccordionGroup>
  <Accordion title="How do I enable and access product recommendation features?">
    Product recommendation capabilities are a premium feature. Contact your Customer Success Manager to enable them on your Kameleoon account. Access the **Product recommendations** workspace by navigating to **Settings** > **Recommendations**.
  </Accordion>

  <Accordion title="What is a product recommendation strategy?">
    A recommendation strategy defines how you select and filter products to display. When you create a strategy, enter a name and description, and define the maximum number of products to display in the block. After you save the strategy, configure its rules, templates, and design.
  </Accordion>

  <Accordion title="How do I publish a recommendation strategy on my website?">
    Click **Recommendations** > **Recommendation strategy**. Then, click your recommendation block > **Copy code** to generate your block's snippet. Paste it into your page's source code where you want the block to appear.

    Alternatively, use Kameleoon's [Activation API](../../developer-docs/apis/activation-api-js/api-reference/api-reference#obtainrecommendedproducts) to serve product recommendations. The API uses the latest saved template version and returns a JSON object containing the recommended products and the template's HTML. The API response does not include CSS; you must apply styling to the output manually.

    When implementing your block's code, include the `data-recommender-code` (product recommendation block ID) parameter. For blocks using algorithms like **Similar** and **They also buy this**, include the `data-recommender-item` parameter to specify the current product's ID.
  </Accordion>

  <Accordion title="Why is the recommended product count much lower than my total product stock?">
    If you notice a large discrepancy between your total inventory and the number of products available for recommendation by the **Popular** or **Trending** algorithms (labeled **Widgetable** products), these algorithms have strict data quality requirements.

    For a product to be widgetable and eligible for recommendations, you must correctly set up and import all four critical fields:

    * Price
    * Name
    * URL
    * Picture (image URL must be valid and retrievable)

    If any of these essential attributes are missing or incorrect (for example, a broken image URL), Kameleoon filters out the product, and it will not appear in the recommendation algorithm's results.

    **How to troubleshoot missing images**

    A common reason a product is not widgetable is that Kameleoon could not download the image during the catalog synchronization process.

    **Top reasons images cannot be downloaded**

    If your product has a valid image URL but still lacks a picture, your shop's server configuration might cause the issue:

    * **Server overload:** Your shop's storage or server cannot handle the high volume of requests from Kameleoon's system. The system downloads images using **50 simultaneous** threads, which often causes timeout errors.
    * **Security blocking:** Your firewall or anti-DDoS protection might block requests based on the user agent or IP address.
      * **User agent:** Kameleoon downloads images using the user agent `Kameleoon Fetcher 2.0`. If downloads fail, allow this user agent in your server settings.
      * **IP address:** Whitelist all Kameleoon cluster IPs to ensure uninterrupted access. View the list of [IPs here](./recommendations/import-your-product-catalog-feed#syncing-your-product-feed-using-an-xml-file).

    **How to find problematic products**

    Identify which products lack the required data fields by accessing your **Products Database**.

    1. Click **Settings** > **Recommendations** > **Products** > **Data feed**.
    2. Select **False** from the **Widgetable** dropdown.
    3. Click any product to view its attributes. Kameleoon highlights the issue (for example, missing price or failed image retrieval) in the product's attribute list.

    **Algorithm time window reminder**

    When troubleshooting results, note that the **Trending** algorithm calculates recommendations based strictly on sales orders within your selected time window. The algorithm excludes sales older than this duration.
  </Accordion>

  <Accordion title="How often does the product data feed update?">
    Customize the frequency and specific timing of your product data feed updates in **Store settings**.
  </Accordion>

  <Accordion title="Can I use product recommendations in email campaigns?">
    No. Currently, product recommendations support **web** and **app** channels only. You cannot push dynamic recommendation widgets directly to email templates.
  </Accordion>

  <Accordion title="Is there a preview mode for recommendations?">
    Yes, you can preview and simulate your product recommendations on your website using the **Widget Studio**.

    To do this, create a widget that contains your product recommendation block, then [add it to your experiment](./recommendations/use-a-product-recommendation-block-in-a-campaign#use-a-product-recommendation-block-in-an-experiment). Once configured, use the [simulation feature](../assets/widgets/create-a-widget-with-the-widget-studio/simulate-your-widgets) in the Widget Studio to visualize the widget. Simulating allows you to verify both the design and the products the algorithm returns before launching.
  </Accordion>

  <Accordion title="Can I sort recommended products?">
    Yes. You can apply sorting criteria to the products an algorithm returns. For example, you can sort the displayed results by top revenue to prioritize high-value items.
  </Accordion>

  <Accordion title="Can I use regular expressions in recommendation rules?">
    No. Regular expressions (regex) are not currently available for defining complex matching logic within recommendation rules.
  </Accordion>

  <Accordion title="Can I import my own recommendation algorithm?">
    No. The platform does not support Bring Your Own Algorithm (BYOA). Use the suite of built-in algorithms provided by Kameleoon.
  </Accordion>

  <Accordion title="Is there a limit to the number of recommendations I can display?">
    While Kameleoon does not enforce a strict limit, requesting many products impacts algorithm performance and increases response times. Display fewer than 50 products per block. To display larger product sets, use [Collections](./merchandising/activate-and-deploy-a-product-collection-on-your-website).
  </Accordion>

  <Accordion title="Do all algorithms work everywhere on my site?">
    No, some algorithms only work under specific conditions. For example, the **Similar** products algorithm, the **Products usually purchased with this item** algorithm, and the **Store recommendations** algorithm only work on product detail pages. The **Products usually viewed with this product** algorithm only works if the cart contains items.
  </Accordion>

  <Accordion title="Can I use product sizes imported from Google Merchant in Liquid recommendation templates?">
    Yes. You can use the product size as an HTML variable in your template, provided the size appears as a parameter in the data feed.
  </Accordion>

  <Accordion title="Can I use a custom field name (like `shop_recommend`) for the Store Recommendations algorithm?">
    No. The Store Recommendations algorithm specifically requires the `accessories` field in your data feed. It does not recognize custom field names for manual product relationships.

    To manually link products (for example, to display complementary items), map the related product IDs to the `accessories` field.

    The algorithm displays only the products linked via the `accessories` tag. You can restrict these results further by applying standard filters to the recommendation block (for example, to exclude out-of-stock items from the manual list).
  </Accordion>

  <Accordion title="How do I provide data for the 'Currently on wishlist' recommendation algorithm?">
    To use the **Currently on wishlist** algorithm, explicitly track when a user adds an item to their wishlist. The recommendation engine does not automatically detect these interactions without a specific API signal.

    Implement the [`trackAddToWishList()` method from the Activation API](../../developer-docs/apis/activation-api-js/api-reference/api-reference#trackaddtowishlist). This method sends the necessary event data to Kameleoon, which populates the wishlist algorithm.
  </Accordion>

  <Accordion title="Which attributes can I import from Google Merchant Center versus Kameleoon XML?">
    Supported attributes depend on your feed format. Note the following limitations regarding labels and stock data:

    **Custom labels (`custom_label_0` - `custom_label_4`)**

    * **Not supported**.
    * The recommendation module does not import `custom_label` attributes from Google Merchant Center feeds. You cannot use these fields for filtering or display.

    **Stock quantity (`stockquantity`)**

    * **Google Merchant Feeds:** **Not supported**. The Google product data specification does not include a numerical stock count (only "availability" status). Therefore, you cannot import exact inventory numbers via Google CSV/XML.
    * **Kameleoon XML:** **Supported**. To use exact stock counts, use the native Kameleoon XML format and populate the `stockquantity` field.
    * **Viewing and using stock data:** If you import stock data via Kameleoon XML, the values appear in the **Data feed** overview. Use the `stockquantity` attribute to create filters (for example, `stockquantity > 5`).
  </Accordion>

  <Accordion title="How do I decide between XML import and API import for my catalog?">
    Base your decision on your catalog size and technical infrastructure. Use the **XML import** method if your catalog contains fewer than 50,000 products and you lack a website data layer. Conversely, [use the **Product Recommendation API**](../../developer-docs/apis/product-recommendation-api-rest/tutorials/import-a-product-catalog-into-kameleoon-using-the-product-recommendation-api) if your catalog exceeds 50,000 products.
  </Accordion>
</AccordionGroup>
