More traffic, fewer sales: what one women’s fashion brand’s data was really saying
Traffic was up 31% on last year. On paper, that's a good year. In practice, sales weren't keeping pace, returns were climbing, and the founder couldn't say with confidence which of her channels was actually paying its way.
This is a common picture for independent fashion brands. The data exists, in Shopify, Google Analytics, Google Ads, the email platform and usually a hand-kept spreadsheet. But it lives in five places, the numbers don't quite agree, and nobody has time to reconcile them every week. So decisions get made on instinct, or on whatever the platform dashboards say.
Here's how we approached it with one women's fashion brand, and what we found.
Step one: make the numbers agree
Before we recommended anything, we checked the brand's own plan. Its revenue target relied on an average order value about 27% higher than the one stated in the same document. The planned returns rate was 20%, against 24% actually running. And the weekly sales sheet was recording returns about a fifth lower than Shopify's own refund data.
None of this is unusual, and none of it is anyone's fault. But a plan built on numbers that don't add up can't tell you whether you're on track. So we fixed the data at source, and set up an automated weekly pull from Google Analytics, Search Console and Shopify into one sheet, with clear rules on which platform is the source of truth for each number.
Step two: one view, every week
Each week the founder now gets a single trading page: this week against last week, last year, month to date and year to date, with products, paid media, email and channels underneath. Every report ends with plain-English commentary on what happened, where sales were lost and why, and a short list of actions with owners and dates.
Alongside it sits a 12-month growth roadmap with monthly targets, and a decision and impact log that records every recommendation, when it went live and what it changed. That last piece matters. Advice is only useful if you can see whether it worked.
What the data showed
Paid search was buying visits, not sales. Much of the extra traffic came from paid clicks that rarely converted. Generic search terms spent £558 in three weeks for a single order, and Google's Search Partners network took more than half of all clicks without producing a sale. The fix was simple: switch Search Partners off and move budget back towards brand search, where intent is higher.
Returns were the biggest hidden cost. In October, returns reached more than half of gross sales, against 28% a year earlier. For a high-value fashion brand, each return is lost margin, postage and handling. Returns by style and fit are now a standing item in every weekly review, so the problem pieces are visible early.
Existing customers were the strongest lever. Revenue from returning customers grew 27% year on year. In one quiet week, a single winter email to past customers produced an order worth 69% of that week's sales. Yet email links weren't tagged, so Google Analytics was crediting that revenue to "Direct". Without the full picture, email looked far less valuable than it was.
Discounting wasn't the answer for peak. Last year's Black Friday week underperformed. Rather than repeat a site-wide discount, we recommended VIP early access for loyal customers and a targeted offer to lapsed ones, protecting margin while rewarding the people most likely to buy.
What changes when the data is in one place
The brand didn't need more traffic. It needed to stop paying for traffic that didn't buy, to protect the margin it was already making, and to look after the customers who kept coming back.
Those answers were in the data all along. They just weren't visible until the numbers agreed, sat in one place and were read every week by someone asking the same four questions: what happened, where did we lose sales, what changed, and what do we do next?
That's the work we do. If your traffic is growing but your sales and margin aren't, we'd be happy to talk it through.
Book a Discovery call here >

