Synthia Documentation

Synthia for Shopify

Search that answers like a salesperson and reports like a channel

Synthia replaces native storefront search with a dual-mode AI widget: product queries get an instant semantic grid, questions get Sophie — an assistant who answers from your catalog only. Every search is measured through to revenue, and everything it shows is under your merchandising control.

Shopper query typed into one search box Intent routing per query · instant blends mid-conversation Semantic product grid meaning-matched · instant · top 20 “linen sheets” Sophie — AI assistant catalog-grounded · add to cart “what’s best for hot sleepers?”

One search box, two answer modes — routed automatically per query, in the same conversation thread.

Find

Semantic search

“Comforter”, “duvet”, and “something warm” can all find the same product. Vector search matches meaning; a confidence floor keeps junk out of results.

Sell

Sophie, grounded

A shopping assistant that recommends only real, in-stock products from your catalog — never invented items or prices — with add-to-cart on the card.

Prove

Revenue attribution

Every search carries an id through add-to-cart to checkout. You see revenue per search term and per merchandising decision — with honest coverage stats.

2

The shopper experience

A collapsed launcher pill that opens into a chat-style drawer — search, conversation, and add-to-cart in one thread.

Launcher and drawer

The widget ships collapsed: a small pill with your assistant's name (“✦ Sophie · Ask me anything”) placed wherever you drop the block in the Theme Editor. When the shopper scrolls, it docks to the bottom-right corner. Clicking opens a right-side drawer — full-width on mobile — rendered above all theme content, opening with a greeting and three tappable suggestion chips.

One thread, two modes

  • Product queries (“blue snowboard”) render an instant grid in the thread — three columns on desktop, and long result sets land you at the top of the results, not scrolled past them.
  • Questions and preferences (“which is softer?”) stream a short reply from Sophie with product cards inline, in the order your ranking and rules produced.
  • The modes blend. A shopper can chat, type a plain product word, get a grid, and keep chatting. A mid-chat message that looks like a keyword but matches nothing goes to Sophie instead — nobody gets dead-ended.

Add to cart, without leaving the conversation

  • Single-variant products get an Add to cart button on the card. A successful add shows “Added ✓” and updates your theme's own cart drawer and badge in the background.
  • If Shopify rejects the add (sold out), the button becomes a disabled “Sold out” in place — the shopper picks another card rather than being navigated away mid-conversation.
  • Multi-variant products link to the product page, where your theme's size/color picker takes over.

Continuity and persona

The conversation survives navigation: open a product page, come back, and the thread — grids, cards, open drawer — restores exactly (per browser tab, 6-hour expiry). The assistant's name and tone come from a one-line brand-voice instruction in Settings; guardrails (catalog-only answers, polite refusals, no prompt manipulation) stay on regardless of voice.

3

How search decides

Every result is explainable: a five-step path from query to grid, with your merchandising rules applied last so they always win.

Embed query same model as catalog Retrieve your store only · in-stock only Confidence floor weak matches dropped, not padded Your rules pins & hides applied last — they win Top-20 grid or Sophie’s context

The same pipeline feeds the keyword grid and the products Sophie is allowed to recommend.

What makes results trustworthy

  • Meaning, not tokens. Each product is indexed three ways — identity (title, type, vendor), attributes (tags, options, and metafields like “finish: matte”), and an AI-written use-case description — so shopper vocabulary finds catalog vocabulary.
  • A confidence floor instead of junk. When nothing genuinely matches, the grid is honestly empty (and the dashboard tells you, with a fix). Weak matches never pad results.
  • In-stock by construction. Draft, archived, and unpurchasable products are excluded at the index level — shoppers are never recommended something they can't buy.
  • Rules always win. A pinned product holds its slot even when the algorithm wouldn't have surfaced it; a hidden product stays hidden. Pins and hides are per-search-term, so one product can be pinned to any number of terms, each at its own position.
  • Synonyms widen everything. A group like beige, brown applies to matching and to rule scope — plurals and word forms are handled automatically.
4

The merchant dashboard

Four pages around one loop: see what shoppers want, fix what's failing, and check whether the fix worked.

ANALYZE What are shoppers missing? Home · Analytics · Ask Synthia ACT Pin, hide, add a synonym Optimize · Rules MEASURE Did it work? What did it earn? Outcomes · Attributed revenue

The loop closes: outcomes and revenue feed the next round of decisions.

Home — the daily glance

Weekly KPIs with deltas, the attributed-revenue headline, Fix today (top failing searches with one-click Synonym / Pin / Dismiss), Did it work? (outcomes of your recent changes), and an Ask Synthia bar that answers plain-English questions about your own search data — “what are shoppers failing to find?” — with a one-tap action attached. The same three questions are also answerable from Shopify's Sidekick assistant in Admin.

Analytics — the deep dive

Toggle 7 or 30 days across: every zero-result search ranked by shoppers affected (each with a fix), attributed revenue with a daily trend and a coverage figure, a matched-vs-empty search-volume chart, your top-25 searches each with a Merchandise → link, Sophie engagement against quota, and p50/p95 response-time health.

Optimize — the visual merchandiser

  • Browse first: the page opens with two clickable lists — Needs attention (failing searches) and Top searches — so you click into a term instead of typing it from memory.
  • The shelf editor: the live grid exactly as shoppers see it. Drag a product to a slot to pin it there; drag to the tray (or click Hide) to remove it from this search only. Save applies atomically; the storefront reflects it immediately.
  • Zero-result searches aren't dead ends: the page explains why a term returned nothing (“closest match scored 0.56, below the 0.65 floor”) and offers the closest candidates as pinnable cards — pin one and it genuinely appears in live results.
  • Why these choices? After a save, each decision shows the reason Synthia inferred (Promotion, Clearance, New arrival…). Confirm or correct it — confirmed reasons appear alongside revenue in Analytics.

Rules & Settings

The Merchandising page lists every pin and hide with its attributed revenue over the last 30 days — you can see which decisions pay — plus synonym-group management. Settings covers catalog sync (status + one-click re-sync), plan and billing, and the brand-voice instruction.

5

Attribution — search to revenue

Most search tools stop at click-through. Synthia carries an id from the search result through add-to-cart to the completed order.

Search result mints a query id (qid) Add to cart qid rides the cart line Checkout completes consent-gated pixel report Conversion never double-counted Revenue per term & per rule informs the next merchandising decision

Attributed revenue appears on Home, Analytics, and against each individual merchandising rule.

Honest by design. Synthia reports attributed revenue — “this order started from this search” — and always shows a coverage figure: the share of orders that carried an attribution at all. Shoppers who decline analytics consent aren't counted, so read the number as a floor. Synthia never calls it “lift” and never makes a causal claim.

6

Getting started

Install to live search is a same-morning job — no developer required.

  1. Install and approve.

    Synthia requests exactly four permissions — read products (indexing), write themes (the widget block), write pixels + read customer events (attribution) — and nothing else.

  2. Let the catalog index itself.

    Sync starts automatically on install; a few hundred products finish in well under half an hour. Progress shows in Settings.

  3. Add the widget in the Theme Editor.

    Online Store → Customize → Add section → Synthia Search. Place it high on the page — it ships as a compact launcher pill, not a takeover.

  4. Verify with two searches.

    A product word should return a grid; a question should get a streamed answer from Sophie with product cards.

  5. Name your assistant (optional).

    Settings → Brand voice: “Your name is Stella. Warm, breezy, brief.” The widget picks it up automatically; guardrails stay on regardless.

Your first week

Let a couple of days of searches accumulate, then work the loop: clear Fix today (synonym, pin, or dismiss each failing term), browse Optimize's needs-attention list, and watch Did it work? confirm the fixes landed. Attributed revenue starts appearing with the first search-originated checkout.

Catalog changes: after a product launch or a large update, press Re-sync catalog in Settings. Sync is safe to re-run anytime; automatic webhook-driven sync is on the roadmap.

7

Architecture & data

Everything runs on Cloudflare's edge network — no servers to warm up, search executes close to the shopper.

YOUR SHOPIFY STORE Storefront widget theme app extension · ~26 KB Checkout pixel sandboxed · consent-gated Admin API catalog read on sync CLOUDFLARE EDGE Search worker routing · retrieval · Sophie · attribution Vector index semantic catalog Product cache instant cards Merchant data queries · rules AI models embeddings · Sophie Dashboard merchant analytics

Sophie runs on Claude (Haiku) with an automatic fallback model, so shoppers always get an answer.

What Synthia stores — and doesn't

StoredNever stored
Catalog data (titles, prices, images, selected metafields) as search indexes · search queries with timing and result stats · conversions as order id, line items, value, and the query id Shopper names, emails, or addresses · shopper accounts or identity of any kind · Sophie conversations (they live in the shopper's browser tab and expire in 6 hours) · anything from shoppers who decline analytics consent

GDPR webhooks (customers/data_request, customers/redact, shop/redact) are implemented; because no customer PII is stored, redaction is straightforwardly satisfiable. OAuth tokens use Shopify's expiring-token model and are refreshed server-side.

Integration surface

The widget is a self-contained Web Component in Shadow DOM — your theme's CSS can't break it, and it renders in the browser's top layer so theme stacking contexts can't trap it. Add-to-cart uses Shopify's standard cart API from the shopper's own session; Synthia never touches payment or checkout. On Dawn-family themes, the theme's own cart drawer updates live after an add.

8

Plans & performance

Keyword search is never metered on any plan. Quotas apply only to Sophie's conversational answers.

PlanPriceSophie answersWindow
Free$070rolling 7 days
Growth$79/mo40030 days
Scale$299/mo2,00030 days

If Sophie reaches the quota she pauses politely and shoppers still get full keyword search — your search never goes dark. Upgrades run through Shopify's own billing confirmation and land on your regular Shopify invoice.

Performance

  • Keyword search targets a sub-300 ms response, held to a 600 ms p95 budget on your live traffic (visible in Analytics).
  • Sophie streams her reply; first token is budgeted at 800 ms p95, with answers capped near 100 words for speed.
  • An automatic fallback model keeps Sophie answering through provider throttles or outages.
9

FAQ

Does it replace my theme's search or sit beside it?
It's a block you place anywhere in the Theme Editor — most merchants place it prominently and let it become the primary search. Your native search is untouched and can coexist during evaluation.
What happens to products that go out of stock?
Products with no purchasable variant are excluded from results at the next sync, so shoppers aren't recommended dead ends. If a shopper catches one mid-window, add-to-cart shows “Sold out” in place instead of navigating them away.
Can Sophie say something off-brand or invent a product?
Sophie only recommends from the product list retrieval produced for that query, and a post-generation guard checks for references outside it. Scope guardrails decline off-topic requests in one friendly sentence. Brand voice adjusts tone only — it can't override the guardrails.
A search I care about returns nothing. What do I do?
Open the term in Optimize. The page tells you why it failed (closest-match score vs. the confidence floor) and shows the nearest candidates as pinnable cards — pin one and it's live. If it's a vocabulary mismatch, create a synonym instead.
How accurate is the revenue number?
It's deliberately conservative: only orders that carried a search attribution count, consent-declining shoppers are excluded, and each figure ships with a coverage percentage so you know exactly what share of orders it's based on. It's a floor, stated as one.
What does my developer need to do?
Nothing. Install, approve four scopes, add the block in the Theme Editor. There's no code integration, no data feed to build, and uninstalling removes the widget cleanly.

↑ Back to top