Skip to main content

Targeting

Step 3 of the ad builder, headed Who should see it, is where you narrow the pool your campaign is placed into. Its lead says the whole of it: "All optional. Leave everything untouched and your ad reaches every eligible host — each filter you add makes the pool smaller but better matched."

Three of these controls are the reason to buy Lite or Plus for the exchange, so this page states exactly what each one does, what it costs you in reach, and which plan unlocks it.

Before you start​

  • You are on step 3 of the builder, having chosen a topic and a level on step 2.
  • Your run mode is Broadcast. Choosing Swap on step 4 hides this entire panel — a swap pairs with one partner channel, so there is no pool to filter.
  • Every control here is optional. An untouched panel sends nothing, and your ad reaches the whole eligible pool.
Language and country filters match very few channels

Both are checked against a value the host channel declared about itself, and a channel that declared neither is excluded from a language-filtered or country-filtered campaign outright. Almost no channel in the pool has declared either, so setting a language or a country will starve your campaign of placements. Leave both untouched unless you are willing to trade nearly all of your reach for them.

What each control does​

The Matching block​

These tune how the matcher ranks the pool rather than which channels are in it. Both default to neutral, so an ad that leaves them alone behaves exactly as it would have before they existed.

ControlWhat it doesPlan
Lookalike — "favour hosts like the channels that performed best for you."Biases matching toward hosts resembling your own best past placementsMaster and Ultimate
Audience-size match — a slider from 0.5 to 2.0Scales how harshly a size mismatch is penalised. Its live label reads "very close in size", "closer in size", "balanced" (the default), "a wider size range" or "any size"Ultimate
Also match closely-related topics (off = your topic only).On by default. Turning it off restricts matching to your own topic instead of letting an ad widen into neighbouring onesUltimate

Where a control is not included in your plan it is hidden and a note names the rung: "Lookalike targeting is part of Master. Custom matcher weights are part of Ultimate."

The weights tune your ad, never the pool

The size slider and the topic switch apply to your own campaign's filter only. They never change how the exchange ranks anybody else's ad — there is no way to buy a thumb on the pool's scale.

The Targeting block​

Each box hides itself on a plan that does not include it, and a lock note underneath lists everything hidden and where it lives.

BoxOn-screen hintWhat it filters onPlan
Languages"Tap the languages your ad is written for. No pick means every language."The host channel's declared language. 27 to choose fromEvery plan
Countries"Where the host channel's audience is. No pick means everywhere."The host channel's declared country. A searchable box of 50 marketsLite and above
Host audience size"Only place this ad in channels of the sizes you choose."The host channel's subscriber count, bandedPlus and above
Post between"The hours of the day your ad may go out, in UTC."The hour a placement may be dispatchedPlus and above
Scheduled start"Up to 90 days out. Leave empty to start as soon as it's approved."When the campaign may begin deliveringLite and above
Competitor blocklist"Channels your ad must never sit beside — up to 50 on your plan."Named @usernames, excluded outrightPlus and above

The five audience-size bands:

BandLabelSubscribers
1Microunder 1K
2Small1K–10K
3Mid10K–50K
4Large50K–200K
5Major200K+

A channel whose size could not be read falls into no band at all and is excluded from an explicit band filter — an unmeasured channel is never allowed to satisfy a paid targeting promise.

Targeting by plan​

PlanDimensions included
FreeTopic, language
LiteAdds country and scheduled start
PlusAdds audience-size band, day-parting and the competitor blocklist
EliteSame set as Plus
MasterAdds lookalike matching
UltimateAdds custom matcher weights

Topic and language are free at every rung on purpose: a badly matched placement wastes the host's audience too, so charging for basic relevance would make the pool worse for the side that is already scarce.

The competitor blocklist cap climbs with the plan:

PlanChannels you may block
Free0
Lite0
Plus50
Elite100
Master200
Ultimate500

What the numbers mean​

LimitValueWhy
Values per language or country list12Beyond that a filter stops being targeting and starts being an enumeration of the pool
Audience-size bands5 — all of themThere are only five
Scheduled startWithin the next 90 daysA start further out is refused; a start in the past means "as soon as approved"
Day-parting windowTwo hours that differ, or neitherAn unset window means "any hour", in both directions
BlocklistYour plan's cap, absolute ceiling 500An unlimited blocklist would let an advertiser test which handles are enrolled
Day-partingUTCYour posting window is read in UTC, never local time
A day-parted ad waits rather than losing its placement

An ad outside its posting window is deferred to a later tick, not charged a drop. That is the good news. The bad news is a narrow window plus narrow targeting can leave a cycle with too few opportunities to hit its target — and a cycle that under-delivers is only made good on Ultimate. Widen the window before you widen anything else.

How a filter is checked​

Every dimension is checked for validity first and entitlement second, so a Free member who sends a malformed country code is told it is malformed rather than upsold to a plan that would also have rejected it.

An omitted or empty dimension is never treated as a lock. Clearing a filter stays possible after a subscription lapses — you can always edit your way back to neutral, even on a plan that could no longer set the value.

A locked dimension answers with HTTP 402 and a quantified explanation, for example: "Country targeting is part of Lite. Your ad will still run — it just reaches the whole eligible pool instead of the slice you picked." Nothing is charged, and no campaign is created.

What the exchange keeps private​

Your blocklist is the one field that names channels, and it is deliberately never echoed back. Reading a campaign returns only how many channels it blocks, never which. Returning the list would turn your own blocklist into a way of confirming which handles are enrolled in the exchange, which is exactly the leak host anonymity exists to prevent.

Checking your work before you submit​

Two tools tell you what your filters actually cost you, and neither is the reach line on step 2 — that one counts only how many channels accept your level.

  • Targeting copilot (step 2, beside that reach line) computes the eligible pool with your filters applied, and the pool with each single filter dropped, so every filter's cost in channels is a real number. It then narrates the trade-off. It spends one AI text action — see AI tools in the exchange.
  • Why? (on the campaign row, after approval) shows the Matching channels step: "12 of the 340 channels that accept level 3 match your targeting."
If a campaign is starving, drop the narrowest filter first

The filter with the fewest picked values is almost always the culprit — one language, one country, one band. Clearing it costs nothing and is reversible on your next campaign, whereas buying a delivery boost on a starved campaign buys placements the pool cannot deliver.

If something goes wrong​

What you seeWhat it meansWhat to do
"Country targeting is part of Lite. Your ad will still run — it just reaches the whole eligible pool instead of the slice you picked."A filter your plan does not include was sentClear it, or upgrade to the rung named
"Custom matcher weights are part of Ultimate. Your ad still matches on the standard weighting."The size slider or topic switch was moved off neutral below UltimateReturn the slider to "balanced" and leave the topic switch on
"Pick at most 12 language values."Too many values in one listTrim the list
"'xx' isn't a language we recognise."An unknown code reached the serverRe-pick from the chips rather than pasting values
"Your plan lets you block up to 50 channels."Blocklist over your plan's capShorten the list, or upgrade
"'not a handle' isn't a usable @username."A blocklist entry could not be read as a handleUse plain @usernames, separated by commas or spaces
"Set both a start and an end hour for day-parting, or neither."Only one hour was chosenSet both, or return both to "Any hour"
"A day-parting window needs a start and end that differ — 09:00 to 09:00 is no window at all."Both hours the samePick two different hours
"Schedule a start within the next 90 days."The start date is too far outBring it inside 90 days
"That start date isn't a valid date and time."The date field could not be readRe-pick it from the date control
The campaign is approved but Matching channels reads 0Your filters exclude the whole poolClear the narrowest filter. If you set a language or a country, clear that one first