Skip to content

Plans, Groups & Pricing

This is what turns Voxel Ads from a sync tool into an ad business: each pricing tier you sell maps to an AdRotate group, and each group gets placed differently.

Create your groups

In AdRotate → Manage Groups, create one group per tier you intend to sell. A typical setup:

GroupTierTypical placement
1BronzeDeep in the feed, every 8 cards
2SilverMid-feed, every 4 cards
3GoldTop of feed, position 1

Note each group's ID — AdRotate shows it in the groups list.

Map plans to groups

In Settings → Voxel Ads → Plan → Group mapping, add one line per plan:

bronze=1
silver=2
gold=3

The left side is the Voxel listing-plan key; the right side is the AdRotate group ID. Lines starting with # are comments and are ignored.

Set a Fallback group ID to catch banners whose plan isn't in the map. Leave it at 0 and unmapped banners go into no group at all — they exist in AdRotate but no group-based placement will ever show them.

The most common reason ads don't appear

A banner in no group is invisible to every [adrotate group="N"] placement. If banners are syncing but never showing, check the plan key spelling against the map, and set a fallback group.

Where pricing comes from

Pricing is read automatically from Voxel's listing-plan order items — the actual amount the advertiser paid, in the currency they paid it. Nothing to configure.

This feeds:

  • CPC — cost per click
  • CPM — cost per thousand impressions
  • Revenue figures in the stats widget, dynamic tags and dashboard

Manual price fallback

Banners created outside the paid-listings flow — imported, created by an admin, or on a free plan — have no order to read. For those, set prices manually in Plan → Price mapping:

bronze=49.99
silver=99
gold=199

Decimal commas work too (49,99). These are only a fallback: a real Voxel order always wins.

Set the Currency symbol to match, since manual prices carry no currency of their own.

Priority within a group

When several banners share a group and you want a predictable running order, set voxel:priority on the banner post — higher numbers run earlier. Voxel's listing plans can set this automatically through their "Custom priority" feature, which lets a premium tier outrank a cheaper one inside the same group.

Priority matters when a placement rule uses explode=yes, which gives each banner its own slot in priority order rather than letting AdRotate pick at random. Banners on the same priority are shuffled among themselves, so equal-paying advertisers rotate fairly. See Feed & Timeline Injection.

A worked example

Selling three tiers on a directory:

  1. AdRotate → Manage Groups: create Bronze (1), Silver (2), Gold (3).
  2. Voxel → Listing plans: create bronze, silver, gold, priced and with durations.
  3. Settings → Voxel Ads: map bronze=1, silver=2, gold=3, fallback 1.
  4. Settings → Voxel Ads → Feed injection, add:
shortcode=[adrotate group="3"], position=1, target=.feedresults
shortcode=[adrotate group="2"], explode=yes, interval=4, order=priority, target=.feedresults
shortcode=[adrotate group="1"], explode=yes, interval=8, order=priority, target=.feedresults

Gold leads the feed, Silver spreads every fourth card, Bronze every eighth — each tier getting exactly the exposure it paid for.

Built by Code Wattz.