B2B ecommerce growth: from zero to seven figures.
Five years ago a B2B supplier of PPE and hygiene products came to me with no website, no online ordering, and a sales model that ran entirely on relationships. Reps took calls, wrote up orders, and chased purchase orders by email. It worked, in the way a business built on trust and repeat custom always works, but it had a ceiling. Every new customer had to be found and closed by a person. Every reorder needed a human to remember it was due. That client is still with me today, and the store now does seven figures a year. This is the order the work actually happened in, not the order a case study usually tells it.
No website, no online ordering, all relationship
The starting point matters because it shapes everything that follows. There was no catalogue anyone outside the sales team could browse. Pricing lived in spreadsheets and in reps' heads. Stock levels were a phone call away, if you were lucky. This is normal for a certain kind of established B2B business: the product is good, the relationships are real, and nobody has needed a website because the phone has always worked. But it means growth is capped at however many relationships one sales team can personally carry, and it means the business is invisible to every buyer who doesn't already know it exists.
I want to be clear about what we didn't do first, because it's the part people usually get wrong. We didn't run ads. We didn't write blog content. We didn't touch SEO. The first eighteen months were entirely about building something worth sending anyone to.
Foundation first: a catalogue that actually works
Before a single rand or dollar went into paid acquisition, the priority was a fast, accurate product catalogue with real pricing, real stock levels, and proper account features. Not a brochure site with a "contact us for pricing" button on every page. An actual store, built to web development standards a buyer would trust: pages that load quickly, search that returns the right products, stock counts that reflect the warehouse, and pricing that updates when contracts change.
This sounds obvious written down. It is routinely skipped in practice, and not just in B2B. I've seen it dozens of times across industries: a business gets excited about paid traffic, launches a Google Ads account, and starts sending clicks to a site that's slow, missing half its stock data, or requires a phone call to get an actual price. It doesn't matter how good the targeting is. You're paying to send strangers to a dead end. The waste isn't a media-buying problem, it's a foundation problem, and no amount of bid optimisation fixes a store that isn't ready to take an order.
You can't buy your way past a broken foundation. You can only buy more traffic to the same broken foundation, faster.
So the first phase of this engagement was unglamorous by design. Product data migrated and cleaned up, hundreds of SKUs with correct descriptions, units, and case sizes instead of a spreadsheet only three people in the business could interpret. Pricing logic built so trade accounts saw their negotiated rates automatically instead of a generic list price that meant nothing to a customer with a contract. Stock sync so the site never promised something the warehouse didn't have, because for a PPE supplier a wrong stock count doesn't just lose a sale, it leaves a hospital or a factory short of gloves they were counting on. None of it shows up in a highlight reel. All of it is why everything after it worked.
It also took longer than either of us would have liked, because getting product data right is genuinely tedious work and there's no shortcut through it. But every week spent fixing a pricing rule or reconciling a stock feed before launch was a week we didn't spend later explaining to a paid customer why the site quoted the wrong price on an order already shipped.
Why B2B buyers behave differently
Once the store existed, it became obvious how differently B2B buyers act compared to the consumer shopping most ecommerce advice is written for. Order values here are high and orders are infrequent relative to typical retail. A facilities manager isn't restocking gloves and sanitiser every week for fun, they're placing a bulk order on a schedule, often against a budget someone else signed off on. There's frequently an approval chain behind the purchase, even if the person on the site is the only human you ever interact with. And a huge share of revenue comes from reorders, not first purchases, which changes what the site needs to be good at.
What this means practically is that the things that drive B2C conversion, urgency banners, discount countdowns, emotionally styled product photography, barely move the needle here. What moves the needle is operational clarity. Is the stock number accurate right now. Is the lead time honest. Does my account show my actual negotiated price without me emailing anyone. Can I reorder my last order in two clicks instead of rebuilding a cart from memory. Trust, for this buyer, isn't built with a testimonial carousel. It's built by the site never once being wrong about something they're about to bet their own job on.
This is also where a lot of the ongoing work over five years has lived, and it's the kind of thing that overlaps with what I'd normally scope as business software rather than pure ecommerce: account-tier pricing logic, reorder tooling, quoting flows for larger orders that don't fit a standard checkout. It stopped being a website project and became infrastructure for how the business actually sells.
There's a subtler point in here too. A B2C store can win a customer once on price or presentation and worry about retention later. A B2B supplier selling consumables to businesses lives or dies on whether the second, tenth, and fiftieth order are effortless. If reordering last month's stock takes longer online than it does over the phone with a rep who already knows the account, the buyer goes back to the phone. So a good chunk of the roadmap over the years hasn't been about winning new customers at all. It's been about making sure the site never becomes the slower option for someone who already trusts the business.
Where Google Ads earned its place
Paid search came after the foundation was solid, and it earned its place at a specific altitude: product and category-level searches from buyers who already know what they need. Someone searching for a specific glove specification, a case quantity of a specific sanitiser, or a named product line is a buyer far down the decision, close to placing an order, and easy to convert if the landing experience matches the search. That's the sweet spot for Google Ads in this account, and it's where the spend has consistently paid for itself.
Broad, awareness-stage terms performed poorly, and I stopped chasing them fairly early. Generic category terms bring in a mix of browsers, students doing research, and buyers who are nowhere near ready to place a trade order. For a consumer brand building awareness that traffic can be worth nurturing. For a B2B supplier selling bulk hygiene and PPE product, it mostly burns budget on clicks that were never going to become a purchase order. The account got leaner and more profitable by cutting that spend, not by adding more of it. This is a pattern I see across most B2B accounts: the win isn't more volume, it's matching spend to where buyer intent actually sits.
None of that targeting decision was guesswork. It came from watching what actually converted over real order cycles, which only happens if the site and its tracking are solid enough to tell you the truth about which campaigns are driving revenue rather than just clicks.
Five years compounding, not one project
The thing that makes this case study worth telling isn't any single piece of it. It's that five years of the same person iterating on the same business produces a different outcome than a one-off project ever could. Year one was foundation. Year two was getting the paid channel efficient. Years three through five have been a steady accumulation of smaller improvements, better account pricing logic, a reorder flow that shaved friction off the highest-value repeat customers, quoting tools for large orders, tightened stock sync, campaign structure refined against five years of seasonal order patterns instead of five months.
Each of those improvements is individually small. Compounded over five years against a business that was starting from nothing, they add up to a seven-figure store. That's the honest version of how growth work actually compounds: not one big launch, but a long relationship where every quarter's fix builds on the last one instead of a new agency relearning the business from scratch.
The scope of the engagement has grown the same way trust does, gradually. What started as a web build turned into ongoing paid media management, which turned into general business consulting as the relationship proved itself. That's not unusual for the clients I work with longest. The case studies across my client list mostly follow this shape: growth work that starts narrow and earns its way into a broader operating role, because the results hold up over years rather than one campaign cycle.
If there's a lesson worth pulling out of this one, it's sequencing. Fix the foundation before you spend on traffic. Understand how your buyer actually behaves before you decide what "conversion" should look like. Let paid channels earn their place at the stage of intent they're actually good at. And treat growth as a compounding relationship, not a project with an end date. That's what turned a supplier with no website into a seven-figure store, in that order.
Filed under: Growth · B2B ecommerce · Case study · 2026
Score tracking, paid, website and systems out of 24 in three minutes. Free interactive audit with a radar chart and a straight verdict.