Plain Reckoner

Tool sites keep getting rejected for "low value content" — an observation, not a finding

Two site owners in one week reported repeated AdSense rejection for "low value content" while holding real traffic and passing every formal requirement. Both run software rather than write articles. One was approved by a traffic-evaluated network on submission, immediately after six rejections from a text-evaluated one.

How it was measured
Read two public threads and compared what each owner reported against the AdSense help corpus we swept earlier. This is a reading of two cases, not a count. Graded C for exactly that reason, and the section at the bottom states what would turn it into a measurement.
Evidence current as of

Listen — read from this page, nothing added

Watch it plot 33s · narrated · the same figures as above

Two threads, six days apart, with the same shape.

A browser-game platform: 17 games built by the owner, 50,220 visits and 191,660 pageviews in thirty days, 148 countries, legal pages, an about page with a real name, six languages, fourteen months old. Six rejections, all "low value content."

A tooling site: about twenty indexed pages, fifteen of them real writing, proper heading structure, ~80 clicks a day, mostly US. Rejected repeatedly since May, always "low value content."

Neither is a thin-content site by any ordinary reading. Both had done the formal things. Both were told the same generic sentence and given no way to act on it.

What Google actually publishes

We swept the AdSense help corpus in raw HTML, quoting rather than paraphrasing. It states no minimum post count, no minimum word count, no minimum site age and no traffic minimum. There is no numeric bar anywhere in it.

That matters for these two cases specifically, because both owners spent months adding pages against numbers — "twenty pages of eight hundred words" — that appear nowhere in anything Google has written. One of them said it plainly: he had tried adding different pages each time and was denied each time.

Traffic is not a weak input here. It is not an input. 50,000 visits neither helped nor was overlooked.

The pattern we think we are seeing

On a tool or a game site, the value is in the thing that runs. The crawlable text around it is thin relative to what people actually come for — not because the owner was lazy, but because that is what the product is.

A reviewer whose job is judging text has very little text to judge.

If that is right, it explains the part both owners found maddening: adding pages did nothing, because pages were never the problem. It also explains why the rejection is always the same generic template — a category mismatch has no specific remedy to name.

The strongest evidence, and it is not ours

The tooling-site owner, after six AdSense rejections, applied to Journey by Mediavine and was approved on submission.

That is a different filter — one that evaluates traffic and engagement rather than reading prose — passing him immediately after a text filter had failed him six times. It is the cleanest signal in either thread, and neither thread picked it up.

The one requirement that is real

Whatever else is going on, there is exactly one page Google genuinely mandates, and it is the one most often subtly wrong.

From the Publisher Policies, verbatim: publishers must "have and abide by a privacy policy that clearly discloses any data collection, sharing, and usage that takes place as a consequence of your use of Google products and services". It must also disclose "that third parties may be placing and reading cookies on your users' browsers".

Generated policies, and ones translated across several languages, routinely cover data protection in general and never say that specifically. It is a hard requirement rather than a judgement call.

We were missing it on this site until we ran our own published checklist against our own pages. That is not a hypothetical failure mode.

Why this is graded C

This is two threads. It is an observation, not a measurement, and publishing it as anything else would be the error this site exists to avoid.

Two cases that agree can agree by coincidence. Both came from the same subreddit, which is a sampling frame that selects for people who were rejected and were annoyed enough to post — the successful applicants and the quietly-resigned are both invisible to it. We have written a separate note about exactly this kind of frame manufacturing exactly this kind of result.

What would make it a measurement

Count rejection threads over a fixed window, classify each site by type against a rule written before looking, and compare the rejection rate for software sites against content sites.

That needs Reddit API access, which is no longer something you can simply take. Reddit closed self-service API access under its Responsible Builder Policy: every new token requires approval through a request form. We assumed at first that our rejection was about account standing and it was not — the door is shut to everyone by default, and we have asked for it to be opened.

Until then this stays at C, and anyone planning around it should treat it as a hypothesis worth testing rather than a number worth using.

If you have been rejected with a tool or app site, or approved with one, that is the data point we are missing. It is worth more than another thread of guesses.

Tracked as TOOLSITE-LOWVALUE. If a number here is wrong, tell us and we will correct it in place and say what changed.

One email per finding

Get these as they land

One email per finding — the number, the method, and the date it was true. No schedule, because measurements do not arrive on one.

Data controller: Plain Reckoner. Contact [email protected].