Promo Rotator · A2 Digital Products

Your ads. Your sites. Your revenue.

Cross-sell your own properties with a promo engine you control. Campaigns, placements, audience targeting, weighted rotation, tracking. No ad network in the middle.

promo rotator · campaigns
Promo Rotator campaign list: annual upgrade, new site launch, win-back offer, bundle and app install campaigns with placements, targeting and seven-day impressions and click rates

Promo Rotator is a self-hosted promo engine for membership and content sites. You define campaigns, pick where they appear (in-feed, below the player, sidebar, banner, interstitial), target by site and member status, and it rotates them with weighting, caching and click and impression tracking. Every promo is yours, every click stays on your properties, and no ad network takes a cut. Sold by A2 Digital as a per-installation license.

Five card typesPlacement targetingMember-status targetingWeighted rotationClick + impression trackingNo ad network
Why networks run it

First-party cross-sell is the growth lever you already own

Keep the whole click

Ad-network payouts for niche publishers keep shrinking. Promoting your own upgrade, your own sister site or your own app pays 100% to you.

Right offer, right member

Guests see the bundle. Monthly members see the annual upgrade. Expired members see the win-back. One campaign table, targeted by status and site.

Numbers per campaign

Impressions, clicks and CTR by campaign, placement and site, so you can see which house ad earns its slot and which is wallpaper.

How it works

Install, place, rotate

1

Install the package

Composer package into your Laravel app, run the migrations, map your site and member models in one config file.

2

Define campaigns

Title, creative (five card types including composite grids), destination, weight, schedule, and which sites and member statuses should see it.

3

Drop in placements

One template tag per placement: in-feed, below player, sidebar, banner, interstitial. The rotator picks and renders, cached for five minutes.

4

Read the report

Impression pixel and click redirect record every event. The report shows CTR by campaign, placement and site; pause or reweight from the admin.

5 card types
text, image, video, composite grid and banner, each responsive, each cached.
60K+ events
tracked per week on the reference install across nine sites, with no measurable page-speed cost.
0 third parties
no ad network, no external script, no revenue share. Your server, your data.
Pricing

Per install. Not per impression.

Promo Rotator
$399per installation
Composer package, migrations, admin, placements, tracking, docs. $999 for unlimited installs.
  • Campaign CRUD admin with scheduling and weights
  • Five card types incl. composite grid images
  • Placement + per-site rules, member-status audience filter
  • Weighted rotation with type cycling, 5-minute cache
  • Click redirect + impression pixel, 7/30-day report
  • Load-more endpoint for feeds
  • 30 days email support
  • Laravel only; no managed hosting
Get Promo Rotator
Updates
$99/year
Optional. Laravel version bumps, new card types, fixes.
  • Package updates
  • New placements and card types
  • Email support
Ask about updates

Prices in USD. Requires a Laravel 10+ application with Eloquent models for sites and members (adapter config provided). Multi-install license $999 covers all your own properties.

Multi-site membership networksMulti-brand publishersCreator platformsCommunity sites with paid tiers
Questions

What operators ask first

Is this an ad server like Revive?

It's narrower and simpler. Revive serves third-party ads with all the complexity that implies. Promo Rotator only serves your own promos to your own members, so setup is a config file and a template tag, not a campaign-management career.

What platforms does it run on?

Laravel 10 and newer. It attaches to your existing site and member models through an adapter config. A non-Laravel version is not available yet; ask if you need one.

Can I target by member status?

Yes: guests, active members by plan, expired members, and per-site rules. The audience filter runs at render time using your member model.

How is tracking done?

A first-party impression pixel and a click redirect on your own domain. No external script, no cookies beyond your own session.

Does it slow pages down?

Rotation results are cached for five minutes per placement and audience, so the per-request cost is a cache read. The reference install serves 60K+ events a week with no measurable difference.

Can I run it on more than one site?

One license covers one Laravel installation, which can serve any number of sites that share that app. Separate installs need the multi-install license.

Promote what you own

Install it once, point your sites at each other, and keep every click.

Get Promo Rotator