Is Klevu ADA Compliant?

Klevu supports majority of ADA and WCAG requirements that are relevant to search interfaces. We review our out of the box implementations on a regular basis and are committed to ensuring we meet these guidelines.


While reviewing our UIs for the WCAG 2.0 Level AA (using the achecker online tool), we did not find any “known problems”. The report had a few low-priority unmet checkpoints (e.g. “images may contain text with poor contrast” or “Link text may not be meaningful”), however, in such cases, Klevu is relying on the merchants to take appropriate actions at their end (e.g. by uploading the appropriate images and giving products appropriate names that we use as alt texts when displaying images).

Our understanding is that such “potential problems” as highlighted in the report, do not fail the compliant test. In case you come across any “known problem” that results in the failure of the compliance test, we request you to let us know and we will get back to you.

In Magento2 - How can I integrate Yotpo or Trustpilot for reviews and still use Klevu?

On Magento, the preferred way would be to Use the Preserving your theme layout option. This will ensure all the details you have been displaying on the search results landing remains intact.

If you are not using the preserving your theme layout option and using Klevu’s theme or you are on a different platform, you can use the Klevu’s rating attribute in the feed for the review system.

For example, with Trustpilot the customer can create a script to update the rating attribute using the Trustpilot API. Use the customerReviews attribute to provide any customer review text.

Is Klevu able to do gender level redirects? E.g redirect a user to a landing page based on assumed gender.

This is a tricky feature to implement well and unfortunately not currently supported by Klevu.

We can provide some customizations whereby whatever the customer searches from this page, the gender=men filter (for example) will be applied to search query. However this has drawbacks as customers may also be shopping for members of the opposite gender and don’t wish to exclude certain products from their search.

How does the URL redirect feature work in Klevu?

Klevu offers two types of layouts for the landing page.

  1. Based on the Klevu Template
  2. The one that preserves your native theme layout

Depending on which layout you have chosen our javascript decides where to take your shoppers to when they press the enter key in the search box. But before the shopper is redirected to the search results landing page, our JS will check if there is any URL redirect set in the Klevu Merchant Center (KMC). If there is any URL redirect found for the entered keyword (exact match), the shopper will be taken to that page.

Only when you have chosen the preserving your native layout option and if there is no applicable URL redirect found in KMC, URL redirects in Magento backend are looked upon. If there is any URL redirect found in the Magento backend, it will be respected.

Please refer to Managing URL Redirects for managing URL Redirects in KMC.

How does the synonyms feature work in Klevu?

Frequently Asked Questions on Synonyms:

  1. Is there any difference in how synonyms are treated in Magento versus how they are treated in Klevu?
  2. Synonyms in Magento are treated differently than how they are used in Klevu. In Magento, when someone says “beautiful” is a synonym for the word “gorgeous“, it literally means, if someone types in “gorgeous“, use the term “beautiful” to search; do not use the term “gorgeous” at all. It is also important to note that synonyms in Magento only work when the entire query matches the words used for synonyms. Here, if someone says “gorgeous purse“, Magento will NOT replace the term “gorgeous” with the term “beautiful“.

    Klevu, on the other hand, treats synonyms differently. If a customer types in “gorgeous“, Klevu will search for both the terms (i.e. “gorgeous” and “beautiful“). At the same time, it doesn’t have to be the exact query for the synonyms to work. In other words, if a customer searches for “gorgeous purse“, it will fire the following query

    (gorgeous OR beautiful) AND purse

    In case of the quick search UI, the query is directly submitted to the Klevu servers. The same is true for the landing page based on the Klevu template. In both the cases, synonyms provided in the Klevu Merchant center will be utilised to find the products.

    If you are using the native layout option for the landing page, Magento will first look at the query and if there is any applicable synonym, it will replace the original query with the synonym specified in the Magento admin panel. This query is then submitted to the Klevu servers. If there are any synonyms applicable on this modified query, they will be utilised.

    These synonyms, where applicable, are automatically added to the query at runtime and searched along with the original terms searched by the shoppers.

  3. I have setup a bi-directional synonym entry. Why is it that the search results appear different when I search for them individually?
  4. For example, you have added a synonym entry such as the following:

    mummy <=> mother

    and you are expecting that the results should be similar for whichever word you search for. However, the results may be different. Why?

    Klevu is a search as you type solution. In other words, when you type a search term (e.g. mother), internally it searches for the term “mother” as well as any term that starts with the term “mother” (e.g. motherland, motherhood, mothers etc.). Thus the query Klevu fires internally is:

    mother OR mother*

    Now, when you have to add a synonym, the above query will change to the following:

    mother OR mother* OR mummy

    Please, note the addition of the synonym “mummy” in the query. However, we will not search for any term that starts with the word “mummy“. Simiarly, if you search for the term “mummy“, the query will be as following:

    mummy OR mummy* OR mother

    As you can see, it is very much likely that not only the result order but also the ranking of results be different.

  5. How do multiterm synonyms work?
  6. For example, you have added a synonym entry such as the following:

    dark bottle <=> black bottle

    and you are expecting that the results should be similar for whichever phrase you search for (i.e. dark bottle vs black bottle). However, the results may be different. Why?

    In the case above, when a customer searches for dark bottle, we fire a query such as the following:

    (dark AND bottle) OR (“black bottle”)

    Similarly, if a customer fires black bottle as a query, we fire a query such as the following:

    (black AND bottle) OR (“dark bottle”) .

    Here, in the first synonym entry, as you can notice, by using the operator AND between the words dark and bottle, we are searching for products where both the words, dark and bottle are found. It isn’t required that they appear one after the other. If the word dark, for example, is found in your color attribute and the word bottle is found in the same product’s name, it is absolutely okay. Additionally, we search for the “phrase” black bottle. Since, there are quotes added around these words, the entire phrase, including their positions (i.e. the word bottle appearing after the word dark) are respected.

    If you do not want them to be searched as a phrase, we advise you to add an entry as following:

    dark bottle <=> black && bottle

    Here, the presence of && will ensure the query is fired as the following:

    (black AND bottle) OR (dark AND bottle) .

How long is it before a product's score starts to decrease within Klevu's search?

The algorithm constantly learns based on user interactions with that particular product (for example number of times clicked). In terms of how often the display to customers takes into these revisions, this happens on a weekly schedule so once per week you should expect to see a change of automatic product ranking.

Should you wish the learning to be applied more frequently, please get in touch with the support.

If the product is given a manual score / boost from the KMC then it will remain the same unless it is adjusted or removed.

Do we have a way of directing a Klevu search to an exact product variant? For example if I click the red variant of a jacket in search and it brings me there.

In Magento, Klevu can add the respective variantId in the URL of the product (e.g.

However, once the customer is on the product page, it will be the responsibility of the merchants Magento developer to make use of the variantId provided in the URL and make sure they select display the respective variant to the customer .

How to upgrade my plan?


  1. Go to Shopify Admin Panel → Apps → Klevu Search
  2. On the top right corner, click on Upgrade/Pay button
  3. Select a plan and click on the Upgrade button
  4. On the Upgrade Plan screen, click on the Pay Now button. Your account will be upgraded to the selected new plan
  5. To approve the charges click on Approve Charges button


  1. Login into Klevu Merchant Center ( with the registred email id and password
  2. Go to My Account → Billingupgrade1
  3. Click on the Upgrade link under the Billing sectionupgrade-2
  4. Select a plan and click on the Upgrade buttonupgrade-3
  5. On the Upgrade Plan screen, click on the Pay Now button. Your account will be upgraded to the selected new plan

A/B testing Klevu Search with Google Tag Manager

A/B testing Klevu Search with Google Tag Manager

At Klevu, often, we are asked if our customers can perform A/B testing to check if the Klevu Search is better than their existing search solution. What the customers usually want to know is how much the Klevu Search is helping them in search led conversions.

Google Tag Manager (aka GTM), is one of the popular tools that allow you to monitor consumer activities on a website, including what they search, click and buy. From the GTM’s perspective, monitoring such activities is a process called setting up “tags” in GTM. For the every tag setup in GTM, Google provides a snippet of code to be included on your website. This code is responsible for sending the required data to Google.

In this document, we provide information on setting up GTM to perform A/B testing for Klevu Search.

It is, basically, a three steps process:

  1. Setting up a Google Tag Manager (GTM) account
  2. Setting up GTM testing environment (i.e. obtaining snippets of codes to include on your website)
  3. Making minor changes to the Klevu Search codebase to enable/disable Klevu Search based on a parameter configured by the GTM code.

Setting up a Google Tag Manager account

  1. If you already have a GTM account, please login into it. Otherwise, please follow the steps mentioned at to create a new GTM account.
  2. Once the account is created, you need to add a container for your website. Container is just a collection of tags that you like to add to your website (e.g. for measuring analytics, adwords conversions etc). Please follow the steps at to create a new container for your website.

Setting up an A/B Test in GTM

  1. Login into your GTM account
  2. Choose the respective account for your website and the container
  3. Click on the tags > Add a new tag > Custom HTML Tag
  4. Under the “Configure Tag”, paste the following code and click on the “Continue” button.
  5. Under the “Fire On” section, click on the “More” > “NEW” button
  6. A new window with a title “Create Trigger” will open. Here, under the “Choose Event” section, please click on the “Custom Event” button.
  7. Set the event name to call_gtmtesting.
  8. Click on the “filters” button and configure the condition as: event — equals — call_gtmtesting.
  9. Click on the “Create Trigger” and “Save Trigger” buttons.
  10. Click on the “Create Tag” button.
  11. Click on the “Save Tag” button.
  12. At this stage, please go to your google analytics account (i.e. and find out the google analytics code for your website. The code should look like UA-XXXXXXXX-X. You will need this in the next steps.
  13. Once you have the Google Analytics code, now is the time to configure parameters for your A/B test. Please go to and fill up the details as described below.
    Test Details

    • Test ID: eg: AB-Klevu01
    • Test name: Klevu Search AB Test


    • Description: Klevu Search Enabled
    • Code: var klevu_search_disable=false;

    Variation B

    • Description: Klevu Search Disabled
    • Code: var klevu_search_disable=true;


    • Analytics: Select the option “Universal Analytics”
    • Property ID: here, provide your analytics code, the one you had copied from your google analytics account (e.g. UA – XXXXXXXX-XX).
    • Event Category: AB Test


    This section allows you to distribute your traffic between Klevu and the other search module(s) you have on your website.

    • Exposure Rate: 100%
    • Traffic Control: 50% (Klevu search will be activated to 50% of your customers)
    • Traffic Variation B: 50% (The other search option on your website will be activated to rest of the 50% customers)
  14. Click on the Generate AB test Code button. This will generate a code at the bottom of the page. You need to copy this code and generate another tag in your GTM manager.
  15. Add another custom tag in your GTM account (i.e. Click on the tags > Add a new tag > Custom HTML Tag) and name it “GMT Testing”.
  16. Copy the code from step 14 and paste it in the HTML area of “Configure Tag”.
  17. Under the section “Fire On”, click on “More” > “New” > “Custom Event” and select the “Page View” option.
  18. Under the “Configure Trigger”, select the “DOM Ready” option.
  19. Under the “Fire On” section, select the “All Page Views” option and click on the “Create Trigger” button.
  20. Click on the “Create Tag” button.
  21. Make sure to publish your container by clicking on the “Publish” button at the top right corner of your page. This will make the test live on your website.

Changes in the Klevu’s code base

If you have followed all the steps so far, when you view the source of your website (i.e. right click anywhere on the page > view source), you will see that for some sessions, GTM would insert the following javascript variable on the page.
var klevu_search_disabled=false;

For the other session, it would be
var klevu_search_disabled=true;

You need to ensure that you add the following if statement surrounding the Klevu’s javascript.

if(klevu_search_disabled !== true) {// insert here the javascript provided by Klevu
var klevu_apiKey = ‘klevu-XXXX’, klevu_analytics_key = ‘klevu-XXXX’, searchTextBoxName = ‘txtSearch’, klevu_lang = ‘en’, klevu_result_top_margin = ”, klevu_result_left_margin = ”;var klevu_changePositionOnScroll = true; (function () { var ws = document.createElement(‘script’); ws.type = ‘text/javascript’; ws.async = true; ws.src = ‘’; var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ws, s); })();


You’re done!

Any questions or need any help? Please feel free to write to us at

What languages are supported by Klevu Search?

What languages are supported by Klevu Search?

The short answer is “almost all” :).

How does it work?

What matters from the search perspective is if we are able to identify word boundaries. As long as we are able to do it, Klevu can provide search for that language. Fortunately, most of the languages around the world use space and other punctuations as word delimiters. The exceptions to this method are the languages such as Chinese, Japanese and Korean but for them as well we have special parsers to recognise word boundaries.

What features of Klevu Search are language independent?

Most of the features provided by Klevu Search are language independent. This includes features such as its capability to self-learn the ranking of products based on consumer activity, fuzzy match to handle error tolerance, synonyms, URL redirects, product promotions, normalisation of model numbers and SKU codes, accented characters, handling stopwords, partial match etc.

Are there any features language dependent? What are they and what languages are they supported for?

There are a few features that are language dependent.

  1. Normalising inflected words: This feature allows us to normalise inflected words. For example, plurals to singulars (e.g. batteries -> battery), identifying base forms (e.g. singing -> sing). Indexing both the inflected form and the normalised form allows shoppers a flexibility to search for any form. Currently, this feature is supported for the following languages: English, Finnish, Swedish, Danish, Hungarian, Russian, Turkish, Dutch, French, Italian, Portuguese, Spanish, German, Norwegian, Romanian.
  2. Automated Enrichment: Based on the context of a word, our automated enrichment algorithm identifies relevant synonyms, which it then adds to the search index. For example, if a word is “smart”, we may add additional words such as “intelligent” and  “clever” to the search index. If the word is a “curtain”, we may add a word “drape”. Automated addition of relevant synonyms allows shoppers to locate a product not only by using the original word but with additional synonyms added by our algorithm. Currently, this feature is supported for the following languages: English, Finnish, Swedish and the French languages.
  3. Decoupling Compound Words: If a word is “röttvinglas” (i.e. red wine glass in English), we are able to decouple it and index it as three separate words “rött”, “vin” and “glas”.  This allows shoppers to fire a query such as “glas för rött vin” (i.e. glass for red wine). Currently, this feature is supported for the following languages: English, Finnish, Swedish, Estonian, German and Danish.
  4. Advanced Query Processing: Queries such as “formal tops under 100 USD” requires understanding the intent behind the query and fetch the appropriate products. Currently, the feature is available for the following languages: English, Finnish, French and the Swedish languages.

Note: If this page does not answer your question on a language-specific feature, please write to us at

How do I setup a CRON in Magento1?

Setting up a CRON

Magento has released its own instructions on setting up a CRON. Please follow the instructions at the URL below:

Alternatively, if you have access to cPanel, here is a good tutorial on setting up CRON from your cPanel.

How to check whether CRON is running or not?

  1. Point your browser to http://[your-domain]/cron.php. If the browser is able to locate and execute it, the permissions are set properly.
  2. Check the timestamp of Last Sync
    1. In Magento Admin Panel, Go to System → Configuration
    2. Open Search Configuration under Klevu
    3. Select storeview from “Current Configuration Scope”
    4. Find Product Sync Settings panel
    5. Check time of the Last Run
    6. If it is too old and does not match with your cron schedule, there might be something wrong with your CRON setup or product sync

If you are on Mangeto version 1.8 or above:

There is a possibility that CRON is still not working after setting it up. To solve this, please check the following:

  1. Open the Magento cron.php file in a text editor. You can do this by logging in to your account using SSH, or if your account includes cPanel, from the cPanel File Manager
  2. Locate the following code block around line 45:

    $disabledFuncs = explode(',', ini_get('disable_functions'));
    $isShellDisabled = is_array($disabledFuncs) ? in_array('shell_exec', $disabledFuncs) : true;
    $isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : true;

  3. Copy the following line of code and paste it after the code block above

    $isShellDisabled = true;

  4. Save the changes to the cron.php file. The CRON should run now correctly.

How to solve the "Class not found" error in the log?

  • Note down the file for which the error is reported
  • Go to the respective folder in your Magento installation folder
  • Check permission of the folder and all the files in that folder
    According to the Magento conventions, the files should have at least 644 permission and the folders 744. Fixing the permissions should solve the issue. If it does not, please let us know the error by writing to us at

Can I integrate Klevu Search with Google Analytics?

Yes, you can integrate Klevu Search with Google Analytics

If you are using Google Tag Manager, please also follow the steps in the guide below to integrate Klevu with your GTM account.
GTM Integration Guide

By default, Google analytics tracks the search queries which are redirected to search landing page (search results page).

If you want to track the “Search-as-you-type” queries (AJAX search) in google analytics, here are the steps:

  1. Login to your Google Analytics account at
  2. Click on Admin
  3. Click on View Settings
  4. Under the Site Search Settings, turn on Site search Tracking (if it is not already on).
  5. Input klevusearchterm,q as the additional Query Parameters
  6. Check the box Strip query parameters out of URL
  7. Click on the Save button











Is it possible to restrict search to a category that shopper has chosen from a category dropdown?

Yes, it is possible.

In our javascript we have a variable called klevu_category. Before our
javascript fires a query to our servers to obtain search results, it checks if the klevu_category variable is initialised. If so, the value of this variable is used as a category filter.

If you have a dropdown where you allow your customers to choose a category, we suggest that whenever your customer is choosing a category or changing his/her selection of the category, you change the value of the the klevu_category variable. The value should be the name of the category. If no category is selected, please assign an empty string to the klevu_category variable.

Is it possible to change captions of filters?

The Klevu Search plugin already uses the labels of attributes (as specified in the Magento admin panel) as captions in the search results. To change them, please change them in your Magento admin panel.

  1. Login to Magento Admin Panel
  2. Go to Catalog → Attributes → Manage Attributes
  3. Choose the relevant attribute
  4. Click on the Manage Label/Options and specify the caption you want to use for the respective attribute
  5. Click on the Save config button

Once done with the changes above, please resynchronize your products.

How to update stock and prices when using third party tool or ERP in Magento?

If you are using an ERP or 3rd party tool for product updates then please follow the below steps:

  1. Login into Magento admin panel
  2. For Magento 1
    Go to System → Configuration → Klevu → Search Configuration
    For Magento 2
    Go to Stores → Configuration → Klevu → Search Configuration
  3. Go to Developer Settings (the option is visible at “default config” level)
  4. Select “are using an ERP OR 3rd party tool for product updates” to “Yes”
  5. Click on Save button

How to integrate Google Analytics (GA) with Klevu search using Google Tag Manager (GTM)?

This guide provides instructions for integrating Google Analytics with Klevu search using Google Tag Manager

This guide assumes that you’re already set up with GTM account and you have created a container for your store. If not, please follow the guide here to do so:

When you login into your GTM account, you will see a list of containers.
No Image
Select the container for which you want to integrate GA.

  1. Set up GTM Data Layer variable
    • Go to Variables -> User-Defined Variables and then click on New
      No Image
    • Set up a variable for klevusearchterm
      No Image
    • You should now see the variable listed in the variables dashboard.
      No Image
  2. Set up GTM Virtual Pageview Trigger
    • Go to Triggers tab and then click on New
      No Image
    • Create the trigger as a custom event
      No Image
  3. Set up GTM Virtual Pageview Tag
      Now we need to configure a GTM tag, which is the link between GTM and Google Analytics so that the data can actually be logged.

    • If you don’t have GTM tag then
      • Go to Tags and then click on New
        No Image
      • Set the following details
        • Set the tag name
        • Choose Product: Select Google Analytics
        • Choose a Tag Type: Select Universal Analytics (or Classic if you’re still using it)
        • Configure Tag:
              • Insert your GA linking information (Tracking id)
              • Track Type: Page View
              • More settings -> Fields to set
                    • page : {{klevusearchterm}}

                No Image

          If you already have other fields set in “Fields to set” section, just add a new field for “page” and set its value to {{klevusearchterm}}.

          Please note, if you do not see “More Settings” option, select the “Enable overriding settings in this tag ” checkbox.

        • Fire On: Select “track klevu terms”
          No Image
    • If you already have the tag for GA, please edit it as below:
      No Image
  4. Publish changes

SEO on JavaScript-generated pages

How can I use Klevu to power the search and category pages on my website and ensure there is no impact on SEO?

This is a question we get asked a lot at Klevu, since one of our popular integration methods is via JavaScript-generated search and category navigation. For any modern web application using client-side rendering, a common question is whether web crawlers will be able to find the content and index it correctly.

The first place you should start in answering this question is the Google article on Understanding JavaScript SEO basics. The video and content on that page explains how and when the Google search engine crawls and indexes JavaScript-generated content on your website.

There are multiple ways to integrate with Klevu, so after understanding the above article and reviewing your project’s requirements, you can make the appropriate integration choice. We will summarise the integration options below with respect to SEO implications.

  • Klevu API Integration: Server-side rendering + client-side rendering.
  • Klevu JS Library Integration: Client-side rendering with full control.
  • Klevu Plug-and-Play JS Integration: Client-side rendering with limited control.

Klevu API Integration

The most powerful integration with Klevu is by directly using our API endpoints to power your website search and category pages, giving you complete control over how the content is rendered; be that server-side, client-side or a mixture of the two (aka. pre-rendering). This method gives you the flexibility of using our API’s advanced features to create your own implementation as per your own needs.

In order to achieve server-side rendering on SaaS platforms like Shopify or BigCommerce, one approach is to work with the native theme engine to display the products, however the native engine will display products in a different order to Klevu. Alternatively you can host the category and search results pages on your own servers, allowing you to use Klevu API to control the ordering of products of both server-side and client-side rendering.

If you choose to go for an API integration, you may still be interested in the next section for the client-side rendering aspects.

Klevu JS Library Integration

The Klevu JavaScript Library can be used to give you a head-start with client-side rendering. By using this approach you have full control over the HTML, JavaScript and CSS so you can follow the best practices to come up with an SEO friendly integration for your specific project and have direct access to apply any recommendations from your SEO agency.

We recommend using this approach for all client-side rendering projects, ideally alongside a server-side or pre-rendering approach described in the section above if you have the option.

Plug-and-Play JS Widget

Our plug-and-play widget involves the addition of a small snippet of JavaScript to your website and the Klevu HTML, JS and CSS will be injected into your pages from our servers. With this approach you have some customisation options available via the Klevu Merchant Centre (e.g. CSS and JS overrides) however any further customisation is limited to what our JavaScript widget can support.

This is the quickest integration method, but the trade-off is less flexibility and control.


As is often the case with SEO, there is no one-size-fits-all solution. If you are concerned about SEO we recommend you review the above options with your SEO agency and make a decision based on your specific project requirements, development resource availability and timelines.

How to remove products of development/staging site from live site?

If products of your development/staging site appear on live site, then you can remove them by following below steps

  1. Login into Klevu Merchant Center ( with the registered email id and password
  2. Choose the appropriate store from the drop down at the top from which you want to remove test data
    Remove data
  3. Go to Shop Info → Remove Data
  4. Enter the starting URL of products (i.e. or which you want to delete from Klevu Search indices and click on Submit button
    Remove data
  5. If Klevu finds the records, it will show the number of records starting with the given URL
    Remove data
  6. Click on Continue button and allow up to 15 minutes to remove the data from Klevu Search indices
  7. Delete both the JS API key and REST API key from your development/staging environment. This step is very important to ensure synchronization is not happening from both the staging and production environments.

How Klevu Manages Cookies?

Klevu uses 3 cookies, 1 for storing recent searches, 1 for storing recent categories of clicked products, and 1 for storing recently clicked products.

The names for these cookies are created dynamically.

Here are they defined:

1) Recent Searches Cookie

2) Recent Categories of Clicked products Cookie

3) Recently clicked products Cookie

Please note,

  • The cookies created by Klevu has a lifespan of 365 days.
  • Cookies are controlled by our global script and can not be disabled.

Can I include my site FAQs within my search?

Although Klevu does not specifically recognise FAQs as a particular content type they can indeed be indexed and displayed by integrating them as a part of “Other (pages)” and display them within the site search results.

Is there a way for me to import multiple product boosting scores (e.g via CSV) rather than manually adding these to the Klevu Merchant Center (KMC)?

This functionality is not currently part of the KMC however Klevu’s support team can assist with this if required.

Alternatively a better way to handle this may be to use rule-based merchandising to promote the products in bulk For example by adding the category you wish to boost or create an attribute with specific values and add the rule for the category/attribute with specific values and promote the products in bulk.

Can I migrate my previous search history into Klevu?

Yes, this will be handled by the Klevu support team as a part of your on-boarding process. Klevu require the data to be compiled in the following formats in order to effectively process them into the Klevu indexes.

Unfortunately, we are not able to accept any other format other than the one specified below.

How does Klevu index and make Content Management System (CMS) content searchable?

This depends on the eCommerce system in use:

With Magento or Shopify: The CMS pages are fed to Klevu which then indexes the page title, description, meta keywords and description. It uses this content to retrieve the relevant CMS pages.

With a Blog CMS feed (for example WordPress): The merchant has the flexibility to provide any relevant attributes and Klevu will index them.

Please see for more information on providing a feed.

How are searches (via Klevu) attributed to sales?

Klevu uses the customers IP address to identify the search led conversion. If a customer returns to your site and makes a purchase from that same IP address then the sale will be attributed to the original search activity.

How detailed is Klevu sales data? Can it be easily segmented?

Klevu does collect a lot of data in terms of user activity however the display in terms of reports is not generally as detailed as Google Analytics (GA).

In order to get the most granular and detailed view of your customer journeys then we recommend the use of the GA / Klevu integration.

On KMC Dashboard,you can view summarized and detailed report of searched queries, keywords, product clicks, locations and Klevu led sales conversion.

Please see for more information.

How to synchronize images from Configurable products in Magento?

To synchronize images from Configurable products in Magento, follow the steps mentioned below:

  1. Login into Magento Admin panel
  2. Go to System → Configuration
  3. Go to Klevu → Search Configuration
  4. Select the appropriate store view from the Current Configuration Scope
  5. Under the Product Image Settings,select Yes for Use Configurable Product’s Image in Search
  6. Click on Save Config
  7. Once you have changed the settings, please synchronize product updates by following the steps specified in Synchronize Data

Does Klevu take speed and up-time into consideration?

Of course. Klevu uses various best practices to ensure search is returned very quickly and remains available. These include:

A CDN for performance (CDN and Caching)
Klevu uses a CDN in order to deliver static resources such as JS scripts, images, and CSS. Also, Klevu utilizes the CDN as a cache to deliver search results quicker. Our CDN has 30+ points of presence (POPs) around the world including several of them in APAC. This ensures the delivery of our resources and search responses from the shoppers’ nearest POP.

Redundant Architecture
To handle Failovers and huge traffic, Klevu replicates every stores’ search index across four data centers (hosted in different regions).

The architecture ensures that responses are being delivered in few hundred Milliseconds. In case of huge traffic concerns, we are happy to setup a dedicated search node with possibility to scale further.

If products are set to not visible individually in Magento, does Klevu still index them?

For products set to ‘not visible individually’ but assigned to parent product, Klevu does index them along with their attributes.While indexing, some information is retrieved from parent product (as per Magento guidelines) e.g. title, URL but attributes are still indexed from the child product itself.

More information on how Klevu manages variants in search can be found here :

How does Klevu pull positive keyword attributes from reviews?

Klevu’s algorithms aim to identify positive sentiments. This component depends on Natural Language Processing (NLP) rules, not only synonyms/positive keywords.

For example. “Great” is positive sentiment but when you write like “not so great”, the component should not extract “great” from reviews.

To handle such scenarios, we can not only rely on keywords matching but it requires process beyond that and that’s what we do.Further to this we don’t consider product ratings while extracting positive sentiment from reviews.
Please note that this feature is only available as part of the premium-plus and/or enterprise plan. You are required to submit a feed containing a product ID and the related reviews.

How are ‘Trending products’ identified?

Trending products are identified by looking at real customer searches, which items were commonly clicked on as well as purchases. It uses a weighted combination to make suggested trending searches to future customers.

How to remove the Klevu search event from a specific search box?

By default, Klevu associates the event (provide search suggestions) to every text box having name=”q” or id=”search”, if there are any search boxes e.g. blog search box and you don’t want Klevu to power the searches for the specific search box, here is the solution:

Option 1:

A simple & the quick solution is to change the name (other than "q") and id (other than "search").
Option 2:

If above is not possible, we suggest adding the following JS function before end of </body>.
Please do remember to change <id-of-search-box> with an actual id of the search box from below function.
<script>// <![CDATA[
function removeKlevuEventHandlersForSearchBox(searchBoxId){
 if( 'undefined' !== typeof klevu_storeSearchBoxes && klevu_storeSearchBoxes &&
 klevu_storeSearchBoxes.length > 1 && document.getElementById(searchBoxId) ){
 var element = document.getElementById(searchBoxId),
 clone = element.cloneNode();
 while (element.firstChild) {
 //element.form.action = "<form-action>";
 element.parentNode.replaceChild(clone, element);

 //Attach any required event handlers to the clone
 } else{
 setTimeout( function(){ removeKlevuEventHandlersForSearchBox(searchBoxId); }, 300 );

// ]]></script>

Is it possible to run Smart Category Navigation on Magento 1 (M1)?

As far as Magento is concerned, we support Category Navigation only  for Magento 2. However, in a rare few cases, we have provided some code changes to enable category navigation on M1 as well.

However, please note that

  1. it isn’t possible to preserve your theme layout when working with Category Navigation on M1.
  2. You will need a developer at your end to integrate our changes.
  3. If you want us to do customizations for your category pages, we may not be able to match functions on existing category pages.
  4. We provide UI customizations only to the customer with premium and above plans.

We hope our answer is useful.

In Magento is it possible to exclude categories from specific keyword searches?

Excluding categories from specific keyword searches is not directly possible, however we suggest the following work around:

If for example we are displaying only top three relevant categories in search results, we are able to promote a given category so that it displays within the site search results.

Here we assume that the categories that customer would like to display as suggestion have searched keyword in their title/description.

To promote the categories via Individual product promotions, customer has to search for “KLEVU_CATEGORY” + , this will only display category pages and customer can add 10.0 as boosting score.

Is it possible to customize which prices are displayed within search results based on a certain customer group? E.g Trade or after a coupon code is entered.

In case of Magento, we need to check if they are using Magento’s core feature or third party extension? We support Magento’s core feature as out of the box feature.

For other systems, both of these are possible but require some customisations to the product feed provided to Klevu as well as some front end customizations.

Klevu support can help identify the changes needed or alternatively handle the development at a billable rate.

Why products are not synchronized with Klevu?

Possible reasons:

For Magento platform:
  1. CRON is not setup properly
    Magento uses CRON jobs for ‘automatically’ updating currency rates, catalog price rules, Google sitemaps, customer notifications etc.
    Klevu Search plugin also relies on CRON to synchronize products. It is, therefore, very important that you setup a cronjob to execute cron.php OR found in your Magento installation folder.

  2. Magento indices are not uptodate
    We strongly recommend that you update the indices (from System > Index Management) and keep the mode of your indexes to “Update on save”.

    1. In Magento Admin Panel, Go to System → Index Management
    2. Select All indices
    3. Select Reindex Data in Actions
    4. Click on the Submit button
    5. To make sure Magento indices are always in uptodate status
      • Select Change Index Mode in Actions
      • Select Update on Save in Index mode
      • Click on the Submit button
  3. You update the products directly in DB (manually or using any third party API?) OR importing the data using any bulk data import utility
  4. If none of the above points are valid and products are not synchronized with Klevu, please send Klevu_Search.log (under [magento-root]/var/log/] file to to investigate the issue.
For custom stores:
  1. Feed URL is not uptodate
    If registered feed URL is not uptodate, it will not display the updated products in search results. Please make sure to export the latest updates in the feed URL.
  2. Parsing error in product feed
    If Klevu could not parse the product feed URL for indexing then updated products will not be displayed in search results. Please check the XML/CSV feed URL submitted to Klevu.

How to show category hierarchy in search suggestions?

Please follow the steps below to show the category hierarchy in search suggestions. Please note, this will show maximum three level of category hierarchy in category suggestion.

This solution is only for Magento 1 platform.

1. Open app/code/community/Klevu/Search/Model/Product/Sync.php
2. Search for the line below:

$value["name"] = $category->getName();

3. Replace above with the below one:

if($category->getParentCategory()->getLevel() > 1) {
 if($category->getParentCategory()->getLevel() > 1){
 $value["name"] = $category->getParentCategory()->getParentCategory()->getName()." > ".$category->getParentCategory()->getName()." > ".$category->getName();
 } else {
 $value["name"] = $category->getParentCategory()->getName()." > ".$category->getName();
 } else {
 $value["name"] = $category->getName();

4. Perform full product sync by following the guide below, please remember to select “All Data” option.