Guide

How can marketers edit custom HTML email templates without breaking them?

Lock the structure and open only the content. The parts that change become fields, and the rest of the HTML stays as the developer wrote it. Modular Mail does this with one attribute, data-mm, on your own template, and exports the finished email as HTML for Salesforce Marketing Cloud, Braze, Marketo or whichever platform sends it. Mailchimp, Marketo, Marketing Cloud and Klaviyo each have their own edit tags for the same job, and builders such as Stripo and RGE Studio (formerly Beefree) will import the file and rebuild it. This page compares the four ways to do it, with what each one costs you.

Updated 3 November 2026.

The problem

Why a custom HTML template is either locked or fragile

An ESP's editor can do one of two things with a coded template, and both leave the design in a developer's hands.

The first is to treat the file as code. Marketing Cloud's Paste HTML route, Braze's HTML editor and Klaviyo's HTML templates all do this by default: the email looks exactly as it was built, and every change goes through someone who can read a table layout without flinching. The Monday send waits for the developer, and the developer stops building anything new.

The second is to import the file into a visual builder. Stripo, RGE Studio and Chamaileon will all take an HTML file, and all three rebuild it in their own blocks. Stripo's help centre says that after import, layout and structure changes "must be made directly in the HTML code". The email is editable now, but it's the builder's email, and the next time your developer fixes an Outlook bug in the original, the two drift apart.

What teams actually want sits between the two: the developer's HTML, untouched, with a form on top of it. Most ESPs have a partial version of this in their edit tags, and that's where the comparison starts.

64%

of email teams supplement their ESP with another tool, rising to 76% at large companies. The editor that came with the platform is rarely the whole answer.Really Good Emails survey, nearly 1,700 email professionals, June 2025

The options

Four ways to let marketers edit a coded template

Each one answers the same question differently: where does the template live, and what happens to your HTML when a marketer changes something?

Inside the ESP

01

ESP edit tags

Mark regions with the platform's own syntax, such as mc:edit or a Marketing Cloud slot, and marketers edit those.

Import it

02

A visual builder

Upload the HTML to Stripo or RGE Studio, which rebuilds it in blocks the team can drag and style.

Keep a developer

03

Developer in the loop

The template lives in Git, marketers send copy and images, and a developer builds each send.

Mark it once

04

A CMS for email

One attribute on your HTML turns the changing parts into fields. The code stays as written.

Four ways to make a custom HTML email template editable, compared
ESP edit tagsImport into a visual builderDeveloper in the loopCMS for email (Modular Mail)
Where the template livesIn the ESP, in that ESP's formatIn the builder, as its blocksIn a repository, as HTML or MJMLIn Modular Mail, as your HTML
How a region is markedPlatform syntax: mc:edit, mktoText, data-type="slot", data-klaviyo-regionNothing to mark; the importer decides the blocksVariables or partials in the codedata-mm="name" on the element
What a marketer can changeThe marked regions, usually rich text, images and linksAnything the builder's blocks allow, unless a manager locks rowsNothing directly; they brief the developerThe fields a developer opened: text, rich text, image (from a media library the workspace shares), link, colour, choice, toggle, repeater
What happens to your HTMLStays as written, with the platform's tags addedRebuilt in the builder's blocks; layout changes go back to codeStays as writtenStays as written; values are spliced in at export
Adding a new sectionA developer edits the template in the ESPA designer builds it from blocksA developer writes it and opens a pull requestA developer adds a module; the team sees it once the template is published
Works across ESPsNo, each ESP has its own syntaxYes, by HTML export or the builder's connectorsYes, with per-ESP merge tags handled in the buildYes, by copying or downloading HTML; merge tags pass through as typed
Review and sign-offThe ESP's approvals, where it has themThe builder's comments and rolesPull requests, Slack, screenshotsComments on the email or one part, review requests, approval on record
Who maintains itA developer who knows the ESP's syntaxWhoever owns the builder accountThe engineering teamA developer, once per template change
Fits best whenOne ESP, a developer happy writing its tagsFresh layouts often and nobody writing HTMLAn engineering team already owns emailCustom templates, frequent sends, several ESPs or agency clients

ESP and builder details are from their own documentation, checked 3 November 2026. Modular Mail isn't affiliated with any of them.

Sources: Platform and builder documentation, Mailchimp Template Language, Marketo Email Template Syntax, Marketing Cloud: Add Content to a Paste HTML Template, Klaviyo: How to create a hybrid email template, Stripo: How to import your own design, RGE Studio: HTML emails to editable designs.

ESP edit tags

What each ESP's edit tags actually open

If you send from one platform and your developer is happy to learn its syntax, the native tags are the cheapest route. Here's what each one gives a marketer.

Mailchimp: mc:edit. An attribute on any element makes it an editable area in Mailchimp's classic template builder. Each area's name becomes a field in Mailchimp's database, so names need to stay consistent between templates or copy goes missing. Mailchimp calls custom coding an advanced feature, and the template language belongs to the classic builder rather than the newer one.

Marketo: mktoText, mktoImg and mktoModule.Classes and attributes, all starting with mkto, mark text regions, images, variables and whole modules a marketer can add or remove. They work in the classic editor. Adobe's newer Email Designer rebuilds imported HTML in its own components and has its own content locking, which can lock a structure, a component or just its styles. Our Marketo page has the full syntax guide.

Salesforce Marketing Cloud: content areas.A Paste HTML template takes an empty <div data-type="slot" data-key="…">wherever you'd put a table, with attributes for how many blocks it accepts and which kinds. Marketers drop text, image or free-form blocks into the slot. Each area can be locked so the block inside it can't be changed, and editing the template doesn't change emails already made from it.

Klaviyo: data-klaviyo-region. A hybrid template keeps your HTML intact and adds a pasted snippet, a table cell with the attribute, wherever a marketer should be able to drop blocks. One snippet makes one region. Klaviyo's own advice is that custom HTML suits technically savvy marketers or teams with a developer on hand.

Braze: Content Blocks. Braze's HTML editor has no region tags. The reusable unit is a Content Block, built in HTML or in the drag-and-drop editor and inserted into a message with a Liquid tag; updating the block updates every message that includes it by Liquid. A custom HTML template is otherwise edited as code, or rebuilt in the drag-and-drop editor.

The common limit is the one in the name: every set of tags is that ESP's. Move platform, or add one, and the template is marked up again.

Sources: Platform documentation, Mailchimp Template Language, Marketo Email Template Syntax, Marketo Email Designer content locking, Marketing Cloud: Add Content to a Paste HTML Template, Marketing Cloud: Lock a Content Area, Klaviyo: How to create a hybrid email template, Braze Content Blocks.

Locking

A locked template is one where the editable parts are listed, and everything else isn't on the list.

Every ESP and builder offers some version of this. Marketing Cloud locks a content area, Marketo's Email Designer locks a structure or a component, RGE Studio's Manager role locks rows, and Stripo's roles can limit someone to text. They all start from an open template and close parts of it. A CMS for email starts the other way round: the template is closed, and a developer opens fields.

Locked in the template

The layout, the fonts, the colours a developer didn't open, the Outlook fixes, the spacing, the order of elements inside a module. None of it can be reached from the form.

Open as fields

A headline with a character limit. Body text with bold, italic, lists and links and nothing else. An image from the media library, with alt text. A button's label and link. A colour from an approved list. A section that can be switched off.

Field rules do the rest of the locking. A text field can be required and capped at a length, so a 40-character headline can't become a paragraph. A choice field offers the three button colours the brand allows and no colour picker. A toggle removes a section cleanly instead of leaving an empty row. Marketers can still drag modules into a different order, because order is content. What they can't do is break the module.

With Modular Mail

How a coded template becomes editable in Modular Mail

Setup is done once, by us, your agency or your developer. After that the template is the team's to use.

  1. Developer

    01

    Mark the HTML

    Add data-mm="headline" to the elements that change. Nothing else in the file is touched.

  2. Developer

    02

    Set up the fields

    In the form builder, give each marker a label, a type and its rules: required, a limit, approved options.

  3. Marketer

    03

    Build, review, export

    Pick modules, fill in fields, send a test, get approval and copy the HTML into your ESP.

Modular Mail doesn't send campaigns, doesn't push to your ESP by API and keeps no version history. You copy or download the HTML, and the ESP does the rest.

What your team gets

  • Your HTML, exported as written, with personalisation strings such as %%FirstName%% or {{${first_name}}} passing through as typed
  • Fields with limits, required flags and approved options
  • Comments on the whole email or one module, review requests and approval on record
  • Test sends to up to 10 addresses from the editor
  • Reviewer seats for clients and stakeholders who comment and approve but never edit
  • Clean HTML for Salesforce Marketing Cloud, Braze, Marketo, Klaviyo, HubSpot or any ESP that accepts it
FAQ

Questions about editing HTML email templates

Something else? Ask us on a demo

Is there a no-code HTML email editor that imports custom HTML?

Yes, several, and they work in one of two ways. Stripo, RGE Studio (formerly Beefree) and Chamaileon import the file and rebuild it in their own blocks, so it's editable but no longer your HTML. Modular Mail keeps the HTML as written and turns the parts a developer marks into fields. Which is right depends on whether you want the design to live in the builder or in your code. Email CMS vs email builders

How do I lock an email template so marketers can only change the content?

Choose where the editable parts are declared. In an ESP, mark regions with its tags and lock the rest: content areas in Marketing Cloud, content locking in Marketo's Email Designer. In a CMS for email, mark the editable elements with data-mm and everything unmarked is locked by default, with limits and approved options on each field. See how a template is set up

Do ESP edit tags work across platforms?

No. mc:edit is Mailchimp's, mktoText is Marketo's, content areas are Marketing Cloud's and data-klaviyo-region is Klaviyo's. A template marked for one has to be marked again for another, which is the reason teams on two platforms, or agencies with clients on several, mark the template once outside the ESP. Modular Mail for agencies

Does importing HTML into Stripo or Beefree change the code?

Both rebuild the file in their editor's blocks. Stripo's help centre says that for an imported template, layout and structure changes still have to be made in the HTML. RGE Studio describes its importer as auto-converting the file into its drag-and-drop builder. Neither is a flaw if you plan to design in the builder from then on; it's a problem if your developer maintains the original.

Does Modular Mail rewrite our HTML?

No. The template is stored as your HTML with data-mm attributes on the editable elements. At export, the compiler copies the file as written and splices the marketer's values into the marked elements by position, then removes the attributes. An element with no marker can't be changed from the editor. What is an email CMS?

What can a marketer change in a field?

What the field's type allows. Text takes plain text with an optional limit; rich text takes paragraphs, bold, italic, lists and links; image takes a picture from the workspace's media library, or a URL, plus alt text; link takes a label and a URL; colour and choice take the options a developer approved; a toggle switches a section off; a repeater adds items up to a maximum. Fields open beside the preview, and the preview updates as you type.

Do merge tags and personalisation survive the export?

Yes. Anything typed into a field exports as written, so %%FirstName%%, {{${first_name}}}, {{lead.First Name}} or *|FNAME|* reach the ESP intact and are filled in at send time. Conditional logic and dynamic content blocks are added in the ESP after you paste the HTML in.

How long does setup take?

Most teams are live within one to two weeks. Marking an existing template is the quick part; most of the time goes on deciding which parts should be fields and which rules each one needs. We, your agency or your developer can do it. Book a demo and we'll mark up one of your emails first

Can we try it without an account?

Yes. Every template in our library opens in the editor with no sign-up, so you can fill in fields, reorder modules and export the HTML before you talk to anyone. Open a template

Send us the template that keeps breaking.

We'll mark it up with data-mm before the call, so you can see your own email with fields beside it and judge the approach on your design rather than ours.