Skip to content
TubePress — free, self-hosted & actively maintained
SEO & growth

Monetization & ads

Ad zones, banners, native spots, popunders and VAST pre-roll, with built-in reporting.

TubePress includes a full advertising system so you can monetise your traffic without a third-party ad manager. It supports image banners, ad-network code, VAST video ads, native in-feed placements and popunders, with device and country targeting, scheduling, weighted rotation, house-ad fallback and built-in reporting.

You manage everything from /admin/ads. A single master switch turns all advertising on or off.

The ad system

The system is organised around two ideas: zones (fixed placements on your site) and spots (the individual ads you put inside a zone). Global controls live on the Settings tab:

  • Ads enabled — the master switch for every zone.
  • Enable popunders — a separate switch for popunders, off by default.
  • Visitors can close ads — shows a small dismiss button on each ad for the rest of a visit.
  • Ad label colour — the colour of the "Sponsored" / "Ad" badges (red by default).
  • ads.txt — pasted here and served at /ads.txt so networks will bid on your inventory.

Ad zones & placements

Zones are predefined placements grouped by the page they appear on, shown as tabs: All Pages Homepage Watch Page Player Listings Categories Performers. You do not create zones from scratch — you enable the ones you want and add spots to them. Each zone carries a recommended image size, and any number of spots can compete for it.

Sizes are a suggestion. The recommended dimensions are what looks best in a slot, but other sizes still work — banners scale to fit.

Spot types

Within a zone, each spot is one of the following creative types:

TypeUse it for
Image bannerUpload an image (or paste an image URL) with a click-through link. The friendliest option for non-technical operators.
HTML / JS codePaste a tag from any ad network — ExoClick, JuicyAds, TrafficStars, TrafficJunky and the like.
VAST tagA video ad served inside the player (see VAST pre-roll below).
Native / in-feedAn image banner with an optional headline, shown under the thumbnail on in-feed placements so it blends with your grid.
PopunderOpens a web address or network tag behind the visitor's tab; configured in the Popup zone.

Any spot can also be flagged as a house ad, which only displays when no paid ad fills the slot.

Creating a zone and a spot

  1. Open the right page. Go to /admin/ads and pick the tab for where the ad should appear.
  2. Enable the zone. Flip the zone's toggle on, then click it to open the zone editor.
  3. Add a spot. Click New Ad Spot and give it an internal name (visitors never see it).
  4. Choose the creative. Select Image Banner, HTML/JS Code or VAST, then upload the image or paste your code/URL.
  5. Target and schedule. Optionally restrict by device (all/desktop/mobile) and country, and set start/end dates in your site timezone.
  6. Set rotation weight and save. Tick Active and save. Finally, make sure the global Ads enabled switch is on.

Popunder setup

Popunders live in the Popup zone and require the separate Enable popunders switch. For each popunder you choose what opens — a web address (recommended, your offer link) or an ad-network code — and how it behaves:

  • When it starts — a delay (Instant, 5s, 20s, 1 min, 1 min 30, or custom); once the timer passes, it opens on the visitor's next click anywhere.
  • Player popunder trigger — the in-player variant opens on player click, on pause or on play (choose one or more).
  • Frequency cap — once, twice, three, five, ten or unlimited times per visitor, per browser session, hour, day, week or 30 days.
Go easy on frequency. High caps drive visitors away. Most sites use one or two popunders per day per visitor — the editor warns you when a setting is aggressive.

VAST pre-roll

Player ads are configured in the in-player zone. Pick when the ad plays — pre-roll (before the video), mid-roll (at a chosen percentage of the runtime), post-roll (after it ends) or an overlay banner over the video — then paste a VAST tag URL. VAST 2.0, 3.0 and 4.0 are supported. For skippable formats you can let the viewer skip after a set number of seconds, mark the ad as not skippable, or hand skip control to the ad network. An ad-network code can be used in the player instead of a VAST tag where you need it.

Weighting & house ads

When several spots compete for the same zone, each spot's rotation weight (1–10, default 5) controls how often it is chosen relative to the others — a weight of 10 is shown roughly twice as often as a weight of 5. Spots flagged as house / fallback sit outside that auction: they fill unsold inventory with your own promotion and only appear when no paid ad is eligible. Combined with device, country and date targeting, this lets you sell premium slots while never showing an empty space.

Reports

The Reports tab summarises performance from a daily rollup:

  • Impressions, clicks and CTR for the last 7 and 30 days.
  • A breakdown by zone and a top ads table over the last 30 days.

Impressions are counted on viewability — the ad actually appeared on screen — not merely on page render, so your CTR reflects ads people really saw. Clicks include both banner clicks and popunder fires.

Next steps

Still stuck?

Open a ticket from your dashboard and our team will help you out.

Try the live demo → Download TubePress →