Skip to main content
Skip table of contents

Visual Composer

image-20260424-085729.png

For many marketers, it still takes too long to send campaigns, and content production is often the bottleneck. That’s why we’re excited to introduce Visual Composer in the Zeta Marketing Platform (ZMP). It’s our new AI-powered, codeless editor designed to help you generate, personalize, and launch multichannel campaigns faster.


Visual Composer Launchpad

To get started, the Visual Composer launchpad has everything you need to have a fully built email template within a few seconds. You can access this page in three ways:

1. In the main ZMP navigation, find Content > Visual Composer

2. On the Email Templates page, click the button New Template > Visual Composer

3. On a Campaign edit page, click Add/Edit Content > Build in Visual Composer

The Visual Composer launchpad is a mix of AI generation, inspiration, and—if needed—blank canvas creation. Each of these methods will result in a new email template in the Visual Composer, where every change is recorded and auto-saved.

New Template Method

Steps

Outcome

AI Generation Powered by Athena

Using your keyboard or voice interaction, enter your instructions in the prompt bar at the top of the Visual Composer launchpad.

Athena will get to work on generating an on-brand email template using your brand’s logo and assets. You will see the elements load as they’re generated.

Campaign Inspiration

Below the prompt bar, you will see up to 5 tiles of campaign inspiration ideas that are refreshed seasonally. Click on one of them to begin generating a template with your brand in mind.

Athena will get to work on generating an on-brand email template using the theme of the campaign inspiration tile. You will see the elements load as they’re generated.

Blank Canvas

Click New Blank Canvas on the Visual Composer launchpad.

The page will open to a brand new email template with a blank canvas so you can start from scratch completely. All Athena tools and template building blocks are still available to you.

image-20260420-185653.png
image-20260420-185736.png
image-20260420-185745.png

Converting Existing Templates to Visual Composer

For users with existing templates and campaigns created in Visual Editor and HTML Editor, you can open these items in Visual Composer as a simple, one-time conversion. This is not a reversible action, so if you need to keep the original templates for reference, you can simply duplicate the campaign or template and convert the copy to Visual Composer so you have the same content in two editor types.

1. On the Email Templates page, click the menu and find Edit in Visual Composer.

image-20260420-190516.png

2. Clicking on Edit in Visual Composer will launch a confirmation modal. You cannot convert the template back to the previous editor.

image-20260420-190602.png

3. Clicking OK will open the template in Visual Composer, where you will have the full power of Athena directly in your workflow without having to rebuild your content.

image-20260420-190736.png

4. For Campaigns, you can convert an existing messaging template to Visual Composer by clicking the content thumbnail and selecting Edit in Visual Composer to initiate the same process as above.

image-20260420-191043.png

Context Center for Visual Composer

Access to Context Center is currently limited to super users in an account.

When generating templates in Visual Composer, Athena uses Context Center to learn about your brand and ensure templates are generated using the correct brand context for the active account (it doesn’t connect with the family of accounts). By default, your Brand Name and Brand Website are pulled from the name and website listed in the account settings. You can further customize your brand context by adding a Brand Mission and selecting a Brand Reference from your current template library to use as a base layout for all generated templates. Any template in the account—regardless of editor—can be used as a reference template.

Account super users can control these four inputs for Visual Composer by navigating to Settings > Context Center.

image-20260420-185224.png

Building in Visual Composer

Visual Composer provides standard codeless content blocks to build your email.

Actions Toolbar

When a row or content element is selected, the actions toolbar will transform to instead display the settings for the selected block. To unselect a row or element, click it again.

Consistent across builder interfaces in the ZMP, the actions toolbar is your all-in-one companion to building out your template. It contains both new features, like Code Mode and commenting, plus trusted features from existing editors, like version history and export HTML.

Toolbar Item

What It Does

Visual/Code Mode Switcher

Changes the canvas from fully visual to a view of the raw HTML that you can edit directly. Unlike Visual Editor, you have view and edit access to all parts of the HTML, including the <head> section.

Collaborators

A list of icons to denote all users currently viewing the template. Hover on each icon to view the name of your teammate.

Add Comment

Allows you to place a comment anywhere on the canvas.

> Canvas Size > Desktop/Tablet/Mobile

Select the device size for the canvas

> Show/Hide > Grid Lines, Dynamic Content, Comments

Show or hide grid lines, dynamic content, and comments on the canvas.

  • Grid lines display all content blocks, rows, and elements for easier selection.

  • Dynamic content will always use sample placeholders instead of code, but you can choose to show or hide the highlighted styling (yellow for valid tags; red for invalid tags) for a more natural view.

  • Comments on the canvas can be shown or hidden if you need to display the canvas without losing the comments.

> Undo/Redo

Undo and redo changes to the canvas. You can also use your operating system’s standard keyboard commands.

> Export HTML

Export the raw HTML via clipboard or download. You can optionally minify the HTML prior to export.

> Version History

See a full timeline of changes to the canvas to view, compare, or restore older versions. Visual Composer uses auto-save, so these changes use timestamps to the second.

> Clear Canvas

Clear the canvas completely to start over from scratch. You can undo this or restore an older version from version history.

Preview

Click the eye icon to preview your template or campaign.

image-20260420-195122.png

Rows

Rows are used to define the general structure of your email, help break up the template, and enhance the flexibility of settings that need to be set for specific parts of the email. You can reorder rows by dragging and dropping them into place on the canvas.

Rows allow up to three columns of content, and in mobile, these columns always stack left above right. Stacking can optionally be disabled, but this may lead to undesirable rendering. Additional row properties are available by clicking on the row outside of the highlighted content area.

When you select a row, the actions toolbar changes to reflect the available actions for a row.

  • Select Parent

  • Duplicate

  • Delete

  • Edit Settings

1. Click Rows, then drag your preferred row size onto the canvas.

image-20260420-201525.png

2. Open the settings by clicking the pencil icon in the row-specific actions toolbar. Here, you can optionally set columns, size, colors, alignment, and mobile behavior. You can also add customization to classes, such as naming. If you can’t find the row right away, open the layers tree, turn on the grid lines, or click the up arrow to find your parent row.

image-20260420-201741.png

3. Add your elements in their respective columns by clicking Elements and dragging your preferred block into the column.

image-20260420-202253.png

4. To create a snippet from the row, click the + button at the end of the actions toolbar. You will be prompted to name the snippet, and it can be used via a merge tag in other templates and snippets.

image-20260508-175534.png

5. Once saved, the + button will be replaced by an info icon to display the newly created snippet’s metadata. You can edit the snippet as a standalone entity by navigating to the Snippets page and opening it in the Visual Composer snippet mode.

image-20260508-180417.png

Content Elements

To add a content block to your email, click Elements and drag the content element into the appropriate row. To see further options for the content block, click on the pencil icon in the actions toolbar.

When you select a content element, the actions toolbar changes to reflect the available actions for an element. Some elements have more options than these 4 and will be denoted in the table below.

  • Select Parent

  • Duplicate

  • Delete

  • Edit Settings

Each row and content element has an optional classes setting to help you organize your raw HTML and CSS better.

List of Visual Composer Content Elements

Content Type

Details

Button

This content element is a stylized button to add a CTA to a template. The codeless settings include:

  • Width and Height

    • If the auto button is selected, Width and Height will appear blank, and the width will fit the parent element’s width

  • Alignment

  • Margin and Padding

  • Background, text, and border color

  • Border styling

  • Button Text

  • Target URL

  • Open in New Tab

  • By default, the class is defined as a button

Text

This content element is formatted text. Unlike other content elements, its settings don’t live in the Edit icon of the actions toolbar but rather in an in-line editing toolbar.

The codeless settings of the in-line toolbar include:

  • Bold, Italic, Underline, Strikethrough

  • Hyperlink

  • Wrap for Style

  • Font and highlight color

  • H1, H2, H3, paragraph styles

  • Clear formatting

  • Indent and unindent

  • Ordered and unordered lists

  • Left, center, justify, and right alignment

  • Code text

  • Insert horizontal line

  • Dynamic content

When you click on the text element without editing the copy, you can click on the Athena button to open a thread to guide text generation.

Text Section

This content element is made up of two text elements (one H1 and one paragraph style). Each element is independent and, when clicked, can use all of the settings listed in the Text element above.

Image

This content element is an image block. Its primary settings live in its version of the actions toolbar:

  • Clicking the Athena button will open a thread to guide image generation

  • Clicking the image icon will allow you to select an image from the Asset Library or add an image via a hosted URL. You can also use a merge tag in the URL field to point to a resource or media asset.

    • Double-clicking the image on the canvas will open the Asset Library directly

  • The Select Parent, Duplicate, Delete, and Edit buttons in the actions toolbar work the same as any other content element or row.

The codeless settings include:

  • Width and Height

    • If the auto button is selected, Width and Height will appear blank, and the width will fit the parent element’s width

  • Alignment

  • Margin and Padding

  • Background and border color

  • Border styling

  • Alt text

  • Mark as decorative

  • By default, the class is defined as gjs-selected

Link

This content element is a stylized hyperlink. The codeless settings include:

  • Text

  • Alignment

  • Margin and Padding

  • Background, text, and border color

  • Border styling

  • Action

  • Target URL

  • Open in New Tab

Link Block

This content element can be used behind non-text elements like images to transform them into clickable links. The codeless settings include:

  • Width and Height

    • If the auto button is selected, Width and Height will appear blank, and the width will fit the parent element’s width

  • Alignment

  • Margin and Padding

  • Background and border color

  • Border styling

  • Action

  • Target URL

  • Open in New Tab

  • By default, the class is defined as a link-block

Grid Items

This content element adds two side-by-side grid items with image, title, and text blocks. When clicked, each of these items will use the settings associated with that content element type (eg, the image block can use Athena to generate images).

The codeless settings include:

  • Width and Height

    • If the auto button is selected, Width and Height will appear blank, and the width will fit the parent element’s width

  • # of Columns

  • # of Rows

  • Alignment

  • Margin and Padding

  • Background color

  • Border color

  • Border styling

  • By default, the class is defined as grid-item-row

List Items

This content element adds two stacked list items with an image, a title, and text blocks. When clicked, each of these items will use the settings associated with that content element type (eg, the image block can use Athena to generate images).

The codeless settings include:

  • Width and Height

    • If the auto button is selected, Width and Height will appear blank, and the width will fit the parent element’s width

  • # of Rows

  • Alignment

  • Margin and Padding

  • Background color

  • Border color

  • Border styling

  • By default, the class is defined as list-item-row

Divider

This content element is used to add a line divider or negative space to content for better visual organization.

The codeless settings include:

  • Width and Height

    • If the auto button is selected, Width and Height will appear blank, and the width will fit the parent element’s width

  • Horizontal or Vertical

  • Transparent or Visible

  • Solid, Dashed, Dotted, Double, Groove, Ridge

  • Set the color

  • Set the thickness

  • By default, the class is defined as a divider

Dynamic Content

This content element is used for writing custom ZML and HTML. When added to the canvas, the default elements consist of dynamic content and text. Once added to the canvas, you will be able to use the codeless controls for profile and contact properties, as well as the standard text element customization options.

For more technical use cases, clicking on the Dynamic Content Placeholder and then its Edit button will open a code snippet where you can code ZML or HTML. If a merge tag is detected, it will be highlighted in either yellow (valid tag and syntax) or red (invalid tag or syntax) while displaying a placeholder if there’s an output.

Product Recommendations

This content element is a template block that pulls data from Resource Groups and allows you to codelessly customize a small subsection of elements. Click the palette icon on each value to set a character limit for truncation.

  • Headline

  • Image

  • Short description

  • Button link

  • Horizontal or vertical

  • Number of recommendations returned

If you don’t want to use Resource Groups, you can instead customize the returned resources based on:

  • Resource filters

  • Event filters

  • Static keywords


Layers

With many tables, rows, and divs, it can be difficult to get a view of lineage from the canvas itself. The Layers button on the side panel allows you to see a full tree of nested elements. This clickable tree can help you navigate the canvas as well as reorder rows if needed. You can also reorder by dragging and dropping elements on the canvas itself.

image-20260420-205714.png

Snippets

Learn more about snippets: Content Snippets

As with previous editors, there are two ways to add snippets to the canvas in Visual Composer:

  • Reference - dropping a merge tag directly onto the canvas

  • Content - dropping the content of the snippet directly onto the canvas.

1. Click Snippets on the side panel. This list contains all snippets in the account.

image-20260420-210658.png

2. When you find your snippet, dragging it onto the canvas will insert a merge tag (reference). If you’d prefer to use the content only, change the selection on the right-hand side of the row first.

image-20260420-210828.png

3. For references, a merge tag will be inserted and its live preview will appear on the canvas with the standard yellow border for dynamic content. Because it’s a merge tag, you cannot edit the content directly. For content, the literal elements will be placed into the template and disconnected from the snippet’s content. Any changes to the parent snippet will not affect the content in the template; only references (merge tags) are controlled remotely.

image-20260508-174743.png

4. To edit a merge tag, double-click on the displayed content or click the edit button when the snippet block is selected. You can then edit the tag to use a different snippet. To delete the snippet entirely, use the delete button in the actions toolbar when the dynamic content is selected. The info icon will display the About This Snippet panel to get the metadata, including the merge tag.

image-20260508-173737.png

To see a list of all campaigns, templates, and snippets where a snippet merge tag is used, visit the snippet and open the About This Snippet panel. Click on References to see a searchable and clickable list.


Settings

To add custom fonts to your account, reach out to your Account Manager.

For template-level settings, click the Settings button on the left-hand navigation to reveal a list of additional options. This only applies to the Email channel.

Settings Item

What It Does

Content area width

Sets the canvas width for the entire template. By default, it’s 600px. You can click the Auto button to instead fit the canvas to the content width.

Content area alignment

The alignment of the content on the canvas:

  • Left

  • Center (default setting)

  • Right

Background color and image

Set the background color and image of the canvas. Set the image by clicking the + Image button and choosing from the Asset Library or a hosted URL. To remove it, click the + Image button again.

If you select a background image, you can further customize:

  • Background size

    • Cover

    • Contain

    • Auto

    • Stretch

  • Background repeat

    • No Repeat

    • Repeat

    • Repeat X

    • Repeat Y

  • Background position

    • Top left

    • Top center

    • Top right

    • Center left

    • Center

    • Center right

    • Bottom left

    • Bottom center

    • Bottom right

Default font

Select the default font family for your email template, including fallbacks. If your account has added custom fonts, they will appear here.

image-20260423-202351.png

Code Mode

Currently, merge tags still can’t be added to the <head> node; they will be sanitized to the top of the <body> section upon saving.

Previously, choosing between HTML Editor and Visual Editor required trading off visual editing for complete control over the raw HTML. Visual Composer removes this question so that you can do both—unlocking use cases for style sheets, class naming, and more.

To switch, click the toggle in the actions toolbar. Any change you make in either direction will be immediately applied.

image-20260420-211622.png

Dynamic Content in Visual Composer

Learn more about Zeta Markup Language (ZML)

Visual Composer was built with seamless codeless personalization in mind. Get your results, whether you know how to code with ZML or not.

Sample Placeholder Data

By default, any dynamic content that’s detected in the Visual Composer will be clearly differentiated in the canvas.

  • Yellow highlight to denote a merge tag (red highlight to denote a tag that doesn’t exist or has a syntax error)

  • Rather than a raw merge tag like {{first_name}}, you will never see code in the Visual Composer canvas. Instead, there will always be sample placeholder data to allow you to better visualize how the data will look when rendered. The random user is cycled every few minutes.

  • Since snippets are unique at the account level, the in-line preview will be consistent with what’s currently saved in the snippet being referenced. It does not cycle to different users, unless the display logic changes.

  • A tag with no direct output like {% assign my_var = variable123 %} will instead be displayed as [Dynamic Content Placeholder]

image-20260423-234302.png

Inserting Dynamic Content

Codeless Blocks

1. When typing in a text block, you can add a dynamic tag either by typing your tag directly (eg, {{first_name}}) or by clicking the lightning bolt icon at the end of the in-line editing toolbar. This will auto-insert {{first_name}} by default, which you can change later.

image-20260420-204238.png

2. Click the highlighted text to open a new panel of settings to customize your merge tag.

image-20260420-204509.png

3. From the dropdown list, choose any of the profile or contact properties set up in the account.

image-20260420-204555.png

4. Further customize with a default value if needed or any of the listed ZML filters, such as upcase, truncation, stripping unnecessary characters, prepend, append, singularize, and pluralize.

image-20260420-204908.png

5. If you’d prefer to code directly in the canvas, you can do that in Visual Mode using any element on the canvas or the Dynamic Content element settings to isolate the coding row. You can also open Code Mode to edit the raw HTML side-by-side with the canvas.

Advanced Merge Tags

In addition to user and profile properties, you can also see sample placeholder data for the following datapoints:

  • Event properties

  • Resources

  • Recommendations

  • Feeds

  • Snippets

While they require coding, you can still take advantage of the placeholder data for a better view of the final rendered email. You can double-click on the merge tags to edit directly in the canvas.


Visibility Conditions

Personalization isn’t just displaying profile properties — there are often use cases where entire pieces of content depend on various levels of segmentation to determine what to show or hide for a customer in their delivered campaign. The Visibility tool provides a simple, codeless workflow to change out content and specify rules and content changes for each. The original content effectively becomes the default fallback if none of these rules are met.

1. On a row or content element, click the Edit icon to open the settings.

2. Scroll down to Visibility and click Add Display Logic.

image-20260423-224502.png

3. Your existing settings for the row or content element are duplicated beneath New Rule. Edit the settings for the rule. Anyone who does not meet the rule will receive the original content.

image-20260423-224621.png

4. When you’ve adjusted your content, click Add Logic to open your visibility conditions. You can choose to show or hide based on event, profile, and contact properties, or segments. Each rule supports AND and OR operators, so you can mix and match across data types. Save your rule.

image-20260423-225636.png

5. When you return to the canvas, the default content will reappear. You can click on your rule (auto-named based on your first condition) to return to your logic and its content.

image-20260423-225730.png

6. Once you have one visibility rule, you can click the button to duplicate or remove it, or click Add Another Rule to start from the original content. While there is no limit to the number of rules you can create, all rules must follow the show or hide selection of the first rule.

image-20260423-225834.png

7. By default, new rules are prioritized in chronological order. When you have more than one rule, you can reorder them by collapsing the row and dragging it above or below the other rows.

image-20260423-230155.png

Some features that are not user-personalized, such as thumbnails and version history, will show display logic options stacked on top of each other. Do not worry — the Visual Composer canvas, preview page, and proofing tools are all capable of selecting a single user to generate a preview for, and only one of the display logic options will be shown in those views.


Product Recommendations

For best results, add a row to the canvas before you add a Product Recommendations block. You must have Resources set up in the account.

Leverage the Recommendations API codelessly with the Product Recommendations block. This content element provides 1:1 personalization with your customers for campaigns tailored to their preferences.

1. Click Elements in the left-hand navigation panel and then find Product Recommendations. Drag the block onto the canvas, preferably in an empty row.

image-20260423-221801.png

2. Find the Zml container and click the Edit button to open the codeless settings. By default, resources from your global filter are selected.

image-20260423-221944.png

3. Select a Resource Group to populate the three recommended resources.

image-20260423-222122.png

4. Alternately, you can choose to create an event filter to call your resources instead of the Resource Group. Here, you can choose to match resources based on a recent event property or a static keyword.

image-20260423-222606.png

5. Click on the Elements tab to codelessly update what’s returned from your resources:

  • Show or hide Content Elements: Image, Headline, Short Text, Link

  • Click the palette icon to set the maximum character limit before truncation

  • Select Horizontal or Vertical layout

  • Specify # of recommended items

image-20260423-222758.png

6. For advanced users, click the ZML tab for the raw code for the block to review or make specific changes directly.

image-20260423-223124.png

Athena in Visual Composer

Besides generating entire email templates, Athena can also work on the details of fine-tuning your content in Visual Composer. There are four built-in assistants you can leverage:

  • Image

  • Text

  • Validation

  • Cross-channel

Image Generation

1. On the image element, click the Athena icon in the actions toolbar to open the Athena chatbox. You can close the chatbox by clicking the Athena icon again or closing the thread using the button.

image-20260423-230736.png

2. In the Athena chatbox, you will be served 3 recent images from the Asset Library that you can insert into the image block in addition to the prompt. Click the button to change the image quality. By default, the Enhanced model is used.

image-20260423-230844.png

3. Write your prompt. You can either ask Athena to edit the current image, attach an image by clicking the plus button, pasting an image URL, or simply describing what you want.

image-20260423-231042.png

4. Within 1 minute, Athena will return an image in the left-hand part of the row, along with a description of the generated image. If you like it, simply click the image, and it will be added to the canvas and Asset Library. You can click the regenerate button or continue the thread to further refine your image.

image-20260423-231524.png

5. Continue editing your template with your new image.

image-20260423-231612.png

Text Generation

1. On the text element, click the Athena icon in the actions toolbar to open the Athena chatbox. You can close the chatbox by clicking the Athena icon again or closing the thread using the button.

image-20260423-231718.png

2. Write your prompt with as much detail as possible. While Athena can generate the content of your text, such as tone and clarity, it cannot update your formatting. Unlike the image agent, the text agent in Visual Composer uses a single generative model.

image-20260423-231916.png

3. Your content element will be updated automatically. You can click the regenerate button or continue your thread to further refine your text.

image-20260423-232110.png

Pre-Launch Validation

When you’re ready with a draft of your content, you can run the validation agent on each channel for a quality check.

1. Click the Validation button on the left-hand settings panel.

2. This can take up to 1 minute, so you can close the panel and continue viewing rows and elements while you wait. A red dot will appear on the Validation button when it’s ready.

image-20260423-233611.png

3. The validation panel will display scores for correctness, clarity, and deliverability, as well as a summary of its findings and individual recommendations around spelling, font discrepancies, bad links, spam indicators, etc.

image-20260423-233709.png

4. The validation panel will display the timestamp of the last run so you can keep coming back to it as you edit your content to address its findings. When you’re ready to run it again, click Re-evaluate.

image-20260423-233826.png

Cross-Channel Variants

Cross-channel variants are only available in marketing templates, not campaigns.

While Visual Composer’s strongest capabilities are in email editing, it can also help you generate on-brand creative for a full omnichannel experience.

1. Click the plus button in the top row next to the Email tab. Select between Social, Display, SMS/MMS, and Mobile Push.

image-20260423-232444.png

2. An agent will read your current email on the canvas to generate creative in the selected channels. This can take up to 1 minute. When your channel is ready, you’ll see a red dot on the channel tab.

image-20260423-232619.png

3. Click the channel tab to review the generated content.

image-20260423-232705.png

4. For native ZMP channels like SMS/MMS and Mobile Push, you can edit the content directly in the canvas. This includes images, text, and dynamic content, as well as text and image agents.

image-20260423-233008.png

5. For all non-email channels, you can copy the text to your clipboard and click the Download button to save the images to your computer.

image-20260423-233125.png

Collaboration in Visual Composer

With Visual Composer, collaborating with teammates on your templates and campaigns is more interactive than ever.

Comments

1. To add a comment, click the comment icon in the actions toolbar and drop it anywhere on the canvas.

image-20260420-214010.png

2. Write your comment and tag your teammates if necessary. Only users who are directly added to the account are eligible to be tagged.

image-20260420-213957.png

3. You and the tagged user will get an email notification for any updates to the thread.

4. To see the comments in list format, click the Comments button on the side panel.

image-20260420-214324.png

5. You can also edit, resolve, or delete a comment.

6. To hide comments from the canvas, click the button in the actions toolbar and click Comments. You can re-show them using the same steps.

image-20260420-214345.png

Editing Priority

Anyone with editing access to a campaign or template can edit it in Visual Composer. Now, additional users can be in the canvas at the same time to see live updates, and their cursors with name labels can be followed. Only the first user can edit in a given session; all subsequent users will be in view-only mode, although they can still comment.

Once the first user leaves, the next user to enter the session or refresh will get edit access to the template.

image-20260420-215033.png

Version History

You can still view, compare, and restore older versions of a template or campaign in Visual Composer. Click the button in the actions toolbar, then Version History to access the timeline. Since Visual Composer uses auto-save, you can expect a larger number of versions. This has no effect on your ability to view, compare, or restore—you can collapse by date to help you navigate better.

image-20260420-213845.png

Display logic will appear stacked in version history, but it does not change the actual behavior. Restoring a template with display logic will work as expected.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.