With Shopify Plus’s very clear surge in popularity with larger retailers over the last 12-18 months, I’ve been asked lots of times about solutions for specific limitations with Shopify Plus, so I decided to write a series of guides to answer some of the most common questions I get asked when looking at Shopify Plus as a platform or with clients using the platform. This article is specifically focused on search – the other guides I’m writing are focused on improving layered navigation / filtering and achieving better visual merchandising capabilities.

Bulletproof.com is one of our clients, who use Shopify Plus and we work with around optimising their search.

In this guide, I’m going to cover a mix of optimisation that can be done within Shopify Plus (such as improving how product data is setup within tags and metafields), optimisations that can be achieved via apps and then potential third-party solutions that are likely to deliver a better end result.

How can you improve search in Shopify Plus?

Like the majority of other platforms on the market, Shopify Plus has a fairly weak native search capability, relying on the product name and long description to match items to queries. Unfortunately, Shopify doesn’t have any native features that allow for the search to be optimised, outside of manually editing product data, which isn’t a good or scalable solution. Shopify also doesn’t support adding of synonyms or any form of influence on product visibility.

Most larger retailers using Shopify Plus will already be using a third party solution, such as Klevu, Algolia, SearchSpring etc.

Overall, this would be my recommendation, as there’s very little optimisation that can be done without using at least an app. There are apps that can be used (such as SearchIt and BoostCommerce’s solution), which will reduce the costs, however these don’t generally allow for things like different levels of merchandising / boosting, machine learning / self-learning influence, advanced error handling etc.

The three third party solutions below are the ones that I’ve been exposed to the most and would be my recommendation to look at are:


Klevu is naturally going to be my favourite search solution because they’re a client we’ve been working with for a number of years, however I do really rate their solution. Klevu’s core offering is focused on NLP, machine learning and merchandising, all of which are important for larger retailers. Klevu is competitive when it comes to pricing and has a really straightforward integration with Shopify Plus. Examples of featured Shopify Plus stores include Bulletproof.com (which we integrated as they’re our clients), Pai Skincare, Oco Glasses and Raen.


SearchSpring is another really strong search provider which has some really good merchandising features. SearchSpring has a very similar proposition to Klevu but tend to do more bespoke integrations – which can be great for really complex businesses in particular. They also have a good native offering around product finders, which is usually a customisation for third party providers. Examples of Shopify Plus retailers using SearchSpring include Emma Bridgewater and John Elliott.


Algolia is a much broader search technology covering a broader remit, rather than just eCommerce – powering some of the world’s best-known apps, content / publisher websites etc. Algolia’s key selling points are around indexing and speed; they tend to be the fastest when it comes to the overlay and filtering and they’re also great when it comes to indexing lots of different types of content. Algolia can also facilitate for heavy customisation, which comes as a result of it’s broader usage – however they don’t currently have the same eCommerce-focused features around merchandising and reporting etc – although I’d imagine this will come. Examples of Algolia implementations with Shopify Plus include Beyond Retro and ledbulbs.co.uk.

All three of these solutions are different and they have different benefits – even though I’m semi-biased towards Klevu, I’d check them all out to get an idea of which one best fits your business.

The key features to look for in these third-party solutions, in my view, is:

Ability to merchandise at different levels

For a lot of retailers, this will be the biggest requirement – the ability to merchandise specific queries, boost individual items, weight different tags and metafields etc. Being able to add business logic alongside any machine learning / self learning is an important requirement that is often overlooked.

As part of this I’d also expect for a solution to allow for custom error handling, so for example serving a set of product results or custom error messaging or something along those lines. Another feature you may want is to be able to suggest other queries for error queries, which is a common feature that a lot of retailers use.

Flexible templates & ability to customise

Ideally, the overhead to styling the different aspects of the search results landing page and the JavaScript overlay (assuming you use one) should be very simple – most providers just allow access to the CSS or JavaScript files, which allows for quick and easy editing.

In addition to this though, it’s worth looking at how hard it would be to incorporate things like badges / overlays, roll-over images, review ratings and any other components that you want in your product cards – this can be trickier with some providers.

I’d also look at the documentation for these aspects as well – to get an idea of how complex it’ll be to make changes and also understand how well documented the solution is anyway.

A good Shopify integration

Ideally the provider would have a strong integration capable of pulling different forms of data from Shopify Plus and keeping an index up to date. The solution should support the usage of tags and metafields for filtering and boosting logic and also allow for things like selecting an image, rollovers, special prices etc.

Also, with the new international features, the solution would ideally support this as well. A bonus would be some form of integration or plan to integrate with Shopify Flow.

Search reporting & insights

Ideally, your search solution would provide as much insight as possible to support the optimisation of results, which could include things like:

  • The value and popularity of queries (with trend data)
  • The popularity of products (with trend data)
  • Product-level click and CTR data
  • Error queries
  • Queries with a lot number of results
  • Use of filtering & refinements (with ability to drill-down at query level)
  • The effectiveness of merchandising / logic (e.g. in-line reporting for boosted SKUs or rules etc)
  • Usage and performance of keyword suggestions

These are just a few examples of things that could support users in optimising results, other reports you’d ideally want would include:

  • Transaction-focused data against queries, collection links, products etc
  • Conversion rate and sales data at a query level
  • Device category reporting
  • Geographic reporting (not essential but some of the providers offer this)

These are the obvious considerations, other things that you may want to look at, include:

  • Supporting features around category merchandising
  • Ability to provide search and category results in-line in the page
  • Ability to power a product finder

Optimising product attribution / tags & metafields for filtering and merchandising / boosting rules

One other thing to consider around search (and merchandising) is the data points that are required in order to provide a good filtering experience (the values used for filtering and the attribute values) and also for merchandising rules (ensuring that you have the right data against the products for these rules, e.g. seasonality or profit margin).

These data points would be added via either tags or metafields, but most likely tags (this generally makes things easier as not all third parties support metafields and tags are more widely useable). It may well be that you have already done some of this to support other areas and you simply require some revisions, however if you’re doing this from scratch, you ideally want to put some thought into creating a scalable format and naming convention for the tags. Here are some examples of tags and values you could use:

  • Colour: Black
  • Waste_Size: 30
  • Fit: Skinny
  • Gender: Mens
  • Brand: Levis
  • Year: 2017
  • Collection: SS17

It’s important that the structure is compatible with that required with the third party solution(s) you’re using, as some are quite rigid with how you setup data. With most of the good ones though (Klevu for example) you can set the delimiter manually (so in the above example, it would be the : value).

Another important thing to remember is that you need to ensure that you always use the same values, format and data structure, as otherwise the product filtering won’t work properly (or will look strange if they’re not formatted correctly). Examples of issues you can see here would include multiple filtering options for the same value (e.g. S and small, or Black and black) and not all products being included for applied filter combinations.

If you were to use this structure for data across your entire product catalog, you would end up with a very clean and useable set of tags for filtering, which would then be indexed by the third party solution you’re using (the same would apply for filtering on PLPs, if you’re using a non-native solution or your search solution). An example could look like:

Generally, the better product attribution you have, the more options you’re going to have around filtering, merchandising and also data you’ll be able to make available via things like data feeds. These tags can also be used to build out categories / collections, which can be important in order to increase the breadth of keywords you’re able to target from an SEO perspective.

Examples of additional data points you may want to include to support merchandising could include:

  • Profit-margin: 35
  • Importance_tier: 1
  • Own-brand: Yes

These data points wouldn’t be used on the front-end, they’re solely for internal purposes – these could be weighted and used within combined rules to create a base sort / ordering logic.

Tags vs metafields for storing data in Shopify

A tag is a native way of storing data in Shopify which is supported by the majority of third parties and apps – tags are also well-supported via Shopify’s APIs. Metafields are essentially a custom way of storing data that have a number of limitations (harder and slower for third parties to index) and users require a browser extension to use these in the back-end (alongside an app). Generally, most people use tags unless the data being stored is more complex – I’ve had a number of clients that have used metafields for aspects of the theme that can then be managed in the back-end.

One disadvantage of using tags for this is that the values are free-type, meaning your data is only going to be as good as the merchandisers / eCommerce team members creating / maintaining it.

This is made easier if you’re using a third party system, mostly likely a PIM (product information management solution used for storing and managing more complex product data, often across multiple channels), but this is a bit of a luxury for non-complex B2C retailer. If you were to use metafields, you could provide a more user-friendly and manageable format, such as drop-down options and radio buttons in the back end.

There are plenty of other solutions that I’m not as familiar with, such as Findify, Attraqt and Nextopia, which are also worth looking at – these are just the ones I’ve had the best experiences with. If you have any comments on this guide or have any further recommendations, please feel free to add them below.

This guide is relatively top-level, but hopefully it provides a good overview of how you can work towards a good search capability within Shopify Plus. If you have any questions, you’re welcome to email me on [email protected] and I’ll be adding to this with other guides focused on merchandising.