MAPsfmcmarketing-cloudampscriptmarketing-automation

How to use Draftship with Salesforce Marketing Cloud

Drop a Draftship export into Content Builder, wire AMPscript personalization onto your data extension, and pick the right sender profile so your email leaves Marketing Cloud without IP authentication errors.

HTML import path
code editor
Merge syntax
%%FirstName%% (AMPscript) or {{FirstName}} (Handlebars)
Image hosting
platform CDN
Best for
Enterprise teams with data extensions, journey builder, and multi-business-unit setups.
Watch out for
Content Builder rewrites pasted HTML if you accidentally use the drag-drop layout. Always use Code View.

Salesforce Marketing Cloud (SFMC) is the most flexible enterprise marketing platform on the list and the easiest one to misconfigure on send. The flexibility comes from AMPscript, a server-side templating language that runs at send time against any data extension you can write a SQL query against. The misconfigurations come from the same place: AMPscript errors don't stop the send, they just leave broken markup in inboxes.

If you've designed in Draftship, the path through SFMC is straightforward as long as you stay in Content Builder's code editor and keep AMPscript additions thin.

Where SFMC accepts pasted HTML

In Email Studio, navigate to Content Builder → Create → Email Message → Code View. Paste the Draftship export. Save. The code view is the only place that respects your HTML byte-for-byte. The drag-drop layout will rewrap your tables in their grid and break VML.

STEP 1Design inDraftshipBlock editorSTEP 2ExportOutlook-safe HTMLCmd+ESTEP 3Content BuilderCode ViewEmail StudioSTEP 4Add AMPscriptblocksPersonalization, linksSTEP 5Pick senderprofile and sendEmail > SendSalesforce Marketing Cloud handoff
Draftship to SFMC Content Builder handoff

Personalization syntax in SFMC

SFMC supports four personalization layers. Pick one and stick with it; mixing them in one template is how you get broken merges.

LayerExampleWhen to use
Substitution strings%%FirstName%%Subscriber attributes only. Cheap.
AMPscript%%[ var @first = AttributeValue("FirstName") ]%%Data extension lookups, conditional logic.
Handlebars (transactional){{FirstName}}Used by the REST API for transactional sends.
GTL (Guide Template Language){{name}}Newer JSON-based templating, less common.

For most Draftship-to-SFMC handoffs, you'll use AMPscript at the top of the email and substitution strings inline. Map Draftship variables like this:

DraftshipSFMC AMPscript
{{ first_name }}%%FirstName%% (with default via AMPscript)
{{ last_name }}%%LastName%%
{{ email }}%%emailaddr%%
Unsubscribe link%%unsub_center_url%%
View online%%view_email_url%%

Set the default at the top of the email body:

html
%%[ var @first set @first = AttributeValue("FirstName") if Empty(@first) then set @first = "there" endif ]%% <p>Hi %%=v(@first)=%%,</p>

Image hosting and the CDN URL pattern

Content Builder uploads images to Marketing Cloud's CDN at upload time. The URL pattern looks like https://image.s10.exct.net/lib/.../yourimage.jpg. If you used external image URLs in Draftship, SFMC will not auto-mirror them. Either upload images to Content Builder's library before pasting, or accept that recipients with image-blocking will see your alt text only.

Sender profile, delivery profile, send classification

SFMC requires three profile bindings before you can send a marketing email. Each one is set at the Send level, not the email level:

  • Sender Profile: from-address, from-name, reply-to. You can override per-send.
  • Delivery Profile: which IP pool, which header settings. Most teams use the default.
  • Send Classification: Commercial vs Transactional. Determines whether the unsubscribe footer is required and which CAN-SPAM rules apply.

Mismarking a commercial email as transactional to skip the unsubscribe footer is a CAN-SPAM violation. Don't.

Test send checklist

  • Use Test Send with Render Test enabled to catch AMPscript errors before live send.
  • Run Email size checker on the rendered output to catch Gmail's 102 KB clip threshold.
  • Click every link from the test email; SFMC's link wrapping for tracking can mangle malformed hrefs.
  • Verify the unsubscribe link resolves to your subscriber preference center, not a 404.

When to use SFMC's drag-drop instead

If your team uses Content Builder's drag-drop heavily and treats your Draftship work as a one-off, accept the rendering tradeoffs and rebuild the structure in their builder. If you ship the email once and care about Outlook fidelity, the code view path here is the right call.

For technical context on AMPscript and tokens generally, see Email merge tag fallbacks.

FAQ

Frequently asked questions

Can I send a Draftship-built email through SFMC's Journey Builder?
Yes. After saving the email in Content Builder, drop it into a Journey activity. The journey resolves AMPscript at send time against the entry-source data extension.
Do I need AMPscript for simple personalization?
No. Substitution strings like %%FirstName%% work for any subscriber attribute without AMPscript. Use AMPscript only when you need defaults, conditionals, or data extension lookups.
Why does my email render with literal AMPscript in inbox?
Either the AMPscript block has a syntax error or the email was sent through a path that doesn't resolve AMPscript (like a triggered send with the wrong content type). Check the Send Preview render test before scheduling.
Where do I add UTM parameters in SFMC?
Either bake them into hrefs in Draftship before export, or use SFMC's tracking parameter feature in the Email Send Definition. The latter respects existing UTMs without duplicating them.
How big can a Marketing Cloud email be?
Technically over 200 KB, but Gmail still clips at 102 KB. Use the size checker before scheduling regardless of SFMC's limits.
Try it yourself

Design in Draftship. Paste into Salesforce Marketing Cloud.