Marketing · Email campaign list, duplication & stop

Lists email campaigns with their segment, subject, send date, A/B template and delivery statistics (delivered, opened, clicked, bounced, blocked, spam), and offers duplicate, stop, edit, delete and a read-only detail view.

AreaMarketing
Routesmarketing.emailing · marketing.emailing.index · marketing.emailing.show
Centre modulesmarketingMailing
Staff levelsroot · admin · manager · crmmanager · weboperator · content_creator
Modelsemail-campaign · email-campaign-template · segment · test-ab
UI labeltitle.header.emailing.campaigns / menu.navbar.marketing.emailing.index
Coverage4 use cases · 2 happy · 3 failure

How it works

Four statuses: draft, scheduled, active, archived. Statistics are columns on the list itself, so performance is visible without opening each campaign. stop halts a running or scheduled campaign; duplicate clones it as a new draft (marketing.emailing.copy-of prefix). Both are confirmation-modal driven (onCloseDuplicateModal, onCloseStopModal). Errors are routed through _setSaveError reading adapterError?.errors.

Use cases

Why someone opens this (4)

  • Monitoring open and click rates across recent sends.
  • Stopping a campaign immediately when an error in the content is spotted mid-send.
  • Cloning a recurring newsletter rather than rebuilding it.
  • Spotting a bounce or spam spike that suggests a list-quality problem.

Path map

flowchart LR
    F(["Email campaign list, duplication and stop"]):::feat
    F --> H1["Campaign duplicated"]:::ok
    F --> H2["Running campaign stopped"]:::ok
    F -.-> X1["Duplication fails"]:::bad
    F -.-> X2["Stop fails"]:::bad
    F -.-> X3["Edit/stop not permitted"]:::bad
    classDef feat fill:#b0432c,stroke:#b0432c,color:#ffffff,font-weight:bold
    classDef ok fill:#e3f1ea,stroke:#0d6b42,color:#0d4a2e
    classDef bad fill:#f7e6e2,stroke:#9a2d1c,color:#6e1f13

Happy paths

Campaign duplicated

  1. User clicks duplicate and confirms.
  2. A copy is created named with the marketing.emailing.copy-of prefix, in draft.
  3. The user edits the copy and schedules it.

Running campaign stopped

  1. User clicks stop on an active campaign and confirms.
  2. The send is halted and the status changes.

Failure paths

QA checklist

Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.

  • ✅ Campaign duplicated
  • ✅ Running campaign stopped
  • ⛔ Duplication fails
  • ⛔ Stop fails
  • ⛔ Edit/stop not permitted

Implementation


Generated from doc/feature-inventory.json · id marketing-email-campaign-list · commit 276788ca6