Campaign Creator overview — Express, Pro, Bulk
Last updated: May 19, 2026
Campaign Creator overview — Express, Pro, Bulk
Wevion's Campaign Creator comes in three modes that scale with your needs: Express (6-step wizard, opinionated, fast), Pro (full editor with structure tree, multi-adset / multi-ad in one campaign), Bulk Launch (spreadsheet grid for many campaigns at once). Switch between Express and Pro mid-flow. Bulk Launch lives at a separate URL (/launch).
Who is this for
Mediabuyers picking the right launch mode for their workflow. Agencies onboarding multi-client teams. Anyone debating "should I use the wizard or the full editor".
The three modes at a glance
Mode | URL | Best for | Power level |
|---|---|---|---|
Express |
| First launch, simple campaigns, sanity-check flows | Low / opinionated defaults |
Pro |
| Multi-adset campaigns, A/B testing, advanced bid strategies | High / full control |
Bulk Launch |
| Wave launches, multi-account / multi-platform, agency batch ops | High / horizontal scale |
Mode 1: Express
6-step wizard — verified vs apps/frontend/src/pages/campaign-creator/steps/:
Platform (which ad account)
Objective (Sales / Traffic / Leads / etc.)
Audience (countries + age + interests)
Budget (daily or lifetime, CBO default)
Creative (upload or pick from Creative Hub + copy)
Review (final check + Publish paused/active)
Opinionated defaults smooth the path — CBO unless ABO chosen, default Pacific Time conventions for Meta, popups for placements, etc.
Use Express when:
First time launching a campaign
Single ad set per campaign
Want speed over granular control
Following a proven template (just need to customize creative + audience)
See cc-102 launch Express walkthrough + gs-113 first-campaign intro.
Mode 2: Pro
Full editor — verified vs apps/frontend/src/pages/campaign-creator/pro/:
Structure tree (left): nested view of campaign → adsets → ads
Configuration area (center): edit whatever's selected in the tree
Preview panel (right): live preview of the ad as it appears on the platform
Keyboard shortcuts (
use-keyboard-shortcuts.ts): fast navigation + actions
Canonical structure (verified apps/backend/src/types/campaigns/canonical.types.ts):
CanonicalCampaign
├── adSets[] (CanonicalAdSet)
│ ├── ads[] (CanonicalAd)
│ ├── audience
│ ├── budget (if ABO)
│ └── ...
└── campaign
├── objective
├── budget (if CBO)
└── ...
Pro mode supports multi-adset + multi-ad in one campaign — useful for A/B testing structures within a single campaign budget.
Use Pro when:
Multi-adset campaigns (different audiences in one campaign for CBO testing)
Multi-ad per adset (creative A/B within an adset)
Advanced bid strategies (Cost Cap, Bid Cap, Min ROAS)
Fine-grained per-adset budget (ABO) with control over distribution
Comfortable with the platform's full feature set
Mode 3: Bulk Launch
Spreadsheet grid at /launch — verified vs apps/backend/src/routes/bulk-launch.route.ts:
Each row = one campaign (or per-account variant of the same campaign)
Columns = the same fields Express/Pro would prompt for: account, pixel, campaign name, budget, audience, creative, copy
Bulk publish: all rows submitted at once
Async processing via SQS worker; status per row visible at
/bulk-launch/status/batch
Use Bulk Launch when:
Launching 5+ campaigns simultaneously (e.g. weekly wave)
Same campaign across multiple ad accounts (agency multi-client batch)
Same campaign across multiple platforms (Meta + Google + TikTok parallel — see cc-123 multi-platform)
Geo-distributed multi-country campaigns
Repeatable launch operations (use with Campaign Templates — cc-118)
See cc-104 Bulk Launch overview + cc-105 multi-account.
Decision flow
Launching ONE campaign?
├─ Simple (single adset, basic creative)? → Express
└─ Complex (multi-adset, advanced strategy)? → Pro
Launching MANY campaigns at once? → Bulk Launch
Repeatable pattern across launches? → Save Template + use in any mode
RBAC: who can launch
Role | Can launch? |
|---|---|
viewer | ❌ |
finance | ❌ (read-only on performance) |
mediabuyer | ✅ |
manager | ✅ |
admin / owner | ✅ |
super_admin | ✅ |
Mediabuyer is the minimum role. Below that = read-only campaign access.
What gets saved as you work
Campaign Drafts: as you fill in Express or Pro, Wevion auto-saves every field via POST /api/v1/campaign-drafts/:id (verified endpoint). You can close the tab, come back tomorrow, and resume where you left off.
Validation runs continuously:
Field-level:
POST /api/v1/campaign-drafts/:id/validate-fieldon blurPre-flight:
POST /api/v1/campaign-drafts/:id/preflightbefore publishDry-run:
POST /api/v1/campaign-drafts/:id/dry-runto simulate without committing
Errors surface inline (per-field) + summary at publish time. See cc-121 validation errors.
What you'll see
/campaign-creator/new defaults to Express mode with the platform-step active. Toggle in the top-right switches to Pro mode at any time (your data carries over).
/launch is a separate page (Bulk Launch) with a different UI optimized for grid editing.
Both modes ultimately produce the same backend structure (CanonicalCampaign) — they're just different editing surfaces.
Mixing modes
You can start in Express → save as draft → switch to Pro to add a second adset → publish. The data model is shared; the UI just renders differently.
Common questions
"Can I migrate a published campaign from Express to Pro?" Once published, edit it in Ads Manager (regardless of which mode created it). Modes are for creation, not management.
"Bulk Launch supports multi-platform?" Yes — each row can target a different platform's ad account. See cc-123.
"Why is Express labeled as 'opinionated'?" It bakes in best-practice defaults so first-time users don't have to learn every option. Pro is the escape hatch.
"Can I save Express defaults as a template?" Yes — see cc-118 campaign templates.
Related
Launch a campaign with Express mode — Express walkthrough
Launch a campaign with Pro mode — Pro deep dive
Bulk Launch overview — grid interface — at-scale launching