Chris Greening (who writes and makes videos as atomic14) noticed an ad in the YouTube app on his iPhone because he accidentally tapped it — the kind of lapse in concentration these things are engineered to catch. The creative was a fake iOS alert reading “iPhone Storage is Full,” complete with system-style typography and Yes/No buttons, sitting inside the ad slot.
He did the civic thing and reported it. Google’s response was that the ad does not violate policy. He reported it again, and got the same answer. Others reported the same ad and received the same boilerplate: “We found that the ad doesn’t go against Google’s policies, which prohibit certain content and practices that we believe to be harmful to users and the overall online ecosystem.”
He is careful with the incentive story. Hanlon’s razor — never attribute to malice what stupidity explains — gets a nod, along with the uncharitable reading that ads getting lots of clicks are also making Google money, and the more mundane one: human reviewers cannot properly review everything.
Then he asks Gemini, Google’s own model, to classify the ad. It comes back DISAPPROVED, with three named violations and the reasoning spelled out:
- Mimicking system alerts and UI elements. Google’s policy explicitly bans ads that imitate operating system dialogs, warnings or error messages; the banner reproduces an iOS system modal, mock buttons included, so users think their device is talking to them.
- Non-functional or deceptive interface. Ads cannot feature fake close buttons or dialog options that do nothing; here the Yes/No choices are static images that capture a tap anywhere and redirect to a store listing.
- Fear-based, unverifiable claims. “If you don’t free up space soon, some features may not work properly” invents an urgent failure state on someone’s personal device to drive an install.
Gemini’s recommended action goes further than the review did: disapprove the creative immediately, flag the advertiser account for misrepresentation, and note that repeat violations of this kind can justify suspending the account.
Greening’s closing line is the whole argument: “Google’s own model rejects the ad in seconds, yet Google’s review process approved it twice.” Then: “Come on, meatbags — use some of the amazing AI tools you have access to.”
The piece documents a gap between a model’s classification of one ad and the outcome of reporting that ad. It does not establish that Google lacks AI moderation, or identify why this particular review failed. The discussion on Hacker News adds publisher and advertiser anecdotes, alongside an important rebuttal to the essay’s deployment premise.
What the thread adds
- Jskewel — the same problem from the supply side. Their site was flooded with scam ads hosted on cloud subdomains (herokuapp.com, azurestaticapps.net, netlify.app, ondigitalocean.app) and Google would not let them block those domains, “because they consider them ‘TLDs’”; the scammers return with a fresh subdomain each day, so the only fix was dropping AdSense. whstl corroborates with daily manual vetting of ads on their own property.
- celestialcheese — a publisher-side estimate with scale behind it: on a site doing roughly $5M a year in Google’s ad exchange, they hired a full-time person to monitor and block click-trick “Continue”/“Download” creatives, saw ad accounts named after their own domain appear daily, and guess scam ads were “>40% of AdX display revenue” — their number, offered as a guess, not a measurement.
- vannevar — argues the question may not have a technical answer at all: US law shields platforms from liability for third-party content, so the rational move is to police the few categories that generate bad press and leave the ones that generate engagement and revenue, and to wait for someone to test whether a tuned algorithm counts as participation in the fraud.
- martin_a, snailmailman, stevage, sippingabonedry — four commenters describing the same dead end in different words: reports that produce no visible outcome, no confirmation, and eventually the removal of the report option itself. martin_a says that after enough reports of scammy YouTube ads, “YouTube/Google has removed the option to report advertisements from my account.” stevage asks the obvious question: why keep reporting when the essay shows Google does not need reports to act?
- ksajadi and disillusioned — two more instances the review process passed. A UK visa ad that was a near-identical copy of the official site and took a friend’s money; a counterfeit-brand rice cooker listed at a third of the price on a lookalike domain that made it all the way to a payment prompt. disillusioned’s summary extends the essay’s claim directly: “There’s simply no excuse for Google to not use their advanced AI to block this sort of copycat/lookalike/impersonation scam every day of the week, at scale. The excuse, obviously, is revenue.”
- icoder, HomeDeLaPot, nkrisc — describe apparently AI-generated ads. icoder reports flagging an ad for a cooling device and receiving a no-violation response; HomeDeLaPot’s read on YouTube is that “every YouTube ad I see now is an AI-generated scam ad”; nkrisc describes AI-generated songs and characters in video ads on an iPad where no adblocker was running. These are accounts of what individual commenters saw, not measurements of ad prevalence or moderation performance.
Where the thread pushes back
- bbor, who says they have worked for Google Ads, objects to the claim that AI review is absent: “they do review ads with both AI and humans”. That claimed background is not independently verified. However, Google’s own 2025 Ads Safety Report announcement, published April 16, 2026, explicitly describes Gemini-based moderation and says it blocked or removed over 8.3 billion ads in 2025. Those are Google’s self-reported results, not an independent audit or an explanation of Greening’s failed reports. The meaningful question is why detection and appeals failed in this case despite existing AI review—not why Google has never deployed it.
- wraptile describes a different bottleneck: “the bottleneck is still the takedown”. They claim to use AI to detect bad ads for customers, but say harmful ads reach some users before removal. That anecdote separates finding an offending creative from stopping its distribution; it does not verify Google’s internal workflow.
- Borealid and less_less challenge icoder’s physics claim: evaporative coolers can work without external tubing, while less_less still calls the ads they saw deceptive. No shared creative or controlled test establishes what the particular advertised device could do, so a thermodynamics violation should not be treated as verified evidence.
- stillpointlab resists pinning this on Google alone, reporting worse ad quality on X and asking why the reader is watching 30-second unskippable blocks at all. akersten and BLKNSLVR answer in the other direction: blaming the ad network is exactly right, and the deeper complaint is that the user’s attention is being spent on someone else’s scam.
- cortesoft pushes back on the nostalgia in the thread for print-era publishing, pointing out that magazines and newspapers carried plenty of scams — the difference is that a reader could not click one in an instant with a credit card already stored on the device.
- jacobgold relays a claim from someone who has spent over $100M on Google Ads: that Google is extracting revenue in ways they have not seen before, with the theory that the company is covering for its AI position and getting paid before AI erodes the ad business. conception disagrees with the premise, arguing Google’s model releases show it is not losing at AI. Both are commenter claims about motive; neither is observable from outside.
- Telaneo and patrakov argue for strict liability — on Google, and on any site that embeds ads it never verified — which is the position the thread keeps returning to and the essay does not address.
On reading comments as evidence: HN handles are pseudonymous and the site publishes no per-comment scores. These points are arranged for usefulness, not votes. The revenue figures and motive claims above are commenter estimates and theories, not findings. This is a slice of the discussion, not a consensus.