Skip to content

Single-Post Injection

Single-post injection places ads between the paragraphs of a single listing or post, rather than between feed cards. It uses the same rules engine, the same targeting and the same ad card as feed injection.

Enable it under Settings → Voxel Ads → Single-post injection.

Configure

SettingWhat it does
EnableMaster switch.
Post typesWhich post types to inject into, comma-separated (post,listing,places).
Content selectorCSS selector for the container holding the content. Needed because Voxel renders listings through Elementor templates rather than the_content.
RulesOne rule per line, as below.
Max ads per pageGlobal cap across all rules.

Finding the content selector

Open a single listing, inspect the element wrapping the body text, and use its class — often something like .ts-content or an Elementor text-editor widget's class. If ads don't appear, this is nearly always the setting to check first.

Rule syntax

Placement is by paragraph number:

KeyMeaning
shortcodeRequired — any AdRotate shortcode.
after=NInsert once, after the Nth paragraph.
interval=NInsert after every Nth paragraph.
max=NCap occurrences for this rule.
priority, enabledAs in feed injection.
geo, terms, days, hoursTargeting.
shortcode=[adrotate banner="19"], after=3
shortcode=[adrotate group="2"], interval=5, max=2, geo=US

Why this is the best place for category targeting

Single posts are the one context where the page has real category information — the listing's own taxonomy terms. That makes terms= genuinely powerful here:

shortcode=[adrotate group="2"], after=2, terms=restaurants;bars
shortcode=[adrotate group="4"], after=2, terms=hotels

A restaurant supplier's banner appears on restaurant listings; a hotel supplier's on hotel listings. Advertisers pay more for that, because it converts better.

Voxel's Elementor-page archives have no term context, so terms= won't match there — target those feeds with target= instead.

Interaction with feed injection

The two are independent. A visitor browsing an archive sees feed ads; opening a listing shows single-post ads. Each has its own cap, so a listing reached from a heavily-monetised feed doesn't inherit that density.

Built by Code Wattz.