Publens

Find out what your ad stack is actually doing

Publens loads your live pages the way a reader does — ads running, from an IP in your market — and reports where revenue, speed and visibility are being lost, on a schedule you set.

Latest run5 suites · desktop
High
Unfilled slots and missing price floors
Ad stack
High
Ad block recovery solution not firing
Ad blockers
Medium
Ad slots with no reserved space (CLS risk)
Experience
Medium
Low bid request density — SSPs not firing
Ad stack
Low
Author information missing from articles
AI visibility
Core Web Vitals
Measured with the ads running
CLS
INP
LCP
Findings over time
A metric drifting, not a snapshot
Built for publishers

For the teams who own the page

Whether you run one title or fifty, the questions are the same — and they are usually answered a month too late.

Ad ops

Know whether last night’s wrapper change cost you fill, before the month-end report says so.

  • Every finding names the slot, the bidder and the request
  • Compare two runs to see exactly what moved
  • Severity and ownership, so it is clear what to act on

Product & engineering

See what the ad stack is doing to Core Web Vitals on the pages readers actually land on.

  • Layout shift attributed to the slot that caused it
  • Clean-lab baseline to separate your code from the ads
  • Scheduled runs, so a regression surfaces the same day

Revenue

See where the stack is leaving money on the table, across every title, and whether last quarter’s fixes held.

  • Fill, floors and bid density tracked per site over time
  • Inventory lost to blockers, measured rather than guessed
  • One view across every property you run
The numbers

What Publens measures

No scores invented for a dashboard. These are the signals that decide what a page earns, how fast it feels, and who can find it.

Revenue

  • Fill rate and unfilled slots
  • Bid request density per SSP
  • Price floors vs median bid CPM
  • Auction type and currency consistency
  • Viewability and ad refresh cadence

Page experience

  • CLS, INP, LCP, Total Blocking Time
  • Layout shift caused by ad slots
  • Time to first rendered ad
  • Ad density against content

Reach

  • Inventory lost to ad blockers
  • AI crawler access and citability
  • Indexability and structured data
  • ads.txt and supply-chain integrity
The suites

Five suites, run together or on their own

Each one answers a different question about the same page load, so a finding can point at the slot, the request or the tag that caused it.

Ad stack

Header bidding, the auction, and what actually filled.

  • Unfilled slots, ghost slots, slots collapsed after render
  • Bid density against the SSPs you have configured
  • Price floors measured against median bid CPM
  • Refresh behaviour, duplicate creatives, duplicate bid requests

Search

What a crawler sees, and what ad density does to it.

  • Structured data, canonicals, indexability
  • Ad-to-content density on the page a reader lands on
  • Page quality signals and content gating
  • ads.txt and sellers.json integrity

Experience

Core Web Vitals, measured with the ads running.

  • CLS, INP, LCP and Total Blocking Time
  • Layout shift attributed to specific ad slots
  • Time from ad request to rendered creative
  • Clean-lab baseline alongside the real page

Ad blockers

How much of your inventory a blocked reader never sees.

  • What survives with common filter lists applied
  • DOM, network and script surfaces that blockers target
  • Recovery solutions, and whether they are working
  • Acceptable Ads compliance of what is served

AI visibility

Whether AI search can reach, read and credit you.

  • AI crawler access — who you allow and who you block
  • Citability of your content when an answer is assembled
  • E-E-A-T signals: bylines, dates, about and contact pages
  • Structured data the assistants actually consume
In the report

What a finding actually looks like

Not a score and a shrug. Every finding comes with the page it was found on, what changed since last time, and what to do about it.

Show me
The slot, on the page
Findings carry the screenshot of the page as it was audited, with the element that caused them marked on it.
Compare runs
Before and after a change
Price floors
MissingSet
Recovery script
Not firingFiring
Top slot reserve
NoneNone
Pick any two runs and see which findings cleared, which are new, and which did not move.
Analysis
Why it matters, and what to do
MediumAd slots with no reserved space

Three slots insert themselves above the fold without a reserved height, so the article moves down as each one fills. That movement is counted against CLS.

Reserve the slot’s largest configured size as a min-height on its container, so the fill paints into space that is already there.
Why Publens

What you will not get from a one-off audit

Audited from your market

Audits can egress from a residential connection in the country you publish in, through a small appliance you plug in. Geo-targeted campaigns and local demand behave differently from a datacentre IP — this measures what your readers get.

Built for AI search

Assistants are becoming a referral channel, and the signals that matter are not the ones classic SEO tools report. Publens checks crawler access, citability and attribution — whether an AI answer can use you, and credit you.

Trends, not snapshots

Every run is kept and scored, so you can see a metric drift over weeks and compare any two runs field by field. A one-off audit tells you about one moment; publishing changes daily.

AI-enhanced analysis

Findings are explained in plain English and carry a suggested fix written against what was actually found on your page, not a generic knowledge-base article. The raw request, DOM node or screenshot stays underneath it for whoever wants to check the working.

Findings you can act on

Each one names the slot, the request or the element behind it, scored by severity and grouped so it is clear which team owns it. The list sorts itself into work rather than reading.

Behind the paywall, too

Logged-in, subscriber and consent-gated pages can be audited by injecting a session, so the pages your most valuable readers actually see are measured like any other.

Egress
From your market, not a datacentre
PublensYour pages
A small appliance on your office network carries the audit, so geo-targeted demand behaves as it does for a reader.
Run to run
Compare any two, field by field
How it works

Three steps, then it keeps watching

01

Point it at your pages

A URL, a form factor, and which suites to run. Authenticated pages work too, via injected session cookies.

02

It loads them like a reader

A real headless browser, your choice of egress, with the whole ad stack running — not a static fetch.

03

Findings land in your dashboard

Scored, grouped by severity, explained, and tracked over time. Set a schedule and it keeps watching.

See it against your own pages

Tell us a URL and what you are trying to find out. We will run it and walk you through what comes back.