Some of the most-watched videos in the "make money online" niche aren't really tutorials. They're the first step of a multi-day free event that ends with a paid offer.
The pattern is consistent: a specific daily-income number in the title, a free live challenge or webinar, several days of sessions, and a price that only appears near the end.
That's hard to score fairly, because "free event, paid ending" isn't automatically dishonest. Plenty of legitimate educators run them. So I wanted a scanner that flags the pattern, not the person.
What the scanner can see
TruthScore reads a video's public page and its web coverage. For funnel detection, these are the signals that matter:
- Income claims in the title: a specific per-day or per-month number
- Urgency language in the description: countdowns, limited spots, "last chance"
- Redirect chains: where the description links actually lead
- Affiliate and tracked links: referral parameters and discount codes
- Off-platform steps: forms, calendars, or checkout pages instead of a price on the page
None of these proves anything alone. Together they describe how a page is built to move you from watching to buying.
Why one signal isn't enough
My first version scored every signal separately and added them up. That penalized honest creators: a title with a number, plus a link to their own site, looked like a funnel.
I only learned this because a creator told me in public that my tool had flagged his own business links. He was right, and it's the reason the logic is tiered now.
Here's a simplified sketch of the idea:
strong = income_claim_in_title + urgency_language + hidden_price_step
weak = redirects + tracked_links + link_density
if strong >= 2:
flag("funnel pattern")
raise_score(weak) # weak signals only add weight
else:
flag(None) # weak signals alone never flag
Weak signals can strengthen a case but can't make one. A creator linking to their own product no longer gets flagged.
What a page can't tell you
This is where a scanner has to stay humble.
- It can see that a page leads to a paid step. It can't see whether the event was worth the price.
- It can see urgency language. It can't tell a real deadline from a fake one.
- It reads what's on the page, not what was said on a live stream.
So the report describes what the page shows and leaves the verdict to the viewer. A flagged video means "check the price before you commit," not "this person is dishonest."
Where it still gets things wrong
Two things bother me.
First, some videos come back with a warning label even though the web research found no complaints, no scam reports and no suspicious links. A label with nothing behind it is a false alarm, and I'm working out how the scoring ends up there.
Second, YouTube hides dislike counts, so any dislike figure is an estimate from a third party. Several reports showed an estimate of exactly zero, which can't be right, so I'm wary of giving that number any weight.
Scoring other people's credibility with code means being wrong in public sometimes. The only defense I've found is to say where before someone else does.
What I'd tell anyone building a detector like this
- Flag the structure, not the person. A pattern can be checked. A character judgment can't.
- Require two strong signals before flagging. Single signals produce false alarms on honest creators.
- Say what you can't see. A scanner that admits its blind spots is easier to trust.
Try it, break it
Paste any YouTube link into truthscore.online. If a report misreads a video, send me the link, because every reproducible miss improves the scoring.
For the devs here: how would you tell a real deadline from a fake countdown using only what's on a public page?
Top comments (0)