Campaigns
Group related topics into a campaign with shared context — useful for product launches, themed series, or seasonal pushes.
A campaign is a themed push — a finite or ongoing initiative with a goal and a brief. Topics roll up under a campaign so the AI can shape posts to fit the campaign's intent, not just the topic.
What a campaign is
A campaign in VibeDay holds:
- Name + slug — what you call it; slug auto-derived
- Brand (optional) — the brand whose voice this campaign uses
- Description (brief) — the goal of the campaign; the AI reads this on every generation
- Color — a hex tag for visual identification in the UI
- Status —
ACTIVE(Topics under it are eligible) orARCHIVED(hidden from the default view)
Campaigns are optional. Topics without a campaign continue to work — they're shown as "Uncategorized".
When to use one
Use a campaign when:
- You're running a themed initiative — a product launch, seasonal push, content series
- You want a group of topics to share a consistent angle ("Q4 launch", "Founder stories", "Behind the build")
- You want to filter the Topics list down to just the relevant set
Don't use a campaign if you're just publishing one-off posts on unrelated topics — the campaign layer adds friction without value at that scale.
Creating a campaign
Two paths on /campaigns/new and /campaigns/design:
Manual creation
Enter name, optional brand, description, and color.
AI Campaign Designer (/campaigns/design)
Answer a short survey and AI generates the full campaign:
- Campaign name (optional)
- Brand (optional) — if set, AI uses the brand's voice + tone + forbidden words to shape the brief
- What's the goal? — concrete outcome-shaped goals ("drive 50 trial signups") produce sharper briefs than abstract ones ("build awareness")
- Cadence and duration (optional) — short sprints come out urgent and crescendoing; ongoing pushes feel steady and evergreen
- Angles or hooks already in mind (optional)
- Vibe (optional) — up to 6 chips
- Campaign color (optional) — AI picks if you don't
Click Design my campaign → blocking modal with progress arc, ~10–15 seconds. The modal closes and lands you on /campaigns/[id] with everything filled in.
Filtering and grouping
/topics?campaign=<id> filters the Topics list to that campaign. The Topics page also has a Grouped by campaign view which segments the list under each campaign heading.
Archiving a campaign
Use Archive instead of Delete when the campaign is done but you want to keep the Topics + Generation history.
- Archived campaigns are hidden from the default Topics filter
- Topics under an archived campaign keep their
campaignId— they're still there, just not "active" - You can restore an archived campaign to ACTIVE at any time
Deleting a campaign
Hard delete from the campaign detail page. Topics under the deleted campaign keep their data but their campaignId becomes null (they become "Uncategorized").
How the AI uses your campaign
When generating a post from a topic that has a campaign:
- The AI prompt includes
Campaign: <name>andBrief: <description> - If the topic doesn't have its own brand link, the campaign's brand becomes the effective brand
- The campaign brief shapes the post's framing and angle
This means: write the brief like a creative director would. "We're announcing the new pricing on Monday. Lead with the cost savings angle for existing customers; emphasize transformation for prospects" produces better posts than "New pricing campaign."
Email support@vibeday.com with what you're trying to do and a screenshot if it helps — we'll write back within one business day.
- BrandsSet up brand voice, tone, forbidden words, and visual identity. Every AI generation reads this so output sounds like you.
- TopicsSeed the content pipeline with topic ideas. Add 10 by hand or 50 via AI Topic Designer; each becomes a generation when you hit Generate.
- GenerationsFrom draft to approval: review captions, regenerate the image, iterate on locked fields, then push READY so the scheduler can pick it up.
- SchedulerSchedules pull from your approved-content queue and publish at the cadence you set. Pause, archive, and runway warnings included.
- NotificationsInbox for failed publishes, reauth prompts, content alerts. Configure per-type email delivery from settings.