Case Study: From 10,000 to 1.24 Million Impressions in Two Years
How a small South African online perfume store went from invisible to 28,700 organic clicks a month — 120× impression growth over two years of SEO and GEO, with no paid ads. The client’s name is withheld at their request; the numbers come straight from their Google Search Console.

The short version
A South African online fragrance retailer came to us in 2024 with a problem most small e-commerce stores know well: a good product, a decent website, and almost no organic visibility. Around 10,000 search impressions a month — which, in practical terms, meant they barely existed on Google.
Two years later, their last 28 days look like this:
- 1,240,000 impressions (120× growth)
- 28,700 organic clicks — roughly 1,000 potential customers a day, for free
- Average position 5.6 across all queries
- 16,728 clicks from product snippets alone — rich results doing the selling before anyone even lands on the site
- 298 search queries ranked at position one or two — including the brand name at #1 with a 14.4% click-through rate
No Google Ads. No paid traffic. Just consistent SEO and, more recently, GEO — optimising not just for Google, but for the AI search tools their customers increasingly use to decide what to buy.
The client’s name is withheld at their request. Specifics are available on a call — we’re happy to walk you through the actual Search Console data.

Where they started
When we took the account on, the picture was typical of a small e-commerce store that had never had proper SEO:
- ~10,000 impressions a month, almost all from their own brand name
- Product pages invisible for the searches that matter — the fragrance names, the “buy [perfume] South Africa” queries, the comparison searches
- No structured data, so no rich results — just plain blue links competing against Takealot and the big retailers
- No content beyond product listings — nothing for Google to rank for informational searches
- Slow mobile experience, in a market where most buyers are on phones
The budget was modest. The niche was competitive — fragrance is dominated by marketplaces and international retailers with domain authority a small SA store can’t outmuscle. So we didn’t try to outmuscle it. We out-structured it.

What we did
Year one: foundations and structure
Technical first. Site speed, mobile rendering, crawlability, clean URL structure. Unglamorous work that doesn’t show up in a screenshot but determines whether anything else can work. Mobile mattered most — today 88% of this client’s clicks come from phones.
Product schema, properly implemented. This is where the compounding started. We marked up every product with structured data — name, price, availability, reviews — so Google could show rich product snippets instead of plain links. That single decision now drives 16,728 clicks a month from product snippets, at a click-through rate of 2.9% and an average position of 3.8. When your listing shows a price, a rating and a stock status while the competitor shows a blue link, you don’t need position one to win the click.
Collection and category architecture. We rebuilt how products were organised so Google understood the catalogue — by brand, by fragrance family, by use case — and each of those pages could rank for its own set of queries.
Content for the searches buyers actually make. Not generic “what is perfume” filler. Fragrance-specific, purchase-intent content: scent profiles, comparisons, “best for” guides, longevity and projection reviews — the things people search right before they buy.

Year two: scale and GEO
Scaling what worked. More product coverage, more content, internal linking tightened around the pages that were converting. The numbers kept climbing — but the interesting shift was where the growth came from.
GEO — showing up in AI search. Fragrance buyers increasingly ask ChatGPT, Gemini and Perplexity things like “best long-lasting oud under R1,000” or “Lattafa vs Afnan — which is better?” We structured the client’s content so AI tools can parse it, cite it, and recommend their products: direct-answer FAQ sections, comparison tables, factual product descriptions with concrete attributes rather than marketing fluff. When an AI assistant recommends a fragrance and links a source, this client is increasingly the source. That is the whole discipline behind our Generative Engine Optimisation work.
Review generation. Real customer reviews, systematically collected — feeding both the review snippets (974 clicks a month on their own) and the trust signals AI tools look for.

The results, in their own data
Straight from Google Search Console, last 28 days:
| Metric | Two years ago | Today |
|---|---|---|
| Monthly impressions | ~10,000 | 1,240,000 |
| Monthly clicks | Negligible | 28,700 |
| Average position | Not ranking | 5.6 |
| Product snippet clicks | 0 (no schema) | 16,728 |
| Queries ranked #1 or #2 | — | 298 |
| Brand query position | — | #1 |
| Mobile share of clicks | — | 88% |
| Countries reaching | South Africa | SA, Zimbabwe, Botswana, Namibia, Mozambique, Lesotho, Zambia and more |
Number one, not just page one
Page-one averages are nice. Number one is better. This client now holds position one or two for 298 different search queries — and they’re not obscure long-tails nobody searches. They’re high-intent buyer keywords: major fragrance brand names, specific product searches, and “perfume”-level generic terms in their niche, with the brand name itself locked at #1 and converting at a 14.4% click-through rate.
Why does that matter? Because position one doesn’t just get more clicks — it gets believed. It’s the result Google shows first, the answer AI tools are most likely to cite, and the listing a buyer trusts before they’ve read a word. Ranking first for the products people are actively trying to buy is what turned impressions into a thousand visits a day.
The detail we like most: the top non-brand queries are specific fragrance names — searches from people who know exactly what they want and are ready to buy. That’s not traffic for traffic’s sake. That’s shelf space in front of buyers. And the growth isn’t plateauing — impressions trended upward through August, with clicks following.
What this means if you’re a small e-commerce store
Three honest lessons from two years on this account:
- You can’t outspend the marketplaces — out-structure them. Takealot will always have more authority. But structured data, clean architecture and purchase-intent content let a small store win the rich result and the specific query, which is where the buying happens.
- Schema is the highest-ROI work in e-commerce SEO. More than half of this client’s clicks come from product and review snippets. It’s not exciting work. It just pays every single day.
- AI search is already a sales channel. Buyers are asking AI assistants what to buy. The stores those assistants cite are the ones with parseable, factual, structured content. That window is open right now in most niches — it won’t stay open.
Could this work for your store?
We won’t promise 120× — every niche, starting point and budget is different, and anyone who guarantees numbers is selling something. What we can tell you is exactly what we’d do first, in what order, and what it would cost.
Run our free 30-second website audit, check how visible you are in AI search with our AI Visibility Score, or just book a chat — and if you’d like to see this client’s actual Search Console data, ask us on the call. First month is free, and if SEO isn’t the right spend for you right now, we’ll tell you that too.
Could this work for your store?
We won’t promise 120× — every niche, starting point and budget is different, and anyone who guarantees numbers is selling something. What we can tell you is exactly what we’d do first, in what order, and what it would cost. First month is free, and if SEO isn’t the right spend for you right now, we’ll tell you that too.




