Skip to content

Deliver Acceptance Criteria: Storevine Campaigns Email Builder

Storevine’s Campaigns feature includes an email template builder that lets merchants create branded marketing emails using a drag-and-drop editor. The PM wrote acceptance criteria for the builder component before sprint planning so engineering and QA have testable behavior specifications. The criteria cover the core editing flow, edge cases around content limits and image handling, error states for save failures, and non-functional requirements for performance and accessibility.


deliver-acceptance-criteria
Feature: Campaigns . email template builder
The template builder lets merchants drag-and-drop content blocks (text, image, button, divider, product card) onto a canvas, customize styling, preview on desktop and mobile, and save templates for reuse across campaigns. Templates are stored per-merchant and can be duplicated.


artifact: acceptance-criteria version: “1.0” created: 2026-04-11 status: draft

Section titled “artifact: acceptance-criteria version: “1.0” created: 2026-04-11 status: draft”

Acceptance Criteria: Campaigns Email Template Builder

Section titled “Acceptance Criteria: Campaigns Email Template Builder”

Storevine merchants need to create branded marketing emails without writing HTML. The template builder provides a drag-and-drop canvas where merchants assemble content blocks, apply styling, preview results, and save reusable templates. Scope is limited to the builder UI and template persistence . campaign scheduling and send logic are covered separately.

AC-1: Merchant Can Add Content Blocks to Canvas

Section titled “AC-1: Merchant Can Add Content Blocks to Canvas”

Given I am in the template builder with an empty canvas

When I drag a content block (text, image, button, divider, or product card) from the block palette onto the canvas

Then the block appears at the drop position and is immediately editable

AC-2: Merchant Can Preview on Desktop and Mobile

Section titled “AC-2: Merchant Can Preview on Desktop and Mobile”

Given I have added at least one content block to the canvas

When I toggle between desktop and mobile preview modes

Then the preview updates to show the template rendered at the selected viewport width (desktop: 600px, mobile: 320px) [fictional]

AC-3: Merchant Can Save and Reuse a Template

Section titled “AC-3: Merchant Can Save and Reuse a Template”

Given I have built a template with at least one content block

When I click Save and provide a template name

Then the template is persisted to my merchant account, appears in My Templates, and can be selected when creating a new campaign

AC-4: Block Reorder via Drag Within Canvas

Section titled “AC-4: Block Reorder via Drag Within Canvas”

Given I have three or more content blocks on the canvas

When I drag an existing block to a new position between two other blocks

Then the block moves to the new position and surrounding blocks reflow without content loss

Given I am editing an image block

When I upload an image that exceeds the 5 MB file size limit [fictional]

Then the upload is rejected before transfer completes and I see an inline message stating the maximum allowed size

Given I click Save but the network request fails

When the server returns an error or the request times out

Then I see an error banner with a Retry button, and my in-progress template remains on the canvas without data loss

AC-8: Product Card Block with Deleted Product

Section titled “AC-8: Product Card Block with Deleted Product”

Given I have a template containing a product card block linked to a specific product

When the linked product is deleted from the Storevine catalog before the template is used

Then the product card block displays a placeholder state and the template can still be opened for editing

AC-9: Builder Loads Within Performance Budget

Section titled “AC-9: Builder Loads Within Performance Budget”

Given I navigate to the template builder with a template containing up to 20 content blocks [fictional]

When the builder page loads

Then the canvas is interactive within 2 seconds on a median merchant connection (4G, 50 Mbps) [fictional]

  • Template rendering engine is shared with the campaign preview . changes to rendering affect both surfaces.
  • Product card blocks depend on the Catalog API; availability is an external dependency.