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 close button on banners; a closed ad stays hidden for the rest of the visit. Full-screen (interstitial) and push ads always keep their close button.
  • 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.

Ads that float over the page never sit on the video. On a phone held sideways, the sticky bar at the bottom of the screen slides away while the player reaches the bottom, and comes back as soon as the player moves up. On a watch page, the push card uses the bottom corner the player leaves free; when the player fills both corners, the card waits until the visitor scrolls past the player, and it is only counted once it shows.

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. Without a link, the image still shows but is not clickable.
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. Country targeting needs your site behind Cloudflare, which tells TubePress each visitor's country through its IP Geolocation setting (on by default, in the Network tab).
  6. Set rotation weight and save. Tick Active and save. Finally, make sure the global Ads enabled switch is on. After saving, the editor warns you about anything that stops the ad from showing or being counted: a missing image or link, an ended schedule, country targeting without Cloudflare.

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). On embedded videos (players from other sites), the first click on the player opens it.
  • Frequency cap — once, twice, three, five, ten or unlimited times per visitor, per browser session, hour, day, week or 30 days.

To check a popunder without opening anything, use Preview on your site on the zone page: it shows what would open on each click.

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. The skip button and its delay come from your VAST tag (its skipoffset), so set them in your ad network's panel. You can also paste HTML / JS ad-network code: it shows as an overlay banner over the video. Player ads run on videos hosted on your site; embedded videos play in their own player, without your player ads.

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 count clicks on image and native ads; popunder opens are counted apart and are not part of the CTR. Search robots, link previews (WhatsApp, Slack…), scripts, automated browsers and page-speed tests are never counted.

Next steps

Still stuck?

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

Try the live demo → Download TubePress →