Straight to your inbox
Get the best email and digital marketing content delivered.
Join 250,000 in-the-know marketers and get the latest marketing tips, tactics, and news right in your inbox.Subscribe
Become a better marketer with email marketing content from the Campaign Monitor email marketing team.
We’re always pretty happy when we push a new update live or make improvements to Campaign Monitor, but nothing’s more flattering than when a customer does all the hard work for us. Jordan Brock of Australian based Spin Technologies has just announced the release of an open source Ruby on Rails wrapper class for the Campaign Monitor API. If you’re developing in Rails, this makes it a piece of cake to interface with our API from your own applications. They’ve set up a RubyForge project with documentation, as well as a trac install for bug tracking and to browse the source. A huge thanks to Jordan and his team for getting this project off the ground. We’ve also got some significant updates planned for the API real soon.
Update: This study has since been superceded by the new and improved 2008 Edition Since the rise of Internet Explorer, web designers have had to test their designs across multiple web browsers. No one likes it, but we’ve all copped it on the chin, written a few hacks and moved on with our lives. After all, 3 to 4 browsers aint that bad – and they finally seem to be getting their act together. If Internet Explorer is the schoolyard bully making our web design lives a little harder, then Hotmail, Lotus Notes and Eudora are serial killers making our email design lives hell. Yes, it’s really that bad. Inspired by the fantastic work of Xavier Frenette, we decided to put each of the popular email environments to the test and finalize once and for all what CSS is and isn’t supported out there. We’ll dig straight into our recommendations based on what we found, followed by the results themselves with a few more details about our findings. Recommendations Because of the huge variation of support across each email environment, there really isn’t any one design approach that will guarantee consistency. Instead, you should take a couple of things into account. 1. The consistency demands of your client If you have a client who understands the challenges you face and realizes that some email environments are just plain old broken (we can always dream), I recommend going for broke and following Mark Wyner’s recent article on CSS design in email (we even include a free template to get you started). This allows you to code your email using moderns standards based design that degrades gracefully for these “broken” email environments. On the other hand if your client demands consistency no matter what, or the CEO’s using Lotus Notes, you’ll have to dull down your design, stick with tables for layout and use only basic text formatting via CSS. You may even have to go down the inline CSS route. 2. The potential email environment of your recipients You’ll probably need to generalize a little here, because most of us have no idea what email environment each recipient is using. Business to Business If you’re sending Business to Business (B2B) emails, you’re definitely going to have to support Outlook and to a lesser extent Lotus Notes. In a recent survey of B2B readers, EmailLabs found that more than 75% use a version of Outlook and a further 9% use Lotus Notes. The good news is that Outlook’s support for CSS is quite good, but Notes’ certainly isn’t. You’ll need to weigh up the trade-offs yourself there. Business to Consumer If you’re sending Business to Consumer (B2C) campaigns, then you’ll definitely need to have Yahoo!, Hotmail and possibly AOL covered. Gmail’s still purring under 5% total penetration, but if you’re targeting early adopters then this percentage will likely be significantly higher. Yahoo and AOL offer very respectable CSS support. Hotmail isn’t too painful provided you include your <style> element in the <body> and not the <head>, while Gmail gives you no choice but to use inline styles only. Further to these concerns, there’s also the issue of image blocking and preview panes, but that’s a whole other article. Results Down to the nitty gritty. To cover each email environment, we’ve split our results up into web-based, PC and Mac email software. Use the links below to jump straight to the respective findings. Web-based results – Gmail, Hotmail, Yahoo! and Windows Live Mail PC results – Outlook 2003 and Outlook Express, Lotus Notes, Thunderbird Mac results – Mac Mail, Entourage, Eudora Web-based Xavier covered the web-based email environments perfectly, but we decided to throw Microsoft’s new Windows Live Mail into the mix to gaze into the crystal ball and see if Hotmail may have a brighter future. The biggest improvement we found being support for the <style> element in the <head> of your page. The <style> element The standard place for the style element is in the <head> of the document, but to ensure the styles appear in Hotmail, you can also insert them within the <body>. We tested both, just to make sure. Web-based support for the <style> element Gmail Hotmail Yahoo! Mail Windows Live Mail <style> element in the <head> No No Yes Yes <style> element in the <body> No Yes Yes Yes The <link> element The <link> element is used to reference a separate CSS file. Web based email environments offer no support for this element, so I recommend playing it safe and sticking with the <style> element for your CSS. Web-based support for the <link> element Gmail Hotmail Yahoo! Mail Windows Live Mail <link> element in the <head> No No No No <link> element in the <body> No No No No CSS Selectors Selectors are used to “select” specific elements on a page so that they can be styled. Besides Gmail, most web-based email environments offer pretty good selector support. Web-based support for CSS Selectors Gmail Hotmail Yahoo! Mail Windows Live Mail * No Yes Yes Yes e No Yes Yes Yes e > f No No Yes No e:link No Yes Yes Yes e:active, e:hover No Yes Yes Yes e:focus No No Yes No e+f No Yes Yes No e[foo] No Yes Yes No e.className No Yes Yes Yes e#id No Yes Yes Yes e:first-line No Yes Yes Yes e:first-letter No Yes Yes Yes CSS Properties CSS property support ranges from very good (Yahoo!) down to so-so (Gmail). If you want results in Gmail, you’ll need to do your styles inline (<p style="...">this is pretty now</p>) rather than via the <style> element. Web-based support for CSS Properties Gmail Hotmail Yahoo! Mail Windows Live Mail background-color Yes Yes Yes Yes background-image No Yes Yes No background-position No No No No background-repeat No Yes Yes No border Yes Yes Yes Yes border-collapse Yes Yes Yes Yes border-spacing Yes No Yes No bottom No Yes Yes No caption-side Yes No Yes No clear No Yes Yes Yes clip No Yes Yes No color Yes Yes Yes Yes cursor No Yes Yes Yes direction Yes Yes Yes Yes display No Yes Yes Yes empty-cells Yes No Yes No filter No No Yes Yes float No Yes Yes Yes font-family No Yes Yes Yes font-size Yes Yes Yes Yes font-style Yes Yes Yes Yes font-variant Yes Yes Yes Yes font-weight Yes Yes Yes Yes height No Yes Yes Yes left No Yes Yes No letter-spacing Yes Yes Yes Yes line-height Yes Yes Yes Yes list-style-image No Yes Yes No list-style-position Yes No No Yes list-style-type Yes No Yes Yes margin Yes No Yes No opacity No No Yes Yes overflow Yes Yes Yes Yes padding Yes Yes Yes Yes position No No No No right No Yes Yes No table-layout Yes Yes Yes Yes text-align Yes Yes Yes Yes text-decoration Yes Yes Yes Yes text-indent Yes Yes Yes Yes text-transform Yes Yes Yes Yes top No Yes Yes No vertical-align Yes Yes Yes Yes visibility No Yes Yes Yes white-space Yes Yes Yes No width Yes Yes Yes Yes word-spacing Yes Yes Yes Yes z-index No Yes Yes No PC Aside from Lotus Notes, all our PC-based email clients behaved very well. All versions of Outlook, Outlook Express and AOL 9 use Internet Explorer to render their emails, so some selectors weren’t supported. This also means you’ll still need to allow for the range of CSS problems IE introduces. Thunderbird scored beautifully. The <style> element Perfect support except for Lotus Notes, which ignores the <style> element altogether. PC support for the <style> element Outlook 2003/OE AOL 9 Lotus Notes Thunderbird <style> element in the <head> Yes Yes No Yes <style> element in the <body> Yes Yes No Yes The <link> element The <link> element is very well supported on the PC, the only shortfall being that your remote CSS file will not be loaded if images are also disabled. Once images are enabled, your CSS will also load correctly. PC support for the <link> element Outlook 2003/OE AOL 9 Lotus Notes Thunderbird <link> element in the <head> Yes Yes Yes Yes <link> element in the <body> Yes Yes Yes Yes CSS Selectors Thunderbird scored highly, but because the majority use IE to render your email, selector support is limited. PC support for CSS Selectors Outlook 2003/OE AOL 9 Lotus Notes Thunderbird * Yes Yes No Yes e Yes Yes No Yes e > f No No No Yes e:link Yes Yes No Yes e:active, e:hover Yes Yes No Yes e:focus No No No Yes e+f No No No Yes e[foo] No No No Yes e.className Yes Yes No Yes e#id Yes Yes No Yes e:first-line Yes Yes No Yes e:first-letter Yes Yes No Yes CSS Properties You can have a field day as long as you’re not sending to Notes. It offers dismal property support that includes only very basic text manipulation. PC support for CSS Properties Outlook 2003/OE AOL 9 Lotus Notes Thunderbird background-color Yes Yes No Yes background-image Yes Yes No Yes background-position Yes Yes No Yes background-repeat Yes Yes No Yes border Yes Yes No Yes border-collapse Yes Yes No Yes border-spacing No No No Yes bottom Yes Yes No Yes caption-side No No No Yes clear Yes Yes No Yes clip Yes Yes No Yes color Yes Yes Yes Yes cursor Yes Yes No Yes direction Yes Yes Yes Yes display Yes Yes Yes Yes empty-cells No No No Yes filter No No No No float Yes Yes No Yes font-family Yes Yes Yes Yes font-size Yes Yes Yes Yes font-style Yes Yes Yes Yes font-variant Yes Yes No Yes font-weight Yes Yes Yes Yes height Yes Yes No Yes left Yes Yes No Yes letter-spacing Yes Yes No Yes line-height Yes Yes No Yes list-style-image Yes Yes No Yes list-style-position Yes Yes No Yes list-style-type Yes Yes Yes Yes margin Yes Yes No Yes opacity No No No Yes overflow Yes Yes No Yes padding Yes Yes No Yes position Yes Yes No Yes right Yes Yes No Yes table-layout Yes Yes No Yes text-align Yes Yes Yes Yes text-decoration Yes Yes Yes Yes text-indent Yes Yes No Yes text-transform Yes Yes No Yes top Yes Yes No Yes vertical-align Yes Yes No Yes visibility Yes Yes No Yes white-space No No No Yes width Yes Yes No Yes word-spacing Yes Yes No Yes z-index Yes Yes No Yes Mac While Mac Mail and Entourage offer fantastic support across the board, I wasn’t surprised to find that Eudora refused to come to the party. Basically, Eudora sucks. The <style> element Go for it, just ignore Eudora. Mac support for the <style> element Mac Mail Entourage Eudora <style> element in the <head> Yes Yes No <style> element in the <body> Yes Yes No The <link> element Same old story, no Eudora. Mac support for the <link> element Mac Mail Entourage Eudora <link> element in the <head> Yes Yes No <link> element in the <body> Yes Yes No CSS Selectors Mac Mail support was fantastic and Entourage was a close second. Mac support for CSS Selectors Mac Mail Entourage Eudora * Yes Yes No e Yes Yes No e > f Yes Yes No e:link Yes Yes No e:active, e:hover Yes Yes No e:focus Yes Yes No e+f Yes No No e[foo] Yes No No e.className Yes Yes No e#id Yes Yes No e:first-line Yes Yes No e:first-letter Yes Yes No CSS Properties Property support was also top notch, except for Eudora, with no property support whatsoever. Mac support for CSS Properties Mac Mail Entourage Eudora background-color Yes Yes No background-image Yes Yes No background-position Yes Yes No background-repeat Yes Yes No border Yes Yes No border-collapse Yes No No border-spacing Yes No No bottom Yes Yes No caption-side No No No clear Yes Yes No clip Yes Yes No color Yes Yes No cursor Yes No No direction Yes No No display Yes Yes No empty-cells Yes No No filter No No No float Yes Yes No font-family Yes Yes No font-size Yes Yes No font-style Yes Yes No font-variant Yes Yes No font-weight Yes Yes No height Yes Yes No left Yes Yes No letter-spacing Yes Yes No line-height Yes Yes No list-style-image Yes Yes No list-style-position Yes Yes No list-style-type Yes Yes No margin Yes Yes No opacity Yes No No overflow Yes No No padding Yes Yes No position Yes Yes No right Yes Yes No table-layout Yes Yes No text-align Yes Yes No text-decoration Yes Yes No text-indent Yes Yes No text-transform Yes Yes No top Yes Yes No vertical-align Yes Yes No visibility Yes Yes No white-space Yes Yes No width Yes Yes No word-spacing Yes Yes No z-index Yes Yes No We hope you find these results helpful. Let’s hope that as browsers move forward, ISP’s and email client developers follow suit. It’s our sanity at stake here, right? UPDATE: After an oversight pointed out by Lachlan Hunt, we’ve scaled back Eudora’s CSS support to nil, zilch, zero.
We’ve made it very simple to create a form on your web site where new subscribers can sign up to your list (we provide the code, you just have to copy and paste). But what about when you’ve already got a form, and you simply want to add a checkbox where customers can opt-in to your newsletter? This isn’t quite a copy and paste job, but it’s not far off. Lets take a look at a simple example. Your client’s site has a ‘Contact Us’ form, which sends an email to your client with the details of a customer enquiry. They’ve just decided that they want to add a little ‘Subscribe to our newsletter’ checkbox. How are you going to integrate this with Campaign Monitor? Here’s a few ways: 1. Use an extension or plugin This is the simplest of all if you happen to be using a suitable CMS or shopping cart. We’ve got a bunch of downloadable plugins, extensions and modules for systems like Expression Engine, Joomla and FoxyCart. Over on the right of this page you’ll see direct links to some of them. Check there first because it may be someone has already done the hard work for you. 2. Using the API Lots of you already know about (and use) the API, and this is the obvious way you can achieve this. In our example, when a user submits the contact form on your clients web site, your already going to have some code in place to gather the contents of the form, and send them off to your client in an email (usually in something like PHP, ASP.NET, Perl etc). We just need to make a slight addition to this. Using your programming language of choice you can check to see if the user has checked the ‘Subscribe to our newsletter’ checkbox, and if they have, make a call to our API to save this person to your subscriber list. And don’t worry if they’re already in there – we won’t add them twice. 3. Redirecting to specific URL’s If your not too keen on the idea of calling our API, there’s another method you can use, which works by redirecting to a URL on our server which will save the user to the list, then send them back to your server. So just like before, you gather the contents of your form, and send the email to your client. Now, to get the users name and email address into Campaign Monitor, we need to redirect the user to a specific URL. What this redirect stuff you keep mentioning? All server side languages should have an easy way to send the user to another URL. In PHP you would use something like: header( "Location: hhttp://www.urlhere.com" );and in ASP.NET it would look likeResponse.Redirect("http://www.urlhere.com"). So let’s get down to specifics. The URL that we need to send the user to, is the same URL that we use in the Create a Subscribe Form code. Check out this code and you’ll see something like: <form action="http://myclient.thisapp.com/p/a/t/tos/" method="post">. The action URL is what we’re after, so in this case http://myclient.thisapp.com/p/a/t/tos/. We’re almost done, but when we redirect the user to the URL we need to include their email address (and optional name). We do this by adding them to the URL in a format like this:?email@example.com&cm-name=Joe+Bloggs. So the full code in PHP would beheader( "Location: http://myclient.thisapp.com/p/a/t/tos/ ?firstname.lastname@example.org&cm-name=Joe+Bloggs" );. The important points to note are the question mark (?) to show the start of the variables, the ampersand (&) to separate the values we’re passing in, and the plus sign (+) which should be used to replace any spaces in the name. Of course, you’ll need to grab the name and address values from your existing form, and plug those in where we have email@example.com for example. When the user is redirected to the above URL, they will be added to your list, but what happens next? Well, hopefully you’ve added a custom subscribe page (and if you haven’t, just jump into the “Create a Subscribe Form” options in your list and add one), and the user will be redirected back to the subscribe confirmation page you’ve specified. The best part is, both of these approaches happen so quickly the user won’t notice a thing.
Check out some of the coolest and most original Christmas emails we’ve ever seen delivered.
There are several reasons why a subscriber may appear to have opened your email many times. It’s most often the case that your subscriber simply opened your campaign multiple times. If you’re sending interesting content, then more often than not your recient has come back to look at it multiple times. A subscriber could have a “Preview Pane” feature enabled in his or her email client. In this case, every time the campaign was clicked or scrolled to in the “Preview Pane”, the subscriber’s address displays as having opened the campaign. Find out more about how to design for preview panes. If the subscriber uses the email client to “forward” the email campaign instead of using Campaign Monitor’s Forward to a Friend feature, any subsequent opens by those recipients show as another “open” by your subscriber. The Unique HTML Opened count in your Campaign Snapshot indicates the total number of unique opens for that entire campaign and does not take multiple opens into account.
We often get asked if Campaign Monitor checks for duplicates when importing subscribers, so we thought we’d cover it here once and for all. The short answer, yes. We never allow duplicate emails to be imported into the same list and if someone tries to subscribe to a list that they already belong to, they won’t be added again. This way a recipient will never get the same campaign twice and you’ll never be charged for sending the same thing twice. Even if a recipient is a member of two lists and you send a campaign to both lists, they’ll still only receive one version.
We know you’re not sending spam, but before your newsletter hits your subscribers inbox it most likely has to jump through a few pieces of Spam filter software making sure it isn’t. Here’s one quick and simple technique to make sure Spam filters don’t get the wrong idea about your email. When we’re sending out your campaign, we check if you’re storing the name of the subscriber we’re sending to. If you are, we include this in the To: address. Why’s this important? Spammers don’t know the names of their recipients, and filter software knows this, so if there isn’t a name and only an email address filter software will be more likely to give your mail a negative score. So when your importing subscribers, try to include their name, and it’s a good idea to include a name field in your subscribe forms as well (which is what we do by default).
Yep, you read that right. Not only have you got to worry about comment spam on your blogs, but your subscribe form could be the next target. We’ve had a number of customers let us know about this problem and have just made a small change to the subscribe form code to combat this. If you’re seeing any strange subscribers in your list (especially those that mention the .com domain in the email address), grab the latest version of the subscribe code from your account. We also updated the supplied signup code to include one with basic formatting, one with CSS formatting and a table based version. A big thanks to Ken Schafer from One Degree for helping us test this solution. Great guy and a great resource for Canadian marketers.
Let’s say your client approaches you to send a campaign to Old Faithful, their house list that’s slowly grown over the years but hasn’t been contacted in 12 months or so. Hell, 12 months doesn’t sound that long. You put together the creative and start sending. Things start to get ugly The campaign’s sent. 40% of your list hard bounce right from the word go. Another 25% unsubscribe immediately. Old Faithful aint what it used to be. Problem 1: 30% is a big number Here’s a scary fact. Email address churn averages about 30% every year. This means that each year almost a third of your subscriber list will have moved on to a new email address. If you haven’t sent to your subscriber list in a while, you can see how quickly they can become out of date. Problem 2: Permission doesn’t age well Even if an old subscriber hasn’t changed their address, they might not even remember being added to your list. As web designers, we often forget that registering on a web site isn’t always a particularly memorable experience for most people. If you haven’t been in touch with a subscriber for more than 12 months, chances are the permission they once gave is now worthless. The solution – a permission confirmation campaign If your list hasn’t been contacted for at least 12 months, you should consider a permission confirmation campaign. This is a simple email that includes: An explanation of how, when and where they subscribed to your list. A compelling list of the benefits of continuing their subscription and a preview of what you’ll be contacting them about in the future. If you can’t say anything compelling then you shouldn’t be contacting them in the first place. A confirmation link the user must click to confirm their subscription. The best approach is to link to a subscribe form for a brand new list. Make life easier by using personalization to automatically populate the form with their existing details. Any subsequent campaigns should only be sent to the new list. Many will argue that this method will lose you a lot of subscribers. I say that if a recipient can’t be bothered to confirm their subscription, their unlikely to be opening, reading and responding to your campaigns anyway.
A number of customers with larger lists might have been experiencing speed issues with some of reports, especially the Recipient Activity Report. We’re constantly making small tweaks to our database to improve performance, but this update was a biggie. Thanks to a complete rethink of some parts of the database, you guys should notice significant speed improvements in the reporting section of Campaign Monitor. We’re rolling out a number of other improvements in the coming days, so stay tuned.
Join 250,000 in-the-know marketers and get the latest marketing tips, tactics, and news right in your inbox.Subscribe
With our powerful yet easy-to-use tools, it's never been easier to make an impact with email marketing.Try it for free