Deliver Acceptance Criteria: Storevine Campaigns Email Builder
Scenario
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.
Prompt
/acceptance-criteria
Feature: Campaigns . email template builderThe 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.Output
artifact: acceptance-criteria version: “1.0” created: 2026-04-11 status: draft
Acceptance Criteria: Campaigns Email Template Builder
Story Context
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.
Happy Path
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
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
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
Edge Cases
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
AC-5: Image Block with Oversized File
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
Error States
AC-7: Save Fails Due to Network Error
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
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
Non-Functional Criteria
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]
Notes
- 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.