Email content authoring

In Adobe Marketo Optimizer, the email design space provides a visual canvas where marketers compose email. The email design tools in the left and top panels (structures, content components, templates, fragments, and more) support building from scratch with drag and drop. You can also choose to start from a template, paste raw HTML, or assemble messages from reusable visual fragments.

IMPORTANT
For administrator setup of subdomains, authentication, IP pools, and email channel configurations, see Email deliverability and Email channel configuration.

In Marketo Optimizer, every email is associated with a Send Email action within a person journey. The full workflow from journey design to email definition happens in one continuous experience. When you add a Send Email node to a person journey, click Create email to start the process. First you define the Actions and content settings for the email. Click Edit email body to launch the email content design space, where you can choose how you want to design your email from the following options:

  • Design your email from scratch using the visual design interface. Build the email layout component by component using drag-and-drop on a blank canvas. This method is best for creating new templates or one-off emails.

  • Import existing HTML content into the code editor or work side-by-side with the visual canvas.

  • Select an existing template from a list of built-in or custom email templates. This method is best for repeatable email use cases.

Create your email page {width="800" modal="regular"}

Email design tools email-design-tools

  • Top toolbar: Save, Back, Switch to code editor, preview controls.
  • Left panel: Structures (column layouts), Contents (text, button, image, divider, social, HTML), Fragments, Templates, Navigation tree (DOM-style hierarchy of the email).
  • Center canvas: WYSIWYG editor with desktop and mobile preview.
  • Right panel: Settings and styles for the currently selected component, including content properties, background, border, padding, and personalization.

Email design best practices design-best-practices

Following HTML and CSS best practices helps ensure consistent rendering across email clients.

Approach
Guidance
Recommended
Static, table-based layouts · HTML tables and nested tables · Template widths of 600–800 px · Simple inline CSS · Web-safe fonts
Use with care
Background images (limited client support) · Custom web fonts (always define a fallback font) · Layouts wider than 800 px · Image maps
Avoid
JavaScript, iframes, or Flash · Embedded audio or video · HTML forms · Div-based layouts
NOTE
Email content must also meet applicable digital accessibility requirements. Structure headings logically, provide alt text for all images, and verify color contrast in both light and dark modes.

Design your email from scratch design-from-scratch

Use the visual content design space to define the structure and content of the email. By adding and moving structural components with simple drag-and-drop actions, you can design the layout and organization of the email content within seconds.

  1. From the Design your email page, select the Design from scratch option.

When you are satisfied with the content, click Save.

Import existing HTML content import-html-content

Imported content can be:

  • An HTML file with an incorporated style sheet

  • A .zip file that includes an HTML file, the style sheet (.css), and images

    note
    NOTE
    There are no constraints on the .zip file structure. However, references must be relative and fit with the tree structure of the .zip folder. The images are always uploaded to the assets repository.

To import a file containing HTML content:

  1. From the design home page, select the Import HTML option.

  2. Drag and drop the HTML or .zip file containing your HTML content and click Import.

import html content in a zip file {width="500"}

NOTE
Using a <table> tag as the first layer in an HTML file can cause style loss, including background and width settings in the top layer tag.

You can personalize the imported content as needed with the visual email editor tools.

Select a template templates

When you open the email design space, use the Select design template section to start from a built-in sample template or a saved custom template. See Use a template in an email for the full workflow.

NOTE
Saved templates can have governance (content locking) settings applied to one or more components. The visual design space provides guidelines about locked components when you author an email from a governed template.

Add structure and content structure-content

Use the visual email editor to build out your email message. Add a preheader, structure the layout with columns and dividers, then populate those structures with content components such as images, buttons, and text. You can also apply custom CSS for advanced styling and preview how the design renders in dark mode.

Set the preheader preheader

The preheader is the snippet of text shown after the subject line in inbox previews. In Marketo Optimizer, the preheader is configured on the visual canvas in the email design space — not on the email properties screen alongside the subject line.

With the Body selected in the left navigation tree, open the Settings panel on the right.

Click in the Preheader text region and enter your preheader copy. Click the Add personalization ( Add personalization icon ) icon to apply formatting and personalization tokens as needed using the rich-text controls.

TIP
Keep your preheader between 40 and 100 characters. It should complement the subject line (not repeat it) and give the recipient an extra reason to open the email.

Dark mode dark-mode

Dark mode rendering is supported via CSS prefers-color-scheme media queries. The email design tools include a dark mode preview and options to define custom styling for supporting email clients — helping you validate that text remains readable, logos are visible, and brand colors hold up against dark backgrounds.

For detailed guidance on previewing, configuring custom dark mode settings, email client support, and testing best practices, see Dark mode for email content.

Add structure and content components components

Build your email layout by adding structure components and content components to the canvas.

Drag items from the Structures and Contents sections in the left panel, then configure each component in the Settings and Styles tabs on the right.

Add custom CSS custom-css

You can add custom CSS directly in the email design space for advanced styling beyond standard component settings. It is a best practice to add this highest-level styling before you include content components, such as images, buttons, and text.

See Add custom CSS for your content for steps, syntax rules, and troubleshooting.

NOTE
If your email message is designed using a template with locked content, you cannot add custom CSS to your content. The button label changes to View custom CSS and any custom CSS already present in the content is read-only.

Add fragments visual-fragments

A visual fragment is a reusable design component that can be referenced by multiple content assets across Marketo Optimizer. It is usually a block of content that can be pre-created and quickly inserted to make authoring quicker and more consistent.

The following example outlines steps to add fragments as you author your content.

  1. To open the fragments listing, select the Fragments icon ( Fragments icon ).

    You can:

    • Sort the listing.
    • Browse, search, or filter the listing.
    • Switch between thumbnail and list views.
    • Refresh the list to reflect any of the recently created fragments.

    Select a fragment from the list {width="700" modal="regular"}

  2. Drag and drop any of the fragments into the structural component.

    The editor renders the fragment within the section/element of the email structure.

    The content of the fragment is dynamically updated within the structure to preview how the fragment renders in your email.

After the email is saved, it appears in the fragment details page when you select the Used By tab in the summary.

Add image assets insert-image

When Marketo Optimizer is provisioned, the existing Marketo Design Studio assets are available in the email design space. You can browse and insert these images into your emails directly from the asset picker.

IMPORTANT
Asset availability in Marketo Optimizer is based on a one-time copy of your assets from Marketo Design Studio. Modifying assets in Marketo Engage after the initial copy is not reflected in Marketo Optimizer. You can also upload image assets directly from the visual design space or the Assets library.

Supported image file types:

  • Fully supported (visible in picker, embeddable inline): JPG, PNG, GIF, WebP.
  • Accessible with caveat: SVG (with a warning that some email clients do not render SVG).
  • Not supported in this Beta release: TIFF, PDF, DOCX, XLSX, PPTX, CSS, JS, HTML, TXT, binary files, PSD, AI, INDD.

In the visual content design space, select the Assets ( Assets icon ) icon in the left navigation bar. From the asset selector, you can directly select assets stored in the Assets library.

  • Add a new asset by dragging and dropping the image asset into a structure component.

    Drag an internal asset onto the canvas and adjust the settings {width="800" modal="regular"}

  • Replace an existing image asset by selecting it on the canvas and clicking Select Asset in the image source tools.

    Select an asset from the source library {width="600" modal="regular"}

For more information about using assets, see Use assets for content authoring.

Use the navigation tree to select components and columns, then adjust their settings and styles in the right panel. See Navigation tree.

Personalize content personalize-content

Marketo Optimizer uses Handlebars syntax for personalization. Tokens are replaced at send time with values from each recipient’s profile data. There are multiple places where you can use personalization in an email:

  • Subject line — most common personalization point.
  • Preheader — set inside the visual canvas; supports profile attribute tokens.
  • Email body text — first names and other profile attributes inserted inline.
  • Button URLs — append per-recipient parameters.
NOTE
Only profile attributes are available in the Personalization Editor in this Beta release.

To add personalization:

  1. In the email design space (or on the email properties page for the subject line), click the field where you want to insert a token.
  2. Click the Personalize ( Personalize icon ) icon to use a personalization token.
  3. In the personalization dialog, browse the schema tree on the left. Profile attributes (first name, last name, email, job title, and other profile fields) are listed.
  4. Select an attribute. The editor inserts the corresponding Handlebars expression — for example, {{profile.firstName}}.
  5. Add a fallback value to handle missing data: {{profile.firstName | default: "there"}}.
  6. Click Confirm or Insert. The expression appears inline in the field.
Common personalization patterns {#personalization-patterns}

Use Handlebars expressions such as the following (personalization uses the same syntax described in Personalize content):

  • {{profile.lastName}} — Insert the recipient’s last name.
  • {{profile.jobTitle}} — Reference the recipient’s job title in body copy.
  • {{profile.firstName}}, ready to take the next step? — Combine token and static text inline.

For a first-name greeting with a fallback when the value is missing, use the default helper as shown in the earlier personalization steps (for example, first name with default "there").

Handlebars helpers {#handlebars-helpers}

Beyond default, the personalization editor includes built-in Handlebars helpers for conditional logic, text transformation, and date formatting. Use the editor’s function browser to explore available helpers and insert them with the correct syntax.

note tip
TIP
In the email design space, type {{ directly in any text field to trigger an inline autocomplete dropdown listing available profile attributes — no need to open the full personalization dialog for quick insertions.
AI-assisted expressions {#ai-personalization}
The Coworker in the personalization editor can generate Handlebars expressions from a plain-language description, explain what an existing expression does, and identify potential issues. Use it to accelerate expression authoring, especially for conditional logic or date-formatting helpers.

For details about expression editor tools and syntax, see Personalization expressions.

Edit linked URL tracking preview-and-edit-linked-urls

The link tracking panel provides a centralized view where you can easily locate each URL in the content. Click the Links icon ( Show links icon ) on the left to display all the linked URLs in your content. These are the links within text, button, or image components.

To define tracking for a listed content link, click the Edit ( Edit icon ) icon and modify the Tracking Type or Label.

Check and test the email check-and-test-the-email

Use the desktop and mobile preview controls in the email design space toolbar to review your email layout before saving. Switch to dark mode preview to validate readability and contrast (see Dark mode for email content).

Test profiles, Simulate content, and send proof workflows are not available in this Beta release. See Current limitations in the email channel overview.

Review Validating email content for content alerts you must resolve before journey activation.

Validating email content validation

Before your journey can be activated, the email content must be valid. Marketo Optimizer surfaces content-level alerts on the email and on the journey canvas. This section covers the alerts you may see and how to resolve them.

Common content alerts content-alerts

Alert
What it means
How to resolve
Subject line is missing
The Subject line field is empty.
Open the email and enter a subject line on the Content tab. Personalization tokens are allowed but the field cannot be empty.
Email body is empty
The canvas in the email design space has no content.
Click Edit email body to open the email design space. Drag at least one Structure and one Content component onto the canvas, then click Save.
Channel configuration not selected
No email channel configuration has been chosen for the email node.
On the Actions tab, select an Active Email channel configuration.
Channel configuration deleted
The previously selected channel configuration has been deleted or is no longer Active.
On the Actions tab, select another Active Email channel configuration. If none are available, an administrator must create or reactivate one in Email channel configuration.
Email size exceeds 100 KB
Total email size (HTML, inline CSS, encoded content) is larger than the 100 KB ISP best-practice cap.
Reduce the email size: replace large inline images with externally-hosted images from Marketo Design Studio, remove unused inline CSS, simplify nested structures.
Unresolved personalization token
A Handlebars token references a profile attribute with no fallback, and the attribute may be missing for some recipients.
Add a fallback using the Handlebars default helper as described in Personalize content. Alternatively, restrict the journey audience to profiles where the attribute is guaranteed.
Image not loaded
An image component references an asset that is no longer available.
Click the image, open the asset picker, and re-select the asset from the Assets library.
recommendation-more-help
marketo-optimizer-help-user-guide