Five days ago I started reading my analytics dashboard every morning, which is what you do when you have published something and nobody has bought it.
The number went up. Day one, 5 views. Day two, 10. Day three, 19. Day four, 11. Today, 1. Forty-six views in total, zero sales, zero per cent conversion.
For about a day I treated that as a conversion problem. Forty-six people had arrived and none of them had bought, so the obvious suspects were the price, the page, the screenshots. I had a list of things to change.
Then I broke the number down, and it stopped being a number about people.
The breakdown that didn't fit
I sell a kit of delivery templates — spreadsheets and documents for people running migration projects — and the storefront has fourteen products on it: the kit, a larger edition, a free sample, and eleven of the templates sold individually.
Here is how 46 views were spread across those fourteen pages:
| Product | Views |
|---|---|
| Free sample | 6 |
| Template 12 | 5 |
| Template 04 | 5 |
| Template 06 | 5 |
| Template 09 | 4 |
| Template 05 | 4 |
| Template 08 | 4 |
| Template 01 | 4 |
| Template 10 | 3 |
| Template 11 | 3 |
| Larger edition | 2 |
| The main kit | 1 |
| Template 02 | 0 |
| Template 03 | 0 |
Look at the shape of that. Twelve of fourteen pages got hits, in a band between one and six, and the flagship product — the one every link I have ever published points at, the one with the best cover and the only one with a discount code — got one view in five days. An obscure lessons-learned template got five.
That is not what an audience looks like. An audience is lumpy. People arrive at one page, maybe click through to a second, and most of the catalogue never gets touched at all. What I was looking at was flat, and flat across a catalogue is the signature of something walking a list.
The referrer data agreed without proving anything: 44 of the 46 arrived with no referrer at all, filed under "Direct, email, IM", and 40 of them from one country.
Why I couldn't just conclude it
Here is the uncomfortable part, and the reason this post exists.
I had two competing stories. One: a handful of real people found the store through an article I published, browsed around, and didn't buy. Two: something automated walked the storefront.
Both of them are consistent with 46 flat views and no referrer. I could argue for either, and — this is the bit worth noticing — I could not design a future observation that would tell them apart. Whatever tomorrow's number was, I would read it through whichever story I had already picked. That is not a conclusion, it is a preference with a dashboard behind it.
A conclusion you can't falsify with the next data point isn't a conclusion. When you get there, the thing you are missing is not another interpretation. It is instrumentation.
Two links, and the question answered itself
So before arguing any further I did the boring thing: I put UTM parameters on the two links in the article I had published, and I let the week run.
The result was unambiguous in a way the 46 never could have been.
Two clicks. One on each link. Out of 46 views, the only links I had ever published in public account for two of them.
Which means the article did reach a small number of real people — the click-through rate against its own readership is reasonable — and it means that the other 44 views arrived at my store without passing through anything I wrote.
I don't know with certainty what those 44 were. I know they are not evidence of demand, and that is the thing I was about to spend a week optimising against.
The part that will bite you specifically
One detail that cost me days, and is worth knowing if you publish links anywhere.
DEV puts rel="noopener noreferrer" on outbound links. So does a lot of the web, for good security reasons. The effect is that traffic arriving from an article reaches your store carrying no referrer at all, and your analytics file it under "Direct". Real readers and automated crawlers land in the same bucket, indistinguishable, forever.
And the referrer cannot be recovered afterwards. There is no log to go back to, no report that fills it in later. A link published without parameters is a measurement that can no longer be taken — not "not taken yet", can no longer be taken. The five days I spent before adding them are simply not analysable, and they never will be.
That is the asymmetry that makes this worth a rule rather than a habit. Adding the parameters costs about ninety seconds per link. Not adding them costs the entire question.
What I'd tell myself five days ago
Four things, in the order they would have helped.
A traffic number with no breakdown is a headline, not data. Total views, by day, by source and by destination — all four, or you have learned nothing. The single total was the number that sent me off to redesign a page.
Flat distribution across a catalogue is a tell. Not proof, but the first thing to check. Humans concentrate; lists don't.
Instrument the link before you publish it, not when the number gets interesting. By the time the number gets interesting it is already too late to attribute it.
And when two stories fit the same data equally well, stop writing the third version of the argument and go add a sensor. The question I had been chewing on for a day was settled by a tool that took ten minutes to set up and a week of patience.
The underlying failure wasn't analytical, by the way. It was that I spent my effort on the part I enjoy — building the thing — and almost none on the part that decides the outcome, which is getting it in front of people who didn't already know me. Forty-six views that turn out to be mostly machines is just a precise measurement of that.
Better to know. A zero you can trust is more useful than a forty-six you can't.
I build these as a delivery manager on cloud and data migrations. The weekly status report template is free, pay what you want including zero: the status report template
The full kit, 12 templates and 50 prompts, is here if it's useful.
If you've launched something with no audience: what did your first ten sales actually come from? I'm still at zero and collecting honest answers.
Top comments (11)
The flat spread across fourteen pages is a sharp catch, and tagging the two links settled it in a week. On your closing question: for templates, early sales tend to come from places where buyers already search for the file, not from people who first have to discover you. Two concrete moves: list the free status report sample in the template marketplaces and directories delivery managers already browse, and answer the "status report template" questions people post in project management communities with the sample itself, each link tagged on its own so you can see which door works. For the listing half, contentmation.com/directory has step by step submission guides, from Product Hunt and G2 to local listings.
Your table where "the flagship product got one view in five days" while an obscure template got five is a great catch, and I agree that flat spread looks like a crawler rather than buyers. I'd treat those 46 views as a reach problem, not a conversion problem, so I wouldn't touch the price or the page yet. A useful check is to count how many real humans, ideally ones who match your buyer, have seen the flagship page at all; under roughly 100, product changes tell you nothing. For reach without an audience, find a handful of threads where project managers are asking about delivery templates and answer them properly without linking. A couple of people will ask where to get the thing, and those are your first real signals.
You were right, and now I have a number for it. Five days on, the flagship page has gone from 1 view to 3. Not 100. So by your own test there is nothing to learn from touching the product, and I haven’t touched it.
What I got wrong was softer than the price question. I had nine UTM clicks and read them as nine people. Remeasuring a day later: two of them were on a Medium post, both landed within two hours of publishing, nothing since, and neither ever appeared as a view of the product it pointed at. Link preview crawlers, almost certainly. So the number of actual humans is smaller than the number I was pleased with.
The threads advice is the part I haven’t done. Genuine question, since you’ve clearly done this: when you say answer properly without linking, how do you handle it when the honest answer is a file you made? Describe it and wait to be asked, or don’t mention it at all?
Crediting the remeasure matters more than the number itself, since most people never go back and shrink a figure they were pleased with. To separate clicks from people, only count a UTM visit that also scrolls, stays past some threshold like 15 seconds, or reaches a second page, and discard anything inside the first couple of hours after you publish, because link previews and crawlers fire in that window. On your question, I'd answer the actual question in full first, and only if the honest answer is a file you made, say so in one plain sentence and let them ask for it rather than pushing it. If the answer stands on its own without the file, you've lost nothing by leaving it out. With 3 views on the flagship page, I'd test reach to it rather than the page itself, ideally one place where people are already searching for exactly that problem.
Your follow-up sent me looking for a counter I didn't know I had, and it turned out to be in my own publishing dashboard here. I had never opened the analytics page.
That post has 51 views, with an average read time of 4m27s for the readers it can identify. So the reach number I'd spent a week inferring from clicks was one menu item away the whole time.
51 readers, 7 clicks through to the product — 13.7%. Which reframes your point rather than answering it: the top of this funnel is working better than anything else I've got, so whatever is broken is downstream of the click, and I've been measuring the wrong end of it.
Where I think you're still right: 51 readers of an analytics post on a developer platform is not 51 people who buy delivery templates. The real-humans-who-match-the-profile number is some fraction of that, and I can't see the fraction. I'd guess it's small.
Two things I'm taking. Your three-part test — scroll, ~15s, second page — is close to what that read-time metric was already doing for me; I'd been treating platform analytics as softer than my own instrumentation, which was backwards. And the first-two-hours cutoff I'd reached independently from the shape of my own data, about a day before you wrote it down. Two people on different evidence landing on the same number is as close to a replication as I'm getting at this size.
On answering in threads: answer fully, mention the file in one sentence only if the answer doesn't stand without it. Taken, and it's a cleaner rule than the one I had.
The part I'm still working on is your last point — test reach to the flagship page, in one place where people are already searching for exactly that problem. For me that's people mid-migration trying to work out what wave 1 should contain. I know where they ask. What I don't know yet is whether showing up there with the answer and no file is a channel or just a favour. Did that distinction turn out to matter for you, or does the reach come either way?
the flat spread across 14 pages is a really good tell, humans almost never touch 12 of 14 products in five days. one thing you might still be able to check even without referrers is the timing, if your store shows per-view timestamps, a crawler walking a list usually hits pages a few seconds apart in catalogue order, and real people don't. that won't fix the five days, but it might tell you whether those 44 were one visit or many.
Your timestamp idea was the right instinct and I couldn’t run it: my store only exposes views by day, not per view. But the by-day numbers did the same job.
Overnight the total went from 50 to 59, and the country breakdown now shows 16 views from Singapore that weren’t there two days ago — with zero attributable clicks in the same window. Same shape as the 44: arrives in a block, spreads flat, leaves no trace anywhere else.
Three sweeps in seven days, and I still haven’t seen what a clean baseline looks like.
Breaking 46 views down by page is the kind of honesty most launch posts skip. A question from a different angle: your buyers are people running migration projects, a fairly findable group (consultancies, IT teams). Have you considered paying someone to reach them directly instead of waiting for traffic, and if so, what would that be worth to you per month, or per sale? I'm exploring whether several small B2B sellers would share one sales person or team, so I'm asking builders who are in exactly this spot. Not selling anything here.
the flat spread is the giveaway for me. a real audience piles up on one page, a crawler works through the list evenly.
That’s exactly how it played out. Another block arrived overnight: 16 views from a country that had never appeared before, spread evenly, no clicks attached. Third one in a week. The flat spread has been the only reliable tell I’ve had.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.