Responsive email design

Responsive email design

If you’ve created an awesome email campaign that doesn’t appear correctly on your customer’s screen, your campaign has failed before your content has even had the chance to win anyone over. While your campaign’s design might genuinely look impressive to you, have you tested to see how it will appear on your customer’s device? A wide range of customers means a variety of devices and supporting software used to view your email campaign. They might include laptops, which usually have larger screens; mobile phones and their smaller screens; and tablets, with screens that fall somewhere in the middle. Statistics show there’s a tremendous increase in email opens on a mobile phone when compared to the desktop or webmail. So, while it seems as though making your email appear the way you intended on all devices and email services is a tedious task, there is a solution to this – responsive design. In short, this means using an approach that detects the user’s device and automatically adapts your email to display correctly on it. Let’s take a look at how responsive design can make your email look spectacular on any device.

Importance of mobile-friendly marketing

Making your content readable on all devices is the key to mobile-friendly marketing. In the past decade, there has been a rapid increase in the number of devices that could be used to access the internet; devices with a wide range of screen sizes and formats (landscape, portrait, quadratic). Give your readers an optimized view to better their experience. If your content is adaptive you can help your readers avoid the inconvenience of horizontal scrolling and zooming in and out to read details. Readers will not prefer reading a newsletter that is a mess. They will ignore it, delete it or might even go to the extent of unsubscribing the newsletter. No reader will have the patience of going to another device to check a newsletter unless it is of the utmost importance to them. The rate of adoption of internet enabled mobile phones is tremendously increasing day by day. With the rise of affordable smartphones, they have become the most preferred means of communication for the masses. So it’s high time that we start designing out campaigns to suit mobile devices of all sizes and resolutions.

How do I make my email suitable for all devices?

A liquid, when poured into a container, flows into it with ease and takes its shape. Content of an email should be designed in the like manner. Responsive email design could solve this purpose. A Responsive Design fits itself into any screen of any dimension with optimized view and interaction for the user. It responds equally good to all devices.
Responsive Design = Fluid + Adaptive
Fluid design uses percentage for widths unlike static design, thus making the columns in the layout relative to each other and scale according to the device size. Adaptive design uses media queries to adapt to every device. Style specific to every device is defined. The server will match the device and render content accordingly. Responsive design is thus the combination of fluid and adaptive design. It has a fluid width and adaptive content for any possible screen resolution.

Why responsive design?

With the increase in the usage of mobile phones, web designers started designing websites one for desktop users and one for mobile users. But with responsive design, one design could fit in any number of devices. Your email campaigns will have an appealing look in all devices and email clients at the sizes are relative and not fixed. You can also change content from device to device; decide on what content should be displayed to a desktop user or a mobile user. You can resize content and image, hide content, stack columns, rendering completely different view for various devices.

How are responsive emails designed?

Responsive design uses CSS and media queries to resize, show, hide or stack content based on size. Responsive email uses a media query; a set of styles that behave in a conditional rule. Styles are defined for various viewports - visible region in any device that varies with devices. Viewports are smaller on a mobile phone than on a computer. The basic rule for responsive design:
  1. If screen size is ‘x’; defined style is ‘a’.
  2. If screen size is ‘y’; defined style is ‘b’.

How does Zoho Campaigns help?

To design a responsive email with Zoho Campaigns you do not need to have any special coding skills. Zoho Campaigns’ pre-designed email templates are responsive to all devices and email clients. All you have to do is produce a great content and tweak these templates a bit to fit your brand in.
Zoho Campaigns’ inbox preview lets you test your emails for perfection. Look at your emails from your recipients’ perspective, learn if any formatting issue is overlooked, and ensure that your email looks beautiful and perfect to all your recipients using different email clients and devices.

A guide to build responsive design

In the recent past, we’ve witnessed a huge increase of internet enabled devices. The range of device screen size and resolution has widened. So, the email we design will definitely not look the same in all kinds of devices and email clients. Now that being so, it is as important to render our email equally good in all devices and email clients as is designing a creative one. We could easily accomplish this with responsive designing. Unlike static design, responsive design uses fluid widths for columns, definite style for various viewports and multiple breakpoints.

How is responsive design done?

Responsive design uses CSS and media queries to define style across devices. You can resize content and image, hide content, stack columns, rendering completely different view for various devices.
  1. CSS - Style language that defines how HTML elements are to be displayed.
  2. Media Query - Module that enables content rendering in various screens sizes and resolutions.
Fluid widths are defined at multiple viewports so the layout resizes to fit the window. Acts more like a simple if-else statements:
  1. If screen size is ‘x’; defined style is ‘a’;
  2. If screen size ranges from ‘y’ to ‘z’; defined style is ‘b’;
  3. else defined style is ‘c’;

General code (CSS and media query)

Quote
<style type=”text/css”>
  @media only screen and (max-device-width: 480px) { /* mobile
specific css */
  }
/* normal css*/
</style>

Media-Que:

Quote
<style type=”text/css”>
@media only screen and (max-device-width: 480px) {
  table[class=container]
{
width: 100% !important;
}
table[class=container] table{ width: 100% !important;
}
  table[class=container] table p{ text-align: center;
}
td[class=logo]{ text-align: center;
}
td[class=logo] img { width:195px;
}
  }
  table.container { width: 640px;
  }
</style>
@media - acts like an if condition.
* !important - overides inline styles.
* meta name = viewport
meta tag - provides page info to the browser
viewport - users’ visible area of a webpage.
* content width = device - width
Sets the device width as the page width.
* initial-scale =1.0
Sets the initial zoom level of the page. Tells the browser how to render content.

HTML code:

Quote
<table width=”640” border=”0” cellpadding=”0” cellspacing=”0”
class=”container”>
<tr>
  <td>
<table width=”320” border=”0” cellspacing=”0”
cellpadding=”10” align=”left”>
<tr>
<td class=”logo”>
campaigns/Oct_04_2016_campaignsplus/images/zohocampaigns.png”
width=”150”/>
</td>
</tr></table>
<table width=”320” border=”0” cellspacing=”0”
cellpadding=”10” align=”left”>
<tr>
    <td>
<p><font size=”4”>Heading Goes Here</font></p>
    </td>
</tr></table>
     </td>
</tr>
<tr>
<td>
<table width=”320” border=”0” cellspacing=”0”
cellpadding=”20” align=”left”>
    <tr>
<td bgcolor=”red”><p style=”text-align: center;”>
Left Column </p></td>
     </tr>
</table>
<table width=”320” border=”0” cellspacing=”0”
cellpadding=”20” align=”left”>
    <tr>
<td bgcolor=”blue”><p style=”text-align: center;”>
Right Column </p></td>
</tr>
</table>
    </td>
</tr>
</table>

Full Code:

Quote
<html>
<head>
<meta content=”width=device-width” name=”viewport”>
<meta content=”text/html;charset=UTF-8” http-equiv=”ContentType”>
<title> SUGUMAR </title>
<style type=”text/css”>
@media only screen and (max-device-width: 480px) {
/* mobile-specific CSS styles go here */
table[class=container] {
width: 100% !important;
}
table[class=container] table{width: 100% !important;
}
table[class=container] table p{text-align: center;
}
td[class=logo]{text-align: center;
}
td[class=logo] img{width:195px;
}
}
/* regular CSS styles go here */
table.container {width: 640px;
}
</style>
</head>
<body bgcolor=”#ffffff” style=”margin:0; padding:0;fontfamily:Arial, Helvetica, sans-serif; font-size:12px;
color:#000000;”><center>
<table width=”640” border=”0” cellpadding=”0” cellspacing=”0”
class=”container”>
<tr>
<td>
<table width=”320” border=”0” cellspacing=”0”
cellpadding=”10” align=”left”>
<tr>
<td class=”logo”>
campaigns/Oct_04_2016_campaignsplus/images/zohocampaigns.png”
width=”150”/>
</td>
</tr></table>
<table width=”320” border=”0” cellspacing=”0”
cellpadding=”10” align=”left”>
<tr>
<td>
<p><font size=”4”>Heading Goes Here</font></p>
</td>
</tr></table>
</td>
</tr>
<tr>
<td>
<table width=”320” border=”0” cellspacing=”0”
cellpadding=”20” align=”left”>
<tr>
<td bgcolor=”red”><p style=”text-align:
center;”> Left Column </p></td>
</tr>
</table>
<table width=”320” border=”0” cellspacing=”0”
cellpadding=”20” align=”left”>
<tr>
<td bgcolor=”blue”><p style=”text-align:
center;”> Right Column </p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

Design techniques

Various design techniques that could be adopted are,

1. Stacking content, images and videos

You can change the column orientation for the different viewports. For smaller/ screens, you can wrap text over images.
 
Quote
<html><head>
<style type=”text/css”>
@media only screen and (max-width: 480px){
table[class=contentInner]{
width:100% !important;
}
table[class=zpcolumns]{display:block !important;
width:100% !important;
}
td[class=zpcolumns]{
display:block !important;
width:100% !important;
}
img[class=zpImage]{
height:auto !important;
max-width:480px !important;
width:100% !important;
}
td[class=txtsize]{
width:100% !important;
font-size:16px !important;
line-height:125% !important;
}
}
</style>
</head>
<body>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”600”
class=”contentInner” align=”center”><tbody><tr><td>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”600”
class=”contentInner”>
<tbody><tr>
<td align=”center” valign=”top” width=”50%” class=”zpcolumns”>
width=”600” style=”max-width: 600px;” class=”zpImage”>
</td>
</tr></tbody>
</table>
</td></tr><tr><td>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”600”
class=”contentInner”>
<tbody><tr>
<td align=”center” valign=”top” width=”50%”
class=”zpcolumns”>
<table border=”0” cellpadding=”10” cellspacing=”0”
width=”300” align=”left” class=”zpcolumns”>
<tbody><tr>
<td valign=”top” class=”txtsize”>
<p style=”
font-size: 12pt;
line-height: 22pt;
“>The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you.</p>
</td>
</tr>
</tbody></table>
<table border=”0” cellpadding=”10” cellspacing=”0” width=”300”
align=”left” class=”zpcolumns”>
<tbody><tr>
<td valign=”top” class=”txtsize”><p style=”
font-size: 12pt;
line-height: 22pt;
“>The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you.
</p></td>
</tr>
</tbody>
</table>
</td>
</tr></tbody>
</table>
</td></tr></tbody></table>
</body></html>

2. Progressive disclosure

To give a more appealing and minimal look in smaller screens, display the primary information and wrap the secondary information into clickable links, clicking which will show the extra details. This will save the reader from a cluttered email.

Quote
<html><head>
<style type=”text/css”>
@media only screen and (max-width: 480px){
table[class=contentInner]{
width:100% !important;
}
table[class=zpcolumns]{
display:block !important;
width:100% !important;
}
td[class=zpcolumns]{
display:block !important;
width:100% !important;
}
img[class=zpImage]{
height:auto !important;
max-width:480px !important;
width:100% !important;
}
td[class=zpdesktop_txt]
{
display:none !important;
width:100% !important;
}
td[class=zcmobile_txt]
{
display:block !important;
width:100% !important;
}
td[class=zpmb_read]
{
display:block !important;
width:120px !important;
}
a[class=”zpmb_read”], a[class=”zpmb_less”]
{
display: block !important;
color: #fff !important;
background-color: #aaa;
border-radius: 20px;
padding: 0 8px;
text-decoration: none;
font-weight: bold;
font-size: 11px;
position: absolute;
top: 500px;
text-align: center;
width: 120px;
}
div[class=”zpdesktop_txt”]
{
display:none;
}
.zpmb_read:hover
{
visibility:hidden;
}
.zpmb_read:hover + .zpdesktop_txt,
.zpdesktop_txt:hover
{
display: block !important;
}
}
</style>
</head>
<body>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”600”
class=”contentInner” align=”center”><tbody><tr><td>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”600”
class=”contentInner”>
<tbody><tr>
<td align=”center” valign=”top” width=”50%” class=”zpcolumns”>
<img src=”http://zohopublic.com/zohocampaigns/zcnoimage.png” width=”600” style=”max-width: 600px;” class=”zpImage”>
</td>
</tr></tbody>
</table>
</td></tr><tr><td>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”600”
class=”contentInner”>
<tbody><tr>
<td align=”center” valign=”top” width=”100%”
class=”zpcolumns”>
<table border=”0” cellpadding=”10” cellspacing=”0”
width=”600” align=”left” class=”zpcolumns”>
<tbody><tr>
<td valign=”top” class=”zpdesktop_txt”>
<p style=”
font-size: 12pt;
line-height: 22pt;
“>The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you.The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you.The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane
tasks. The future is calling, and your desk can answer it for you. The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you.The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you.</p>
</td>
</tr>
<tr>
<td valign=”top” class=”zcmobile_txt” style=”
display: none;
“>
<p style=”
font-size: 12pt;
line-height: 22pt;
“>The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you.The world around us is busy and complex.</p>
</td>
</tr>
<tr>
<td valign=”top” class=”zpcolumns” style=”
display: none;
“>
<a href=”#” class=”zpmb_less” style=”
font-size: 12pt;
line-height: 22pt;
“>less...</a><a href=”#” class=”zpmb_read” style=”
font-size: 12pt;
line-height: 22pt;
“>Read More</a><div class=”zpdesktop_txt” style=”lineheight:22pt;padding:7px 15px;”>The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you. The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you.The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you.The world around us is busy and complex. We’ve made it that way, so why not make it easy
again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you. The world around us is busy and complex. We’ve made it that way, so why not make it easy again?Automate your office or workspace to free yourself from mundane tasks. The future is calling, and your desk can answer it for you.</div>
</td>
</tr>
</tbody></table>
</td>
</tr></tbody>
</table>
</td></tr></tbody></table>
</body>
</html>

3. Changing content from device to device

Prioritize the content and the call-to-actions that should be shown in various devices. Place the most important CTAs at the visible region of the screen, especially for mobile phones. You can also provide different content for mobile users and desktop users.

Quote
<html xmlns=”http://www.w3.org/1999/xhtml” xmlns:o=”urn:schemasmicrosoft-com:office:office” xmlns:v=”urn:schemas-microsoftcom:vml”><head>
<!--[if gte mso 9]>
<xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml>
<![endif]-->
<style type=”text/css”>
@media only screen and (max-width: 480px){
table[class=contentInner]{
width:100% !important;
}
table[class=zpcolumns]{
display:block !important;
width:100% !important;
}
td[class=zpcolumns]{
display:block !important;
width:100% !important;
}
img[class=zpImage]{
height:auto !important;
max-width:480px !important;
width:100% !important;
}
td[class=txtsize]{
width:100% !important;
font-size:16px !important;
line-height:125% !important;
}
}
</style>
</head>
<body>
<table border=”0” cellpadding=”0” cellspacing=”0”
class=”contentInner” style=”width:600px;” width=”600”>
<tbody><tr><td>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”100%”
class=”contentInner”>
<tbody><tr>
<td align=”center” valign=”top” class=”zpcolumns”>
<p style=”
margin: 0px;
font-size: 19pt;
line-height: 31pt;
font-family: Arial;
padding: 0px;
“>Heading Here.......!!!!!!</p>
</td>
</tr></tbody>
</table></td></tr><tr><td>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”100%”
class=”contentInner”>
<tbody><tr>
<td align=”center” valign=”top” class=”zpcolumns txtsize”
style=”
padding: 10px;
“>
<p style=”
margin: 0px;
font-size: 11pt;
line-height: 21pt;
font-family: Arial;
padding: 0px;
text-align: left;
“>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
</td>
</tr></tbody>
</table></td></tr>
<tr><td>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”100%”
class=”contentInner”>
<tbody><tr>
<td align=”center” valign=”top” class=”zpcolumns”>
<table align=”center” cellpadding=”0”
cellspacing=”0” style=”font-size:12px;border:0px;”>
<tbody><tr>
<td align=”center” bgcolor=”#dddddd”
class=”txtsize” style=”border-collapse:collapse;paddingtop:12px;padding-bottom:12px;padding-right:25px;paddingleft:25px;color:#000000;font-family:Arial;background-color:#dddddd;font-size:11pt;border-radius:
0px;border:0px;text-align:center;cursor:pointer;”>
<a align=”center” href=”http://www.
zoho.com” style=”display:block;background-color:#dddddd;borderradius:0px;color:#000000;font-family:Arial;font-size:11pt;textalign:center;text-decoration:none;” target=”_blank”>
<span style=”color:#000000;”>
Click Here
</span>
</a>
</td>
</tr>
</tbody></table>
</td>
</tr></tbody>
</table></td></tr><tr><td>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”100%”
class=”contentInner”>
<tbody><tr>
<td align=”center” valign=”top” class=”zpcolumns” style=”
height: 20px;
“>
</td></tr></tbody>
</table></td></tr></tbody></table>
</body>
</html>

4. Scalable images, GIF and video

Resize images, background images, GIFs and videos for viewports so they smoothly scale up and down across devices.

Quote
<html><head>
<style type=”text/css”>
@media only screen and (max-width: 480px){
table[class=contentInner]{
width:100% !important;
}
table[class=zpcolumns]{
display:block !important;
width:100% !important;
}
td[class=zpcolumns]{
display:block !important;
width:100% !important;
}
img[class=zpImage]{
width:100% !important;
height:auto !important;
max-width:480px !important;
}
}
</style>
</head>
<body>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”600”
class=”contentInner” align=”center”><tbody><tr><td>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”600”
class=”contentInner”>
<tbody><tr>
<td align=”center” valign=”top” width=”50%” class=”zpcolumns”>
<img src=”http://zohopublic.com/zohocampaigns/zcnoimage.png” width=”600” style=”max-width: 600px;” class=”zpImage”>
</td>
</tr></tbody>
</table>
</td></tr><tr><td>
<table border=”0” cellpadding=”0” cellspacing=”0” width=”600”
class=”contentInner”>
<tbody><tr>
<td align=”center” valign=”top” width=”50%”
class=”zpcolumns”>
<table border=”0” cellpadding=”10” cellspacing=”0”
width=”300” align=”left” class=”zpcolumns”>
<tbody><tr>
<td valign=”top” class=”txtsize”><img
class=”zpImage” style=”
width: 270px;
“></td>
</tr>
</tbody></table>
<table border=”0” cellpadding=”10” cellspacing=”0”
width=”300” align=”left” class=”zpcolumns”>
<tbody><tr>
<td valign=”top” class=”txtsize”
align=”center”><img src=”http://zohopublic.com/zohocampaigns/zcnoimage.png” class=”zpImage” style=”
width: 270px;
“ align=”center”></td>
</tr>
</tbody>
</table>
</td>
</tr></tbody>
</table>
</td></tr></tbody></table>
</body>
</html>

Best practices for creating a perfect responsive email

  1. For mobile phone users, provide thumb accessible call-to-action buttons and links. Make sure that every element is finger friendly.
  2. Have readable font size, style and color.
  3. Prioritize and change hierarchy of column or content from device to device.
  4. Place important call-to-actions buttons at regions that would gain the readers’ attention. Have them clear and usable.
  5. Hide non-essential elements for smaller screen thus providing a minimal page.
  6. Do not use large fixed width elements.
  7. Use optimized viewports.
  8. Always avoid horizontal scrolling.