TEASEDocs
ProductsClubHow-to

Send a broadcast campaign to a fan segment

Draft a message, preview reach and audience with zero side effects, then schedule it into a paced 1:1 send plan.

This is the Broadcasts tab — /api/admin/broadcasts, the campaign system a scheduled campaign actually expands and drains through. It's a separate system from the in-chat Broadcast composer mode; see Two campaign systems before you go looking for one campaign in the other's list.

Pick a mechanism

mechanism decides how the message reaches fans:

MechanismWhat happensTrade-off
1to1 (default)An individual paced DM per fan, landing in their priority inbox. Supports personalization, tier pricing, and drip steps.More requests to pace; the safer default.
nativeOne native OnlyFans mass message to lists/collections at once.No per-fan price or drip, and it lands in the fan's regular tab, not priority — and it needs the separate inbox/broadcasts_native grant, since a single blast carries more ban risk than a paced 1:1 run.

Pick a mode (1to1 only — native is always one blast)

ModeWhat it does
segmentedOne message to a single audience segment.
tieredThe audience is split by spend tier so each tier can carry a tier-appropriate offer.
dripA multi-step sequence with auto-stop — once a fan converts on an earlier step, their remaining steps are skipped.
online_triggerSends are aligned to when each fan is actually active, instead of all firing at once.

Preview before you commit

POST /broadcasts/preview resolves how many fans match and a tier histogram — counts only, zero fan ids, zero writes. Use it to sanity-check the audience before scheduling; it's safe to call as many times as you're still tuning filters.

Schedule it

POST /broadcasts/{campaign_id}/schedule expands the campaign into a concrete, paced 1:1 send plan and moves it to scheduled. This step is real — the plan is materialized — but whether anything actually leaves the building next depends on the account-wide sending state; the response carries a lane field (off / shadow / live) precisely so the screen never claims a send is coming when it isn't. See Shadow sends and the kill switch.

What's next

On this page