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 autumn edit is here
Waxed jackets, wool layers and trail boots for the wet months.
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
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
Import it
Keep a developer
Mark it once
| ESP edit tags | Import into a visual builder | Developer in the loop | CMS for email (Modular Mail) | |
|---|---|---|---|---|
| Where the template lives | In the ESP, in that ESP's format | In the builder, as its blocks | In a repository, as HTML or MJML | In Modular Mail, as your HTML |
| How a region is marked | Platform syntax: mc:edit, mktoText, data-type="slot", data-klaviyo-region | Nothing to mark; the importer decides the blocks | Variables or partials in the code | data-mm="name" on the element |
| What a marketer can change | The marked regions, usually rich text, images and links | Anything the builder's blocks allow, unless a manager locks rows | Nothing directly; they brief the developer | The fields a developer opened: text, rich text, image (from a media library the workspace shares), link, colour, choice, toggle, repeater |
| What happens to your HTML | Stays as written, with the platform's tags added | Rebuilt in the builder's blocks; layout changes go back to code | Stays as written | Stays as written; values are spliced in at export |
| Adding a new section | A developer edits the template in the ESP | A designer builds it from blocks | A developer writes it and opens a pull request | A developer adds a module; the team sees it once the template is published |
| Works across ESPs | No, each ESP has its own syntax | Yes, by HTML export or the builder's connectors | Yes, with per-ESP merge tags handled in the build | Yes, by copying or downloading HTML; merge tags pass through as typed |
| Review and sign-off | The ESP's approvals, where it has them | The builder's comments and roles | Pull requests, Slack, screenshots | Comments on the email or one part, review requests, approval on record |
| Who maintains it | A developer who knows the ESP's syntax | Whoever owns the builder account | The engineering team | A developer, once per template change |
| Fits best when | One ESP, a developer happy writing its tags | Fresh layouts often and nobody writing HTML | An engineering team already owns email | Custom 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.
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.
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.
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.
Developer
Developer
Marketer
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
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.