We’ve had a question or two lately about adding dynamic images to email campaigns. By this, folks have meant:

  • Images that are personalized according to the reader’s interests, gender, age etc; or
  • Images that change over time, like a holiday countdown

And the skinny of the story is that yes, it’s possible, but you will have to have to host the images on your own server. By default, our application imports and hosts all images found when an HTML email is uploaded to a campaign (usually a really good thing), but unfortunately, this doesn’t let you overwrite existing images on the fly… Or use the img src= path in interesting ways throughout your campaign.

Once you have the images hosted somewhere, adding the cm_dontimportimage attribute to your image tag(s) will ensure that Campaign Monitor does not import the externally-hosted image from a path. Here’s an example:

<img src="http://www.myserver.com/filename.jpg" width="20" height="20" alt="alt text here" cm_dontimportimage />

Simple, eh? Now we have that sorted, lets look at 2 ways you can use dynamic images to your advantage.

Personalizing an email by interest, or gender

Using custom fields

You guessed it – we’re going to get messy with custom fields here. Say you have a subscriber list with a custom field for interests – say, ‘Arduinos’, ‘Faraday Cages’ and ‘Gewgaws’. You want to display a header image in your email, personalized according to your subscribers’ tastes. Too easy. Simply create 3 or 4 images – one for each preference, plus an additional fallback image if required. Once these are happily hosted on your server, here’s the kind of code you would add to the HTML email, in order to display the correct image to each subscriber:

<img src="http://www.myserver.com/[Interests,fallback=gadgets].jpg" width="20" height="20" alt="Exactly the gadget you're after!" cm_dontimportimage />

The path, http://www.myserver.com/[Interests,fallback=gadgets].jpg will be changed to include https://www.campaignmonitor.com/assets/uploads/Arduinos.jpg, https://www.campaignmonitor.com/assets/uploads/Gewgaws.jpg or the fallback, https://www.campaignmonitor.com/assets/uploads/gadgets.jpg at send time. Here’s more clever ways to use custom fields in images and links.

Changing an image over time (the holiday countdown)

We’ve all seen it on television and the web – ‘Sale starts in 3 days!’, ‘Limited offer starts tomorrow!’, ‘Sale on now!’ – but funnily enough, adding exact, time-based messages to email hasn’t quite caught on. Maybe it’s because most of us assume that our emails are going to get read on the spot, then never opened again. However, cool customer Anna Yeaman at Style Campaign punted on a different kind of behavior – that her email would be opened, then re-opened repeatedly – when creating a dynamic Christmas countdown. Click on the image below to view the design (and code):

Dynamic Christmas email

From: ‘Xmas email results‘, courtesy Style Campaign

Using a bit of in-house wizardry combined with the technique above, the image in the email is generated by the server in real-time, each and every time the image is requested (ie. when a subscriber opens the email). So if a subscriber opens the email above a daily basis (or even every second), they’ll see an updated image each time. As a result, the countdown is true to the timezone it’s viewed in – a subscriber in New York will see a different image from a subscriber in Sydney, even if the email is opened simultaneously.

I know what you’re thinking – this is a bloody lot of work for a single email. But then again, Anna’s results have been convincing. From her blog:

“The big shift was the no. of times each recipient opened the email… each recipient viewed the email 5.36 times.”

And if this wasn’t appeasing enough, then there’s always the engagement stats:

“We also saw an increase in replies, a favorite was a short and sweet,”Niiiiiiice”. Our CTR was 40.5% up from 35.8%.”

Full results, plus more detail can be found on Style Campaign’s blog.

Although it’s yet to be seen as to whether dynamically loading images based on subscribers’ interests, or time/date are particularly effective techniques, we sure think it’s nifty for providing a more personalized, and/or timely email experience. If you have any examples of your own, we’d love for you to share them with us – as always, it’s our customers that are pushing the envelope when it comes to building innovative emails!

  • B. Moore

    Sure wish my ESP would implement an amazing feature like this!

  • Chr1s

    Nice post. We recently did a mailing with personalised images ourselves for a client. There’s one little catch though: personalised images won’t show in the webversion of the email. It is after all personalised data, even if it’s an image.

  • Stig Morten Myre

    @ Chr1s,
    That’s a good point — make sure to include a good fallback for the non-personalized web version.

  • Anna Yeaman

    There are a couple of ways you can carry the dynamic personalized images over to the webversion…though probably only worth implementing if you use dynamic images regularly. Otherwise a fallback like Stig & Chr1s mentioned can be used.

    – Anna

  • HP

    Am I right in thinking the fallback image would need to be uploaded to CM with the other (non-dynamic) images?

    So in effect the fallback image would have to live in 2 places – with CM and also with the externally hosted images.


  • Vinny

    Dynamic content would be great with conditionals – if customers likes green widgets: enter this code or this custom field.

  • Cj

    Perfect timing guys and girls!
    I was scouring the blogs and support just last night figuring out how to personalise an email going out to 8 different regions rather than setting up 8 campaigns. I’ll be changing header and footer images, text within the body text and a persons signature.

    Nice work.

  • Zac

    Guys – what I’d love is the ability to serve a different image based on geography.

    Our newsletter is sent to people around the world; I’d love to be able to sell an ad for AU visitors only; and in the SAME newsletter, sell another mrec ad for US eyeballs.

    I’m sure it’s possible; might be a nice additional feature for CM at some point?

    thanks, Zac

  • David Greiner

    Good call Zac, we’ve got some plans to make working with geo data much easier. Combine that with dynamic content and this would certainly be possible. Both of these features are on the radar.

  • Tony

    I assume this method won’t work properly for users of Outlook, due to Outlook’s ability to cache images?

  • Anna Yeaman

    I can’t speak to other people’s solutions, but images from our dynamic server work in all versions of Outlook (works wherever images are enabled, including iPhone and Android). Funnily enough Outlook is one of the best clients for it.

    Though Outlook on the PC does not support streaming dynamic content e.g.real-time dynamic video. Might work in the new Outlook 11 for Mac which uses Webkit, have yet to test…

  • Geoff

    While changing email images over time may seem like a good idea, in reality how many people will actually re-open the same email message again……not many! Gotta nail it on the first open.

  • Anna Yeaman

    I agree Geoff, but to nail it the first time it helps if the creative is up-to-date on open. IMHO dynamic images are not just about getting people to reopen emails (though I’m intrigued by the idea of introducing game dynamics into email, making creative sticky), but serving up relevant information that’s effortless to the user e.g not having to figure out when a sale ends in your timezone, geolocated content or avoiding the frustration/wasted opportunity of opening an email to an expired offer.

  • Rakesh Anchan

    is there any way we can dynamically serve the text in the emailers as we do for images ? That would be a great help.

Want to improve your email marketing? Subscribe to get tips on improving your email marketing delivered to your inbox.

Join 200,000 companies around the world that use Campaign Monitor to run email marketing campaigns that deliver results for their business.

Get started for free