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 4 hours 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

  1. Open Campaign Creator (Express or Pro) with your model campaign
  2. Top right: More actions → Save as template
  3. Modal:
    • Template name (e.g. "Agency Q4 E-commerce Sales")
    • Description (optional)
    • Sharing scope: This workspace OR This Organization (cross-workspace)
  4. Click Save

Backend: POST /api/v1/campaign-templates with the canonical campaign structure.

From scratch

  1. Visit /settings/team/templates (or /campaign-templates depending on UI version)
  2. Click New template
  3. Build the template structure (same UI as Campaign Creator) without launching
  4. 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-templates exposes 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

  1. Campaign Creator → New from template → pick template
  2. Express wizard pre-fills steps with template defaults
  3. Customize per-launch: campaign name, budget amount, creative files, audience tweaks
  4. Publish

In Pro mode

  1. Same New from template flow
  2. Pro layout pre-populated with template structure (campaign + adsets + ads scaffolded)
  3. Fine-tune per-adset
  4. Publish

In Bulk Launch

  1. /launch → toolbar → Import from template
  2. Pick template
  3. Wevion creates N rows (1 per ad account selected) with template defaults filled
  4. Customize per-row (per-account budget, audience variant)
  5. Validate + publish wave

This is the most powerful use — agency wave launches in minutes.

Template variables

Some fields can use variables:

VariableSubstitution
{client_name}Client name from row context
{campaign_id}Auto-generated unique ID
{platform}Inferred from account_id
{date}Today's date in YYYY-MM-DD
{quarter}Current quarter (Q1/Q2/Q3/Q4)
{year}Current year
CustomDefine in template settings

Example UTM template:

utm_campaign = {client_name}-{campaign_name}-{quarter}-{year}

At launch time: clientA-summerSale-Q3-2026.

Sharing scope

ScopeVisibility
This workspace onlyMembers of this workspace see + use the template
This OrganizationMembers of any workspace in the Org see + use (requires Org-level admin)
PersonalOnly the creator sees the template (good for in-progress templates not ready to share)

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

RoleCan create?Can edit?Can delete?
viewer
mediabuyerown onlyown only
managerown + othersown only
admin / ownerallall
super_adminallall

Workspace-shared templates: admin+ can edit; mediabuyer can use but not edit shared templates.

Endpoints

Verified vs route files:

EndpointMethodUse
/api/v1/campaign-templatesGETList templates
/api/v1/campaign-templatesPOSTCreate new template
/api/v1/campaign-templates/:idGETGet one template
/api/v1/campaign-templates/:idDELETEDelete template

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.