Home     About Us     Portfolio     Contact     Blog     Community     Giving 
About Vertigo Graphic

How to insert dynamic content in email marketing, three ways

"Add dynamic content to the email" is one of those requests that sounds like a single task and turns out to be three. Depending on what you mean, it could be a merge tag, a conditional block, or an image that changes when the email is opened. Each is inserted differently, and each solves a different problem.

Here's how to insert dynamic content in email marketing, all three ways, step by step, with notes on when to reach for each.

Way 1: Merge tags for personal text

Merge tags are placeholders your email platform replaces with each subscriber's data when the email is sent. First name, company, city, account manager, last order date: anything stored on the contact record.

How to insert them

  1. Make sure the data exists as a field on your contacts, and check its exact tag in your platform's field settings.
  2. In a text block, type or insert the tag where the value should appear. Mailchimp uses *|FNAME|*, Klaviyo uses {{ first_name }}, HubSpot uses {{ contact.firstname }}.
  3. Add a fallback for missing data. In Klaviyo that's a default filter, like {{ first_name|default:'there' }}. Most platforms have an equivalent setting.
  4. Preview with a real contact, then with one missing the field.

Merge tags are the foundation. Everything below builds on them.

Way 2: Conditional blocks for different messages

Conditional blocks let one email show different sections to different people. New customers see a first-order discount; returning customers see an early-access note. Vegetarians don't see the steak promotion.

How to insert them

  1. Build the segments or properties the condition will use: customer status, location, preferences.
  2. Add the block you want to vary, then open its display or visibility settings. Klaviyo calls this show/hide logic; other platforms use names like "dynamic content" or "smart content."
  3. Set the rule, for example "show if customer type equals returning."
  4. Add the alternative block for everyone else, so no one sees a gap.
  5. Preview as contacts from each group.

Conditional blocks are decided at send time. Whatever someone qualifies for when the campaign goes out is what they see, however late they open.

Way 3: Open-time images for content that has to stay current

Some content shouldn't be decided at send time at all. A countdown to a deadline. Current prices and stock. The weather where the reader is. A map to the nearest store that's open now. A loyalty balance that updates as points come in.

For that, you insert an image that's generated when the email is opened. Alterable does this with one image tag.

How to insert them with Alterable

  1. In Alterable, create the content: a countdown timer, a personalized image, a product block, a store map, a survey, or a scratch card.
  2. Design it with your fonts and colors, add variables where personal values should appear, and set defaults.
  3. Copy the embed code. It's a link around an image.
  4. Replace the placeholders in the image URL with your platform's merge tags.
  5. In your email, add an HTML or Code block (not a regular image block) and paste the embed.
  6. Preview with real contacts. Many platforms don't fill merge tags in test sends, so use preview mode or a small live send to yourself.

Every time the email is opened, the image is drawn fresh with the data and the moment it's opened in.

Which one should you use?

Use merge tags when the content is a short piece of personal text that won't change. Use conditional blocks when different groups need different messages. Use open-time images when the content needs to be correct at the moment of reading, or when you want personal data inside a designed image rather than in plain text.

Most good campaigns use all three: a personal greeting, a section chosen by segment, and an open-time element that keeps the email accurate.

Why Alterable for the open-time part

Alterable puts every kind of open-time content in one place: timers, personalized images, product blocks, maps, surveys, and scratch cards. It works with any email platform that sends HTML, and there are dedicated setup guides for Klaviyo, Mailchimp, HubSpot, Brevo, Constant Contact, Kit, ActiveCampaign, and more.

Images can change based on rules (location, device, language, time of day, weather) with fallbacks for missing data. And because the content is delivered as standard images, nothing about your deliverability or sending setup changes.

The free plan includes all six content types, which covers 10,000 impressions a month with nothing branded. You don't need a credit card or a developer to try it.

Common mistakes when inserting dynamic content

Wrong field names

Merge tags are often case sensitive. A field called "City" won't answer to "city," and the failure is silent. Copy tags from your platform's field list rather than typing them.

No fallback

Every list has missing data. Without defaults, you get "Hi ," in text or an empty gap in an image.

Testing with test sends

Platforms like Mailchimp leave contact-specific merge tags unfilled in test emails, so dynamic images look broken when they aren't. Preview with real contacts instead.

Putting everything in images

Keep your key message and call to action as live text and real buttons. Images can be blocked, and screen readers and spam filters need text.

A simple first project

Take your next promotional email and add one open-time element: a live countdown above the main button. It's the simplest dynamic content to set up, the easiest to measure, and it shows your team how the approach works.

From there, the next step is usually a personalized hero image or a store map, and neither takes more effort than the timer did.