Campaign templates — save and reuse
Save current campaign as template via /api/v1/campaign-templates. Reuse in any mode. Captures objective + budget + audience + creative slots + UTMs.
Written By Salvatore Sinigaglia
Last updated About 1 hour ago
Save current campaign as template via /api/v1/campaign-templates. Reuse in any mode. Captures objective + budget + audience + creative slots + UTMs.
Campaign templates — save and reuse
Save the current Express, Pro, or Bulk Launch campaign as a template for reuse. Templates capture objective, budget structure, audience config, creative slots (placeholders), and copy variations. Endpoints verified:
POST /api/v1/campaign-templates(create),GET(list),GET /:id(one),DELETE /:id(delete). There is no update (PUT/PATCH) endpoint — to change a template, recreate it and delete the old one.
Who is this for
Agencies running repeatable patterns across clients. Teams executing weekly/monthly wave launches. Anyone tired of recreating the same campaign structure from scratch.
What templates capture
A campaign template stores:
- Objective + optimization goal
- Budget structure: CBO or ABO + bid strategy (not the amount — that's per-launch)
- Audience template: countries, age, gender, interests (modifiable per launch)
- Custom audience refs: lookalike + retargeting selections (modifiable)
- Creative slots: placeholders for image / video / copy (modifiable)
- Copy variations: text templates with variables (e.g.
{client_name},{product_name}) - UTM conventions: per-team UTM template
- DSA fields structure (if EU): beneficiary / payor placeholders
- Special ad categories if applicable
What's NOT captured:
- Specific budget amount (per-launch)
- Specific creative files (placeholders to fill per-launch)
- Specific dates (for lifetime budgets)
- Specific campaign name (you name per-launch)
How to create a template
From an existing campaign
- Open Campaign Creator (Express or Pro) with your model campaign
- Top right: More actions → Save as template
- Modal:
- Template name (e.g. "Agency Q4 E-commerce Sales")
- Description (optional)
- Sharing scope: This workspace OR This Organization (cross-workspace)
- Click Save
Backend: POST /api/v1/campaign-templates with the canonical campaign structure.
From scratch
- Visit
/settings/team/templates(or/campaign-templatesdepending on UI version) - Click New template
- Build the template structure (same UI as Campaign Creator) without launching
- Save
Listing + managing templates
View all
/settings/team/templates(admin view) — all workspace templates- Campaign Creator → New from template (during launch) → dropdown
Change a template
- There is no update endpoint —
campaign-templatesexposes only GET/POST/DELETE. To change a template, create a new one (POST) with the updated config and delete the old one. - Neither creating nor deleting affects already-launched campaigns.
Delete
- Action menu → Delete template → confirm
- Doesn't affect already-launched campaigns
Duplicate
- Action menu → Duplicate → rename copy → save
Using a template
In Express mode
- Campaign Creator → New from template → pick template
- Express wizard pre-fills steps with template defaults
- Customize per-launch: campaign name, budget amount, creative files, audience tweaks
- Publish
In Pro mode
- Same New from template flow
- Pro layout pre-populated with template structure (campaign + adsets + ads scaffolded)
- Fine-tune per-adset
- Publish
In Bulk Launch
/launch→ toolbar → Import from template- Pick template
- Wevion creates N rows (1 per ad account selected) with template defaults filled
- Customize per-row (per-account budget, audience variant)
- Validate + publish wave
This is the most powerful use — agency wave launches in minutes.
Template variables
Some fields can use variables:
Example UTM template:
utm_campaign = {client_name}-{campaign_name}-{quarter}-{year}At launch time: clientA-summerSale-Q3-2026.
Sharing scope
Common patterns
Pattern A: Agency client template library
- Template per vertical (e.g. "E-commerce Sales Template", "B2B Lead-Gen Template")
- Use across all clients in same vertical
- Per-launch: customize for specific client
Pattern B: Recurring monthly wave
- Template: "Monthly evergreen wave"
- Use in Bulk Launch first Monday each month
- Same audience, same creative refresh approach
- Per-launch: update creative + budget
Pattern C: Promotional event template
- Template: "Holiday promo 2026" with lifetime budget structure + DSA fields + special ad category handling
- Use for Black Friday, Christmas, New Year promos
- Per-event: customize discount + dates
Pattern D: A/B test framework
- Template: "Standard A/B test" with 3 adsets pre-scaffolded
- Use whenever testing audiences or creatives
- Per-test: fill in the variants
RBAC on templates
Workspace-shared templates: admin+ can edit; mediabuyer can use but not edit shared templates.
Endpoints
Verified vs route files:
There is no update (PUT/PATCH) endpoint for campaign templates — the route exposes only GET, POST, and DELETE. To change a template, create a new one and delete the old.
What you'll see
In /settings/team/templates:
- List of all accessible templates
- Per-template: name, creator, usage count
- Actions: Use, Duplicate (create a copy), Delete — there is no in-place Edit (recreate to change)
In Campaign Creator on "New from template":
- Searchable template picker
- Preview of template structure on right
- "Use this template" button
Best practices
Name templates clearly
- ❌ "Template 1", "My template", "Test"
- ✅ "E-commerce Sales — Q4 Evergreen", "B2B Lead-Gen — LinkedIn Roadmap"
Version with description
- Template name includes version: "E-commerce Sales v2 (2026-Q4)"
- Description notes what changed from v1: "Updated CTAs based on Q3 testing"
Iterate quarterly
- Review templates each quarter
- Update based on what's working
- Archive (rename "[archived]") old versions
Document edge cases
- In template description: note when this template applies + when NOT to use it
- Save your team's hidden knowledge
Common issues
- "Template doesn't fit my launch": don't force-use. Templates are starting points; if heavily modifying, save the modified version as a new template.
- "Cannot edit shared template": lacks role. Ask admin to update OR create your own variation.
- "Template variables not substituting": variable syntax wrong (
{var}not${var}). Check template config. - "Template missing from Org scope": was saved as workspace-only. Edit + change scope to Organization.
FAQ
What does a campaign template capture?
A Wevion campaign template stores the objective and optimization goal, budget structure (CBO or ABO plus bid strategy), audience config, creative slot placeholders, copy variations, UTM conventions, and DSA fields if EU. It does not capture the specific budget amount, creative files, dates, or campaign name — those are filled in per launch.
How do I save a campaign as a template?
Open Campaign Creator (Express or Pro) with your model campaign, then choose More actions → Save as template in the top right. Name the template, add an optional description, and pick a sharing scope (this workspace or the whole Organization), then click Save. Wevion stores the canonical campaign structure.
Can I use a template in Bulk Launch?
Yes. In /launch, use the toolbar's Import from template option and pick your template. Wevion creates one row per selected ad account with the template defaults filled in. Customize per-row budgets and audience variants, then validate and publish the wave — this is the fastest path for agency wave launches.
Who can create and edit templates?
By role: viewers cannot create, edit, or delete; mediabuyers can edit and delete only their own; managers can create and edit others' but delete only their own; admins, owners, and super_admins have full control. For workspace-shared templates, admin and above can edit while mediabuyers can use but not edit them.
Do template changes affect campaigns I already launched?
No. There is no template-edit endpoint — you change a template by creating a new one and deleting the old (POST + DELETE; there is no PUT/PATCH). Either way, already-launched campaigns are untouched, so past waves stay exactly as published in Wevion.