What should a media plan do with sites that cannot be checked?
Part of Programmatic media planning
The short answer
When a candidate site cannot be checked, record it as unverified, not as passed or failed. Keep it in a separate group with the check that failed, the error, the date and an owner. Retry on a written rule, review by hand after repeated failures, and approve it only with its evidence gap labeled.
Key takeaways
- A site has three possible states for each check: passed, failed or not checked, and the third is not a verdict.
- Counting missing data as a fail quietly drops sites; counting it as a pass lets unexamined sites into the plan.
- A hold, retry and review rule, with an owner and a next date, keeps unverified sites from being forgotten.
- An unverified site that reaches an approved list carries a visible label saying which evidence is missing.
What counts as an unverifiable site in a media plan?
Definition
- Unverified site
- A candidate website for which at least one planned check could not be completed, so no finding exists for that check. It is a gap in evidence, not evidence of a problem.
Planning checks are binary only when they run. A content check reads sample articles; a seller check reads the site's files and the exchange's directory; an audience check looks up public popularity data. Each of those can end in a result or in no result at all: the server timed out, the page sat behind a login, the data source had no record. Lumping the no result cases into either pile changes the plan without anyone deciding to.
| State | What is known | Where it goes |
|---|---|---|
| Passed | The check ran and the site met the brief's rule | Shortlist, with the evidence attached |
| Failed | The check ran and the site broke the rule | Left out group, with the reason |
| Not checked | The check did not complete; nothing is known about this rule | Unverified group, with the error, date and next step |
Why should missing data never count as a fail?
Because the technical standards buyers already use treat absence as unknown. The OpenRTB 2.6 specification from IAB Tech Lab sets the convention for bid requests in plain terms:
As a convention, the absence of an attribute has a formal meaning. In most cases, this indicates that the value is unknown, unless otherwise specified.
Platforms follow the same logic for classification. Google Ads lists a digital content label called "Not yet labeled" (opens in a new tab) for content "that hasn't been labeled yet because they haven't yet completed the classification process." Google lists it as a label of its own, next to the audience labels. Public audience data works the same way: the Chrome UX Report (opens in a new tab) includes an origin only if it is publicly discoverable and has a minimum number of visitors, and "An exact number is not disclosed." A missing record says the site was below an undisclosed line or not indexed, not that it has no readers.
Why can a check on a website fail to complete?
Knowing the cause decides the next step. RFC 9110 describes a 503 as a condition that "will likely be alleviated after some delay"; a refusal or a robots.txt rule can mean the site has chosen not to be read by automated systems. Record the actual response, not just "error", so the retry rule can tell them apart.
| Cause | What the record shows | Default step |
|---|---|---|
| Server unavailable (HTTP 503) | RFC 9110: the server "is currently unable to handle the request due to a temporary overload or scheduled maintenance" | Retry; honor any Retry-After value |
| Access refused (HTTP 403) | RFC 9110: the server "understood the request but refuses to fulfill it" | Retry once, then review by hand |
| robots.txt unreachable (5xx) | RFC 9309: the crawler "MUST assume complete disallow" | Do not read pages; retry the robots.txt fetch later |
| Pages behind a login or paywall | The articles require an account, so a sample cannot be read without one | Review by hand with the client's knowledge |
| Platform data delayed or withheld | Display & Video 360: inventory availability data "can be delayed for a few days" and may be withheld under 3,000 unique cookies | Recheck after the delay; never record zero |
| Not yet classified | Google Ads: "Not yet labeled" content has not completed the classification process | Recheck later; judge the pages directly meanwhile |
One cause has a buying consequence worth stating to the client. The Display & Video 360 deal troubleshooter (opens in a new tab) lists "Domain could not be crawled" as a reason queries are filtered, when "the domain either does not allow or requires additional authorization for Google to crawl the webpage." A site that blocks crawlers may be hard to buy through that platform at all, which is a fact about availability, not about content quality.
When should an unchecked site be retried?
No standard sets a universal retry interval for planning checks, so write a house rule and apply it the same way to each site. The rule below is a starting point: it uses the server's own instruction when one is given and escalates to a person instead of retrying forever.
A retry rule for one unverified site
- Log the exact failure. Save the status code or message, the check that failed and the time.
- Use the server's timing first. RFC 9110 defines Retry-After as how long the client "ought to wait before making a follow-up request"; when it is present, wait at least that long.
- Otherwise retry on a fixed schedule. For example, the next working day and again two days later, set by the team and written in the plan.
- Stop after the last scheduled attempt. Move the site to review with an owner and a due date instead of adding more retries.
- Recheck before launch. Any site still held on the day the list is approved stays held for that version.
Can an unchecked site go on an approved list?
By default, no. The approved version should hold sites whose checks ran. There is a narrow exception for sites the client values or that are hard to replace, such as a local publisher with a paywall. Then a person does the missing check by hand, records what they saw, and the site joins the list with a label saying how it was judged.
Before an unverified site joins an approved list
- A named reviewer opened at least three recent articles in a browser and recorded their URLs and dates.
- The reviewer read the site's ads.txt file by hand, or recorded that it could not be reached.
- The label says which automated check is still incomplete, in words the client can read.
- The site is not described as verified anywhere in the plan or the deal sheet.
- A next retry date is set, so the automated check still runs before the next version.
Keep this topic separate from a site with no ads.txt file at all. A file that is confirmed absent is a finding with its own rules, covered in the guide to missing ads.txt. An unverified site is one where the planner does not yet know.
How does PlacementGraph handle a site it could not check?
How should unchecked sites appear in the plan?
Give the unverified group its own tab or table, after the shortlist and before the left out group. The client should be able to see at a glance how many sites are waiting, why, and when each will be decided. Use the same columns for each site so the group can be sorted by owner or by date.
| Column | Example entry |
|---|---|
| Site | The domain, as it would appear in the export |
| Check not completed | Content sample, seller files, audience data or language |
| Failure recorded | HTTP 503, robots.txt unreachable, login required, no data record |
| First attempt and attempts so far | October 14; two attempts |
| Next step and date | Retry October 17, or review by hand by October 18 |
| Owner | The planner or reviewer responsible |
| Decision | Blank until made; then shortlist, left out or held, with the date |
Fictional example. The brand and sites are invented; no results or performance figures are implied.
A dance studio group in Richmond, Norfolk and Baltimore
An agency plans winter display for an unnamed group of dance studios in Richmond and Norfolk, Virginia, and Baltimore, Maryland, aimed at adults booking beginner classes. Of the candidates, four end the first pass unverified.
A Baltimore arts weekly returned HTTP 503 with a Retry-After value; the planner retries the next morning and the content check completes. A Norfolk events blog had an unreachable robots.txt, so no pages were read; it stays held for a second attempt two days later. A Richmond city magazine puts articles behind a login, so a reviewer reads three recent pieces with the client's subscription and adds it with a label: content reviewed by hand, automated sample incomplete. A small ballet fan site has no Chrome UX Report record for the United States; its pages pass, and the plan shows its popularity as missing rather than as zero.
On approval day one site is still held. It does not go into the approved version, and its retry date carries over to the next one.
Frequently asked questions
Does an unverified site count toward the list size the client approved?
No. Report the shortlist size and the unverified count separately, so the client knows how many sites are cleared to buy. If held sites later pass, they join a new list version, and the count changes there, with the date, rather than inflating the original approval.
Should the client be told about unverified sites?
Yes, as a group with reasons and dates. Hiding them makes the list look cleaner than it is, and a client who later asks about a missing favorite site deserves to hear that it was held for a technical reason, not judged and rejected.
What if a site blocks automated readers on purpose?
Respect it. A publisher may disallow crawlers in its robots.txt file for its own reasons. Do not try to work around the block. Review the site by hand if it matters to the brief, and note that the Display & Video 360 troubleshooter lists a domain its crawler cannot read as a reason queries are filtered.
Can an unverified site run on the open exchange while it is held?
Only if the account's other targeting allows it, which is a separate decision from the plan. An inclusion list limits a line item to listed sites; a held site is simply not on it. If the client wants held sites kept out of all campaigns, that takes an explicit exclusion.
Sources
- OpenRTB 2.6 specification (opens in a new tab)IAB Tech Lab
- About content suitability (digital content labels) (opens in a new tab)Google Ads Help
- Troubleshoot your deals and line items (opens in a new tab)Google, Display & Video 360 Help
- Inventory Availability report (opens in a new tab)Google, Display & Video 360 Help
- RFC 9110: HTTP Semantics (June 2022) (opens in a new tab)IETF
- RFC 9309: Robots Exclusion Protocol (September 2022) (opens in a new tab)IETF
- CrUX methodology (opens in a new tab)Google Chrome for Developers
Researched and written by PlacementGraph Research. Read how we research, source and update these pages. Corrections: diana@placementgraph.com.