Free tools Windows power users keep installed
One-click scans. No signup required.
To show each Mailchimp contact a different image, upload the images to Content Studio, save each image URL in an image-type audience field, then insert that field’s merge tag in your campaign. If you need to show one of a few image blocks based on recipient rules instead, use Dynamic Content. Preview with live merge-tag data before sending; an ordinary test email will not show each contact’s personalized value.
Choose the right personalization method
| What should vary? | Use | What you maintain |
|---|---|---|
| A unique image URL for each contact | An image-type audience field and its merge tag | A correct image-to-contact mapping and a populated field for each contact |
| One of a limited set of image blocks, shown according to recipient conditions | Dynamic Content | Conditions that match the audience data |
These are different mechanisms: the image field supplies a contact’s image, while Dynamic Content controls whether a content block appears for contacts who meet conditions. Mailchimp documents Dynamic Content for Standard or higher, and it requires an audience attached to the campaign for live preview. Mailchimp’s Dynamic Content instructions describe supported conditions and content blocks.
As an Amazon Associate I earn from qualifying purchases.
Set up a different image for each contact
- Prepare the files. Give each file a descriptive or numbered name so you can match it to the intended contact. Mailchimp lists JPG, JPE, JPEG, GIF, PNG, and BMP as supported personalized image file types. Check Mailchimp’s personalized-files guidance if you need to confirm the current workflow.
- Upload images to Content Studio. Copy each image’s URL into a mapping spreadsheet or another record, alongside the matching contact identifier. Take care not to swap URLs between contacts.
- Create an image audience field. In the intended audience’s settings, add a field of type image. Give it a clear label and merge tag; set a default value if that fits your data. An image-type field matters: Mailchimp says it renders the personalized image rather than a file link.
- Populate contact records. Import or update the relevant contacts so the image field contains the correct image URL for each person. Check that the values match your mapping before building the campaign.
- Insert the merge tag. In the campaign builder, place the image field’s exact merge tag where the personalized image should appear. Mailchimp’s personalized-file instructions describe inserting a merge tag; use an image-type audience field for personalized images.
- Preview several contacts. In Preview Mode, turn on Enable live merge tag info, then find or select recipients whose values cover your cases: a normal image, a default value, and a blank field if one is possible. Confirm the correct image appears for each.
Use Dynamic Content for rule-based image blocks
Dynamic Content is a better fit when the campaign uses a manageable set of image blocks and recipient rules decide which block is visible—for example, different images for contacts in different groups. Mailchimp says dynamic content can be applied to almost any content block, including images, and can use audience fields, groups, and, in the new builder, tags. It is included with Standard or higher. See Mailchimp’s Dynamic Content documentation for current setup details.
Attach the intended audience before previewing. Configure and test the conditions against real audience values so each contact matches the intended image block. As with image fields, validate with live merge-tag information rather than relying on a standard test message.
Validate the campaign before sending
- Attach the right audience. A merge tag that refers to audience data may appear invalid if the campaign has no audience selected. Mailchimp’s merge-tag troubleshooting guide covers this and other common tag issues.
- Copy the exact merge tag. Tags are case-sensitive. Use the tag shown in audience settings and avoid adding formatting inside or around its syntax. See Mailchimp’s merge-tag basics.
- Do not use an ordinary test email as proof of personalization. It does not populate contact-specific merge-tag data. Use Preview Mode with live merge-tag information, or send to a small live test segment. Mailchimp explains the options in its preview and testing guide.
- Check blank and default values. Do not assume a blank field will produce a useful fallback. Preview contacts with missing data and confirm the actual result.
- Check desktop and mobile. Email clients can render HTML email differently; inspect both layouts in preview.
Troubleshooting common problems
The merge tag appears as text or invalid
Confirm the campaign is attached to the audience containing the field, and copy the exact, case-sensitive merge tag from that audience’s settings. Remove accidental changes to the tag syntax.
The image is missing for one or more recipients
Check that the contact’s image field contains the correct Content Studio URL and that the image was uploaded successfully. Preview that recipient with live merge-tag information; also inspect the field’s default or blank-value behavior.
Rank #2
A test email does not show the recipient’s image
That is not a reliable test of contact-specific data. Select a contact in Preview Mode with live merge-tag information enabled, or use a small live test segment.
The wrong image block appears
For Dynamic Content, review the conditions against the recipient’s actual audience fields, groups, or tags. Ensure the campaign is connected to the audience whose data those conditions use.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
If you need to capture a webpage image for a campaign asset, ScreenshotNeo provides a screenshot API and MCP server. A single GET request can return a PNG, JPEG, WebP, or PDF. Cookie banners, popups, and chat widgets are removed before the shot; bot checks, blank pages, and failed loads are never billed; and its MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots per month with no card, and paid plans start at $5 for 3,000.
For example, this cURL request saves a WebP screenshot of a page:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for setup and options. Visit ScreenshotNeo or sign up free for 1,000 screenshots a month with no card.
Quick Recap
Best Value
Rank #4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




