Hooray Simple Ads
Hooray Simple Ads

Hooray Simple Ads

0/5 (0 ratings) — active installs Updated Sep 23, 2026
Manage your direct-sold ads from one straightforward screen.

Manage your direct-sold ads from one straightforward screen.

Display ads made simple. You sold the ad — now just put it on your website.

Hooray Simple Ads was built by a small publisher who wanted an easier way to
manage direct-sold advertising in WordPress. Existing solutions offered far
more complexity than the job required.

The job itself is straightforward: create an advertiser creative, choose where
it appears, rotate ads, schedule them, and track basic impressions and clicks —
including on sites that already use aggressive page caching.

That is all this plugin is for. It intentionally does less, because for many
publishers less is exactly what they need.

Place, rotate, schedule and track

  • Create and manage ad creatives.
  • Define reusable ad slots.
  • Assign creatives and rotate them.
  • Weight rotation when one advertiser should appear more often.
  • Schedule campaigns so they start and stop on their own.
  • Track first-party impressions and clicks.
  • Responsive slots that reserve their space.
  • Designed to work with cached WordPress pages.
  • No SaaS account, no plugin-author telemetry, and no external ad-serving
    service.

Why it keeps working behind a cache

Most ad plugins write the advertisement into the page HTML. A full-page cache
then stores whichever ad the first visitor happened to get and serves it to
everyone until the entry expires, so rotation stops without any visible error.

This plugin does not put an ad into cacheable HTML. The page contains only an
empty, correctly sized box, and the advertisement is chosen per pageview by a
separate request served with no-store headers. Your cache hit ratio has no
effect on rotation.

There is nothing to configure for LiteSpeed, WP Rocket, Cloudflare or similar,
and no ESI or fragment-caching setup is required. If a CDN in front of your site
caches REST responses by default, exclude this plugin’s endpoints; the Settings
screen lists them.

What it is not

There is no bidding, no advertiser self-service, no billing and no targeting
engine. There is no account to create and no service to subscribe to. Nothing is
sent to any third-party server: it is your site, your database and your numbers.

Placing an ad

Use the Local Ad Slot block, the [hsads_ad slot="..."] shortcode
(anywhere shortcodes work, including page builders and widgets), or
hsads_ad( ‘slot-slug’ ) in a template.

What counts as a view

A view is counted at most once per ad, per placement, per page load, when at
least half of the advertisement has been continuously on screen for one second
in a tab the reader is actually looking at. Ads below the fold that are never
reached are not counted, and neither are background tabs or quick scroll-pasts.
Both thresholds are adjustable in Settings.

The check runs in the reader’s browser, so treat these as first-party publisher
reporting rather than independently audited measurement. No third-party
accreditation is claimed and none is implied. The aim is a number you can
explain to an advertiser and get the same answer twice.

Working alongside a programmatic network

The plugin touches only the elements it created. It uses one namespaced global,
scopes all of its CSS to its own class names, does not use the data-slot
attribute, adds no MutationObserver and no z-index, and makes no third-party
requests. It is intended to sit on the same page as a programmatic network
without interfering with it.

Privacy

Hooray Simple Ads is designed to measure ad performance without building
profiles of your readers.

Reporting consists of aggregate counters by day, slot and ad. No cookies are
set and no browser storage is used. Raw IP addresses, user agents, user IDs
and device identifiers are not stored. There is no plugin-author telemetry,
and no third-party ad-serving service is contacted.

To stop the same view being counted twice, a short-lived scrambled
deduplication record is kept and swept automatically, normally within a day.

Suggested wording for your own privacy policy is added to Tools Privacy.
Clicking an ad sends the reader to the advertiser’s own site, which is outside
this plugin’s control.