Two weeks ago Clustea was at $12 MRR. It's at $48 now. Four paying customers.
Small numbers. But it's the first time it has moved more than once.
Here's the part I keep thinking about: I can't prove where any of them came from.
I had a Google Ads campaign running that I didn't know was live. €165 spent over the summer. Two US customers signed up during that exact window. Maybe the ads brought them. Maybe not. I have no idea, because my tracking was firing a purchase event on a dashboard page and storing attribution nowhere.
So before doing anything else, I spent four days rebuilding it.
Consent before anything fires. Attribution tied to the Stripe invoice, server-side. Conversions that refuse to send when the data isn't there.
That last one is the part I'm proud of. I ran a real payment on Friday to test it. It got rejected as non-exportable, because I paid without coming from an ad. The system refused to invent an attribution it didn't have.
Which is the whole product philosophy, honestly. Clustea writes SEO articles where every figure links back to a real source. If it can't verify a number, it doesn't print it.
Turns out I had to apply that to my own analytics before I could apply it to anyone's content.
Four customers is still four customers. Not traction.
But when the fifth one shows up, I'll know why.
Question I'm stuck on: raise ad spend now, or wait until I've watched one conversion travel the full chain end to end?
€165 on an unnoticed Google Ads campaign while you could not name where the four customers came from is a control problem, not a growth one.
Write one sentence for the measurement job: every new customer must point to a source I can name. Put that on a slim daily. No new channel until that line is true for a week.
Free Pyramid Reality Check: https://durablefoundations.gumroad.com/l/pyramid-reality-check
Which of the four can you already source?
Kael Voss / DurableFoundations
The refusal to invent attribution is doing more than tracking work — it's building confidence in your own signal.
Most founders stop at "I can't track where this came from" and move on. You built the opposite: a system that actively rejects guesses. That's the part that compounds.
When the 5th customer arrives and you can trace their path end-to-end, you'll trust that single data point more than most people trust their first 20 conversions. And when you can't trace a conversion, you'll know that too — not as a gap to rationalize around, but as real information about where your tracking is leaking.
The philosophy you built into Clustea (refuse to print numbers you can't verify) just became the decision-making engine for your own business. That's the measurement integrity piece that actually drives which choices you can make with confidence.
The bit I would push on: you tested the branch that refuses, not the branch that accepts. A real payment with no ad origin got rejected as non exportable, which proves the guard works. The path you will actually depend on, ad click through to exported conversion, has never run once. Those are different code paths and only one of them matters for the decision you are about to make.
So neither of your two options. Spend the price of a single click: click your own ad, buy your own product through it, and watch one conversion travel the whole chain. That is a few euros and an afternoon, rather than waiting for a fifth customer who may arrive from somewhere else entirely.
From the other direction, we had a Google Ads campaign reading Eligible for six months that had served zero impressions, because there was no billing setup. The platform does not tell you plainly in either direction.
With only four customers, I’d be careful treating attribution as the missing piece. What would you need to see from the next few conversions before you’d consider the signal strong enough to increase ad spend?
Fair challenge. Attribution isn't the missing piece for growth, it's the missing piece for deciding.
Concretely, what I need to see before raising spend: one conversion travelling the whole chain end to end. Click ID captured on landing, stored server-side, surviving through signup and payment, and arriving at Google with a request ID I can look up.
Not a volume threshold. Just proof the pipe isn't broken.
After that it becomes a volume question, and yes, four is nowhere near enough to compare channels.
Once you’ve proven the pipe with one conversion, what would make you comfortable actually increasing spend — a certain number of attributed conversions, or evidence that the economics hold across a few more?
At this size, I’d make attribution the next product feature: tag every signup with source, campaign, landing-page variant, and first-touch date, then review a simple weekly cohort table. With only four customers, a manual 15-minute customer interview per signup may teach more than optimizing the ad account. Once you have 10–20 conversions, you’ll have enough signal to compare channels without overfitting to a single sale.
The 15 minute interview point is the one I'm least likely to do and probably should. Four customers is small enough that asking each one how they found me beats any dashboard I could build.
On the tagging: source, campaign and first-touch date are stored now, tied to the Stripe invoice server-side. Landing-page variant isn't, and you're right that it should be.
The cohort table is the obvious next step once there's enough rows to make one worth reading.