Search on Shopify: When to Ditch the Native Search and What to Replace It With
Native Shopify search works until it doesn't. Here's how to spot the breaking point, pick a replacement (Algolia, Typesense, Meilisearch, or Shopify's own Search & Discovery), and wire it in without nuking your theme.

Site search is the part of the storefront most teams ignore until a category manager forwards a screenshot of zero results for a product that obviously exists. By then you've already lost a measurable chunk of revenue — search users convert at roughly two to three times the rate of browsers, depending on the catalog. This is a breakdown of when Shopify's native search starts costing you money, and how we pick a replacement without turning a one-week project into a quarter.
The honest baseline: what native Shopify search actually does
Shopify's storefront search has improved a lot since the Search & Discovery app shipped. Out of the box you get:
- Predictive search via the Storefront API (
/search/suggest.json) - Synonyms, redirects, and basic filter rules through Search & Discovery
- Boosts for product, collection, page, and article result types
- Typo tolerance — limited, but present
For stores under roughly 2,000 SKUs with a clean taxonomy, this is usually enough. We've shipped Shopify builds where the search bar was three lines of Liquid pointing at predictive search, and the conversion numbers were fine.
The trouble starts when one of these is true:
- Your catalog is over ~5,000 SKUs with overlapping titles (fashion, auto parts, B2B industrial).
- Customers search by attribute, not name ("black waterproof size 10" instead of "Storm Boot").
- You need merchandising rules per segment — VIP, wholesale, geography.
- You're going headless and want a single search index across products, content, and a custom data model.
- Your team needs analytics on zero-result and low-CTR queries, and Shopify's reports aren't cutting it.
If two or more of those are true, you've outgrown native.
Signals you're actually losing money to bad search
Before proposing a six-figure search migration, run the numbers. The signals we look for in an audit:
- Zero-result rate above 8–12% of total searches. Anything higher and you've got a synonym or tokenizer problem.
- Search-exit rate (sessions that search, then bounce) climbing month over month.
- Search-to-PDP CTR below 35%. Healthy stores sit in the 45–60% range in our experience.
- Long-tail queries returning the same hero products because relevance is collapsing to popularity.
- Mobile search latency over ~400ms on the predictive dropdown. Users abandon the box.
Pull these from GA4, Shopify analytics, or — better — a session replay tool. If you can't measure them, that's the first project, not the search rebuild.
A quick query-quality audit
Export the last 90 days of internal search queries. Bucket them:
- Brand / exact-name (
nike air max 90) - Category (
running shoes) - Attribute (
waterproof black size 10) - Misspellings and natural language (
shoos for runing)
If attribute and natural-language queries make up more than ~30% of volume and they're underperforming on CTR, native search is the bottleneck. No amount of synonym tuning will fix that — you need a real analyzer.
The realistic options in 2026
Four serious contenders, each with a different tradeoff profile.
Shopify Search & Discovery (free, native)
Keep using it when: small-to-mid catalog, Liquid theme, one storefront, English-only or simple multilingual via Shopify Markets. The recent updates to semantic search inside Shopify's stack have closed the gap for plain-language queries on smaller catalogs. Don't underestimate the value of zero ops.
Algolia
The default "enterprise" answer. Best when: you need merchandising UI for non-technical category managers, A/B testing on ranking, personalization, and a battle-tested Shopify connector. Cost scales with operations (search + indexing requests), and at large catalogs with heavy traffic it gets expensive fast. The DX is excellent.
Typesense
Open source, can be self-hosted or used via Typesense Cloud. Best when: you want predictable pricing, sub-50ms latency, and you're comfortable owning the index. The Shopify integration isn't first-party, so you'll write the sync layer. Worth it for engineering teams that want control without Elasticsearch's operational tax.
Meilisearch
Similar positioning to Typesense — open source, fast, developer-friendly. The newer search-as-you-type ranking rules are genuinely good for ecommerce. Less mature merchandising UI than Algolia. Good fit when search is mostly a developer concern and merchandising is light.
We don't recommend Elasticsearch or OpenSearch for storefront search anymore unless you already run it for other reasons. The ops overhead isn't worth it when the alternatives exist.
How we wire it up without breaking the theme
The mistake we see most often: ripping out the search bar on day one. Don't. Run the new index alongside the old one, behind a feature flag, on a percentage of traffic. Measure before you commit.
A rough sketch of the integration on a Liquid theme using Algolia as the example — the pattern is identical for Typesense or Meilisearch:
// assets/search-client.js
import algoliasearch from 'algoliasearch/lite';
const client = algoliasearch(
window.SHOP.algoliaAppId,
window.SHOP.algoliaSearchKey // search-only key, safe in browser
);
const index = client.initIndex(`products_${window.SHOP.locale}`);
export async function search(query, { filters, page = 0 } = {}) {
const start = performance.now();
const res = await index.search(query, {
hitsPerPage: 12,
page,
filters,
clickAnalytics: true,
});
// ship latency to your RUM so you can compare against native
window.analytics?.track('search_performed', {
query,
nbHits: res.nbHits,
latencyMs: Math.round(performance.now() - start),
engine: 'algolia',
});
return res;
}
On the indexing side, you've got two options:
- Use the vendor's Shopify app (Algolia ships one) — handles product updates via webhooks, but you give up control over the schema.
- Own the sync — subscribe to
products/update,products/delete,inventory_levels/updatewebhooks, transform to your search schema, push to the index.
For anything beyond a basic catalog, own the sync. The vendor apps make assumptions about your data model (especially around variants and metafields) that you'll outgrow.
The variant problem
The single trickiest decision: do you index products or variants? Most stores default to products, which keeps the index small but breaks queries like "black size 10" because the variant attributes get flattened. Indexing variants gives you accurate filtering at the cost of a 5–20x larger index and more complex deduplication on the results page.
Our rule of thumb: index variants when attribute-based queries are over 25% of volume, and use a product_id distinct key to collapse results back to the product card.
Don't forget the merchandising workflow
The failure mode of a technically perfect search migration is that the merchandising team can't use it. Before you sign a contract, sit a category manager in front of the admin UI and have them:
- Pin a product to position 1 for a query
- Create a synonym group
- Set up a rule for a promotion ("boost summer collection for queries containing 'dress'")
- Review a zero-results report and fix the top three
If they can't do those four things in under 15 minutes, you've picked the wrong tool — or you need to budget for a thin internal admin on top of it. We've built those internal admins more than once when the team chose a developer-first tool but had a merchandising-heavy operation.
What the rollout looks like
A realistic timeline for a mid-market store:
- Week 1: Audit current search analytics, define success metrics, export query log.
- Week 2–3: Stand up the index, build the sync, dual-write with native search.
- Week 4: Ship behind a feature flag to 10% of traffic. Compare CTR, zero-result rate, search-to-purchase.
- Week 5–6: Tune ranking, train merchandisers, expand to 50%.
- Week 7: Full rollout, deprecate the old code path, keep the rollback flag for 30 days.
Don't compress this. We've seen teams swap search engines on a Friday and spend the following Monday explaining a 6% revenue dip to the CEO.
Where we'd start
If you're staring at this decision right now: pull 90 days of internal search queries, calculate your zero-result rate and search-to-PDP CTR, and benchmark predictive search latency on a mid-range Android device over 4G. Those three numbers tell you whether you have a search problem or a merchandising problem. They're different problems with different fixes, and replacing the engine won't solve the second one.
If you want a second pair of eyes on the audit or the migration plan, that's the kind of work our e-commerce team does on a weekly basis — happy to compare notes.
Want a team like ours?
72Technologies builds production software for the kind of teams who actually read this blog.
Start a projectKeep reading
Cart Abandonment Webhooks Lie: Building a Recovery Pipeline That Actually Attributes Revenue
Shopify's abandoned checkout webhook is noisy, late, and bad at attribution. Here's the event pipeline we build instead so recovery emails, SMS, and WhatsApp don't double-count or miss revenue.

Shopify Markets vs a Multi-Store Setup: How We Pick for Cross-Border Brands
Shopify Markets looks like the obvious answer for selling abroad — until tax, content, and payment realities hit. Here's how we decide between Markets, multiple stores, or a hybrid for cross-border brands.

Inventory Sync Hell: Why Your Shopify Store Oversells on Black Friday (And the Architecture That Fixes It)
Overselling on peak days is rarely a Shopify bug. It's a sync architecture problem. Here's how we redesigned a multi-channel inventory pipeline to stop the bleed without rewriting the ERP.
