MAPmarketohtml-emailtokensmarketing-automation

How to use Draftship with Marketo Engage

Marketo's email templates wrap content in mkto-modules to make blocks editable in their UI. Here's how to paste Draftship HTML so you keep render fidelity, optionally add module hints for marketers, and resolve tokens correctly.

HTML import path
template upload
Merge syntax
{{lead.First Name:default=there}}
Image hosting
platform CDN
Best for
B2B teams running nurture programs and Smart Campaigns at scale.
Watch out for
Email Templates without mkto-module wrappers become uneditable in Marketo's UI but still send fine.

Marketo Engage was built for B2B marketers who need programmatic nurture at scale, and its email design system reflects that priority. Templates can be either fully coded (one HTML blob, locked from the UI) or modular (HTML wrapped in mkto-module divs that become editable blocks in their visual editor). Draftship's export is the fully coded version. If you want marketers to tweak text inside Marketo, you'll add a thin layer of module hints. If only you ship the email, you can skip them.

Two paths into Marketo

Go to Design Studio → Email Templates → New Template. Pick HTML, paste your Draftship export. Save. Now go to Email Templates → Approve. Approved templates show up in the new email picker.

STEP 1Design inDraftshipBlock editorSTEP 2ExportOutlook-safe HTMLCmd+ESTEP 3Marketo EmailTemplateDesign Studio > NewSTEP 4Add mkto-modules(optional)for editable blocksSTEP 5Approve and use inprogramSmart CampaignMarketo Engage handoff
Draftship to Marketo email template path

If you don't add module wrappers, marketers opening the email get a single locked region that says "Edit Code" only. That's fine when one person ships, painful when nobody can fix a typo without engineering.

Token mapping

Marketo uses three layers of tokens: lead tokens (recipient data), my tokens (program-level constants), and system tokens (unsubscribe, view-in-browser). Draftship's variables map mostly to lead tokens.

Draftship variableMarketo token
{{ first_name }}{{lead.First Name:default=there}}
{{ last_name }}{{lead.Last Name}}
{{ email }}{{lead.Email Address}}
{{ company }}{{lead.Company Name}}
Unsubscribe link{{system.unsubscribeLink}}
View online{{system.viewAsWebpageLink}}

Note the colon syntax for defaults: {{lead.First Name:default=there}}. Without the default, Marketo renders an empty string for missing values, which leaves you with "Hi ," in the wild.

Optional: making blocks editable in Marketo

Wrap the Draftship sections you want marketers to edit:

html
<div class="mktoText" id="hero-text"> <h1>Headline goes here</h1> <p>Body copy.</p> </div>

Class options Marketo recognizes: mktoText (rich text), mktoImg (replaceable image), mktoSnippet (reusable snippet), mktoContainer (groups other modules). Each module needs a unique id. Once approved, marketers see them as editable blocks in the visual editor without seeing the raw HTML.

Sender, send-from, and the operational email type

Before your email can actually leave Marketo, you need:

  • A sender identity, not just a from-address. Set this in Admin → Email.
  • A decision: is this an operational email (skips unsubscribe rules) or a marketing email (respects unsubscribe). Operational is for password resets, receipts, and similar. Don't mark a campaign operational to bypass opt-outs; CASL and CAN-SPAM both prosecute that.
  • A subject line with at least one token if you want preview personalization in Marketo's UI.

Test send checklist

  • Use Send Sample with a real lead, not a test lead, to catch token resolution failures.
  • Pull the rendered HTML from the sample's preview and run it through the email size checker.
  • Confirm the operational checkbox state matches your intent.
  • Verify the program's Smart Campaign actually qualifies recipients before scheduling.

When to keep the email in Draftship vs build it in Marketo

If your email is a one-time campaign or part of a system you control end-to-end, Draftship plus Marketo's HTML template is faster and renders better. If your email is part of a long-running nurture where multiple marketers will tweak copy weekly, give in and add the mkto-module wrappers. The 30 minutes spent wrapping pays back the first time someone needs to fix a typo without a deploy.

For more on token defaults and fallback values, see Email merge tag fallbacks.

FAQ

Frequently asked questions

Will Marketo's editor break my Draftship HTML?
Only if you wrap blocks in mkto-module classes and a marketer edits inside the visual editor. The unwrapped sections stay byte-for-byte intact. Test the wrapped sections in Marketo's preview after every save.
Can Marketo use my Draftship variables directly?
No. Marketo uses its own token format with the lead. prefix and a colon-default syntax. Draftship's Recipient switcher includes a Marketo preset that runs the substitution on export.
Does Marketo support VML for Outlook buttons?
Yes. Marketo's HTML email pipeline preserves Outlook conditional comments. Draftship's bulletproof button output works without modification.
How do I send to a specific Smart List from a Draftship-built email?
After approving the template, create a new Email Program, drop the email in, and define a Smart Campaign that targets the list. The email content and the audience are decoupled in Marketo.
Why do my tokens render literally as {{lead.First Name}} on send?
Either the lead doesn't have that field populated and you didn't set a default, or the email was set to operational and the token wasn't resolved. Add :default=there to every lead token in your Draftship export.
Try it yourself

Design in Draftship. Paste into Marketo Engage.