See the searches you’re already losing.
- It is built for your store, not downloaded — an LLM reads your catalog, collections and existing rankings and decides what this store could plausibly compete for. Then real search data is fetched against those decisions.
- Every term carries real numbers — monthly volume, difficulty, cost-per-click, seasonality. Nothing is estimated by a language model.
- It knows which page each term belongs to — a collection, a blog, a product — and marks one primary term per page so two of your pages never chase the same search.
- Your own Search Console is half the input — sixteen months of per-page history, so it knows what you already rank for before it suggests anything new.
- Nothing else generates blind — blogs, collection pages, product copy and social captions all read from this profile. It is the reason they agree with each other.
custom coffee mugs
shopbezza.com · keyword profile
- Monthly searches
- 18,100
- Difficulty
- 2 / 100
- Cost per click
- $7.02
- Intent
- Commercial
- Cluster
- gifts_drinkware_and_blankets
- Parent topic
- lifestyle
- Belongs on
- A collection page
- Relevance
- Tangential
- Peaks in
- November · December
- Why it’s here
- Benefit term
every active keyword in your profile carries all of this
Difficulty 2 against 18,100 searches a month, peaking exactly when gift shopping does. That combination is the entire point — and it isn’t visible from inside your catalog.
Before it looks anything up,
it writes down what your store is.
This is the real output of the first call for a real store — not a summary of it. Everything downstream is judged against this document, which is why it’s worth reading rather than trusting.
It decided the store sells
It decided who buys
“Women 28–55 in urban and suburban North American markets seeking premium contemporary boutique fashion with polished, versatile work-to-weekend styling, occasion-ready dresses, elevated accessories, and comfort-conscious pieces.”
- Price tier
- Premium
It decided what each page type is for
- Product pages
- transactional → commercial → navigational
- Collection pages
- transactional → commercial → informational
- Blog pages
- informational → commercial
And it decided what to refuse
Two lists, and they do different jobs. Exclusions are business models this store isn’t in. Drift signals are searches that would pull the catalog toward a customer it doesn’t serve — and these are enforced in code, not left to the model’s judgment a second time.
Exclusions — not this business
Drift signals — not this customer
A women’s boutique that starts ranking for “prom dresses” hasn’t found an opportunity. It has started answering a question it can’t fulfil.
And it writes the search terms to go and look up.
Each cluster comes with seed phrases in your store’s own language. Two of these fifteen — Adelyn Rae mini dress and Dress Forum short dress — are brand terms: the strategy knows which designers this boutique actually carries, so it goes and looks up demand for those names specifically.
Three stages. The model never invents a number.
The division of labour is the whole design. A language model is good at deciding what a store is about and whether a phrase belongs to it. It is bad at knowing how many people searched for something last month. So it does the first job, and a search-data provider does the second.
- 01
Strategy
One call reads your store profile, your products, your collections, your top 50 ranking queries and your locale — and returns the clusters this store could compete in, with seed phrases in your own language, the audience, the intents to prioritise, and what to exclude.
- 02
Real search data
Those seeds go to a search-data provider. What comes back is measured: volume, difficulty, cost-per-click, the SERP features present, and twelve months of monthly history per term.
Measured - 03
Curation
Every returned keyword is judged one at a time: keep or drop, which cluster, what intent, which page type it belongs on, how relevant it really is, and a reason code for the decision.
- the strategy is cached on its inputs, and cluster names are kept in a registry — so a rebuild next month doesn’t rename your whole taxonomy
Four ways a keyword can be refused.
A curator judging tens of thousands of phrases will occasionally produce nonsense, and nonsense in this file propagates into every blog and product page you generate afterwards. So the model’s output is checked by code before anything is written down.
- It must be a real term — a keyword the curator returns that wasn’t in the data it was given is discarded outright. It cannot add phrases of its own.
- It must use a real cluster — a cluster name outside the strategy’s own list is clamped back to one that exists.
- Your audience is enforced in code — the strategy names the drift signals for your store; terms matching them are force-dropped without asking the model twice.
- Terms you insist on always survive — anything on the must-include list is injected whether the curator liked it or not, and whether it has volume or not.
Decision
- Verdict
- keep / drop
- Intent
- commercial · informational · transactional
- Cluster
- from the strategy’s own list
- Page type
- collection · blog · product
- Relevance tier
- core · adjacent · tangential
- Opportunity tier
- high · medium · low
- Is it a question?
- for answer-engine surfaces
- Competitor brand?
- flagged, not silently kept
- Reason code
- why this verdict
A decision per keyword, not a score for the batch. That is what makes the profile auditable later.
Big searches are easy to find.
Winnable ones are not.
Every keyword tool will tell you “shoes” gets a million searches. What decides whether that’s an opportunity or a waste of a year is the second number — and these five are all real terms in the same store’s profile.
| Term | Monthly searches | Difficulty | Verdict |
|---|---|---|---|
| shoes | |||
| ring | |||
| dresses | |||
| jewelry | |||
| luxury jewelry |
Look at the last two rows. “jewelry” and “luxury jewelry” have identical demand — 450,000 searches a month each — and one is more than three times harder than the other. A store that chases the first spends a year losing to Tiffany. A store that takes the second gets the same traffic from customers who were already looking for its price tier. Nobody finds that by intuition; it comes out of having the number.
It knows when to publish, not just what.
Each term carries twelve months of its own history, so the profile knows when demand for it actually arrives. Aggregated across one store’s whole profile, the shape of its year falls out — and it is not subtle.
This is a boutique fashion catalog. December carries eight times the peaking terms that February does. Knowing that in September is worth more than knowing it in December.
Terms peaking in each month, as a share of the December peak · one real store
- Jan22%
- Feb12%
- Mar24%
- Apr25%
- May46%
- Jun36%
- Jul37%
- Aug36%
- Sep39%
- Oct65%
- Nov89%
- Dec100%
Your catalog, as search sees it.
Clusters aren’t your Shopify collections. They’re the groupings a search engine behaves as though it has — and some of them have no product page behind them at all. These are real clusters from a real store, with the demand behind each one.
| Cluster | Keywords | Monthly searches | Avg difficulty |
|---|---|---|---|
| necklaces_bracelets_and_rings | 597 | 11.1M | 0.5 |
| handbags_purses_and_clutches | 445 | 6.4M | 2.3 |
| sneakers_flats_and_slippers | 219 | 5.8M | 2.2 |
| casual_dresses | 173 | 5.3M | 0.7 |
| jackets_blazers_and_shackets | 305 | 4.7M | 0.9 |
| fashion_style_guides | 643 | 4.5M | 5.8 |
| party_dresses | 186 | 4.2M | 1.1 |
| workwear_date_night_and_holiday_edits | 183 | 4.2M | 3.7 |
The two highlighted rows are the interesting ones. fashion_style_guides and workwear_date_night_and_holiday_edits are not categories this store sells — they’re the things its customers are actually searching, and between them they carry 8.7 million searches a month. Those clusters become articles and landing pages, because there is nothing else to point at them.
What the market wants, and what you already have.
Search volume tells you what the world is looking for. It says nothing about where you currently stand. So the profile is joined to sixteen months of your own Search Console history — per query, per page, per period — and that is what turns a list of keywords into a position.
It is also what makes the rest of the platform honest. A page can be told it already ranks fourth for something and shouldn’t be rewritten. A new article can be told a term is taken. A result can be measured against what the page was doing before.
Search data provider
What the market is asking
Monthly volume · difficulty · cost-per-click · SERP features · twelve months of history per term
measured, not modelled
Your Search Console
What you already hold
Every query, every page, impressions · clicks · position · click-through — sixteen months back
yours, not a sample
The quiet way a store competes with itself.
You publish an article about winter coats. Eight months later you publish another one. Then a collection page. Now three of your own URLs are eligible for the same search, Google picks whichever it likes on the day, none of them accumulates authority, and the store’s traffic for that term is worse than it was with one page.
Nobody notices this happening, because every individual page looks fine. It’s only visible from above — which is what the profile is. Each mapped page gets exactly one primary term stamped on it, and everything generated afterwards has to respect that claim.
- One primary term per page — chosen by opportunity, then by score
- New content picks from what’s unclaimed — a blog can’t take a term a collection owns
- Claims are visible — you can see which page holds which search
Before
- /blogs/winter-coat-guide
- winter coats
- /blogs/how-to-pick-a-coat
- winter coats
- /collections/outerwear
- winter coats
three pages, one search, no winner
After
- /collections/outerwear
- winter coats primary
- /blogs/winter-coat-guide
- how to layer a winter coat
- /blogs/how-to-pick-a-coat
- wool vs down coats
three pages, three searches, three winners
This is the file every other feature opens.
Keyword intelligence isn’t a report you read. It’s the shared context that stops the rest of the platform guessing — and the reason your blog, your collection pages and your product copy sound like they were planned by the same person.
Blog engine
What to write about
Topics proposed against unclaimed terms with real demand — and each section given its own keywords.
Collection & landing pages
What the page targets
A page is planned against a term you could win, not a phrase someone typed into a brief.
Product descriptions
How it’s titled
The SEO title and meta are written around terms from your own profile, filtered to that product’s cluster.
Social
What it talks about
Captions and hashtags drawn from the same vocabulary, so social and search aren’t two different brands.
The first one is free.
A build is genuinely expensive to run — a full one queries a paid search-data provider across every cluster in your store, then judges tens of thousands of returned phrases individually. We charge for that, except the first time.
Your first build
freeThe whole profile, once, so you can see what your store actually hasA rebuild
300 creditsA full re-run: new strategy, fresh search data, everything re-judgedA refresh
100 creditsUpdated numbers on the profile you already haveReading it
freeEvery other feature uses the profile at no extra cost
The free first build isn’t a price of zero — a build costs 300 credits, and the route simply lets your first one through. Old keywords are never deleted on a rebuild either: they’re marked inactive, so the history of what you once targeted stays intact.
The honest answers.
Is this just a keyword tool?
No, and if all you want is a keyword tool there are good ones. The difference is that nothing here stops at a list — the profile is what the writing features read from, which is why an article and a collection page produced a month apart don’t end up fighting each other.
Where do the numbers come from?
A paid search-data provider, not a language model. The model decides what your store is about and whether a phrase belongs to it; every volume, difficulty and cost-per-click figure is fetched.
Does it work outside English?
Yes — the strategy is generated in your store’s language and the seed phrases go out in that language, against your target country. A Swedish store gets Swedish keywords, not translated English ones.
How big does a profile get?
Thousands of active terms for a typical catalog, and tens of thousands for a large one. What matters more than the count is that each one has been judged individually rather than scraped.
Will it make me rank?
It won’t, on its own — it’s a map, not a result. What it does is stop you writing into a vacuum, and it’s what lets the rest of the platform measure whether anything worked afterwards.
Most stores are guessing.
Yours doesn’t have to.
the first build is free · nothing is deleted on a rebuild