How to insert dynamic images in Mailchimp

Mailchimp's merge tags are great at putting a subscriber's name into a line of text. Getting that same name into an image, on a product, a banner, or a personalized hero, is where most people stop. There's no "dynamic image" block in the editor, and the image block only takes a fixed file.

The workaround is simple once you see it: the image is generated by a service when the email is opened, and Mailchimp's merge tags go inside the image's web address. This guide shows how to insert dynamic images in Mailchimp using Alterable, from building the image to testing it properly.

What a dynamic image really is

A dynamic image is an image URL with parameters attached. Something like an address ending in ?firstname=Sarah. When a subscriber opens the email, their inbox requests that URL, and the image service draws the picture with Sarah's name in it.

Mailchimp's job is to fill in those parameters for each subscriber at send time, using merge tags. Alterable's job is to turn them into artwork at open time. Neither side needs anything unusual. To Mailchimp it's an image with a link around it.

Step 1: Design the image in Alterable

  1. Open Alterable's dynamic image builder and start from your own artwork: a banner, a product shot, a gift card design.
  2. Add a text layer wherever a subscriber's own value should appear, and turn it into a variable (for example, firstname).
  3. Set a default for each variable, like "there" or "friend," so contacts with no name still get a sensible image.
  4. Optionally add rules, so the image changes by location, device, language, time of day, or weather.
  5. Copy the embed code. It includes a placeholder where each merge tag should go.

Step 2: Swap the placeholders for Mailchimp merge tags

Replace each placeholder with the matching Mailchimp merge tag. For a first name, that's usually *|FNAME|*. For a custom field you created, it's whatever tag Mailchimp assigned, like *|CITY|* or *|POINTS|*.

One Mailchimp detail worth knowing: values in a URL should be URL-encoded, so names with spaces, accents, or apostrophes don't break the address. Mailchimp supports this with the URL modifier, written as *|URL:FNAME|*. Use it for anything that might contain a space or special character.

Check your field tags under Audience, then Settings, then Audience fields and merge tags. A typo means the value arrives empty and the image falls back to its default.

Step 3: Insert the dynamic image into your Mailchimp email

In the new builder, drag a Code block to where the image should sit and paste your embed. In the classic builder, it's the same: add a Code block, paste, and click Save & Close. Mailchimp's Code block supports images, links, and tables, so the embed comes through untouched.

Don't use the regular Image block. It's built for fixed files and won't let merge tags into the address.

This works in Customer Journeys too, since automated emails use the same builders.

Step 4: Test it the right way

Here's what trips people up. Mailchimp's test emails don't fill in contact-specific merge tags. Your test arrives with the literal text *|FNAME|* in the image address, and the image either shows your default or fails. It isn't broken.

Use Preview mode with "Enable live merge tag info" switched on and pick real contacts from your audience. Check one with a normal name, one with a long or accented name, and one with no name at all. Or send the real campaign to a small segment of your own addresses.

Dynamic image ideas that work well in Mailchimp

A subscriber's name on the product works beautifully for gifts and personalized goods: a mug, a jersey, a card with their name engraved. It feels made for them in a way text can't.

Loyalty and rewards emails can show each reader's points balance, tier, or coupon code inside the hero image, pulled from custom fields.

Location-aware images can change the offer by city or weather. Pass the city you store in a merge field, and one image becomes a different banner for Chicago and Miami.

Welcome emails can greet new subscribers by name in the header artwork, which lands much harder than "Hi Sarah" in the first line of text.

Avoid the common mistakes

Set defaults for every variable, because every audience has contacts with missing data. Watch long names, which can overflow a design; Alterable's builder lets you control how text fits its box. Keep important text, like your offer and call to action, as live text or a real button too, not only inside the image. And write alt text that makes sense without the image, since some subscribers block images.

Why use Alterable for Mailchimp dynamic images

Alterable was built for this workflow. You design in a browser, paste one tag into a Code block, and each subscriber gets their own image at open. The free plan includes dynamic images, with 10,000 impressions a month and no watermark, and there's a dedicated Mailchimp setup guide. The same account covers countdown timers, product blocks, and store maps if you want to go further.

Pick one email that matters, like your welcome message, and make its main image personal. You can build it for free at alterable.com and have it live in Mailchimp this afternoon.