Message Campaigns
Scheduled broadcasts to segments defined by AND/OR condition trees.
A campaign sends a template to an audience on a schedule. Audiences are defined by condition trees, the same format used by compensation tiers.
Audience condition trees #
Build nested AND/OR groups of conditions over fields like platform, status,
tags, stat values, and delta fields. Operators include =, !=, >=,
>, <=, <, in, not_in, contains, not_contains, is_null,
is_not_null.
Delta fields (diamonds_delta, etc.) compare the two most recent stat periods,
so you can target "hosts who are improving" or "hosts who dropped off".
Scheduling #
A campaign runs on a cron expression (recurring) or a one-shot send-at
timestamp. A scheduler evaluates due campaigns every minute, and each firing is
recorded as a MessageCampaignRun with matched/sent/failed counts.
Default campaigns #
Each new agency is seeded with four starter campaigns you can edit or disable:
| Campaign | Schedule | Audience |
|---|---|---|
| Weekly Green | Mondays 09:00 | diamonds ≥ 5,000 AND live ≥ 600 min AND improving |
| Weekly Blue | Mondays 09:00 | diamonds 1,000–4,999 |
| Weekly Red | Mondays 09:00 | diamonds < 1,000 OR valid days < 5 |
| Monthly Close | 1st of month 09:00 | all TikTok hosts |