Get ready for Halloween … and all other holidays!

28 October, 2019 Tips & Tricks

The year has completed a full circle again and the festive season is about to blow up. Just look at the calendar - it’s a holiday bonanza no matter where you are from Puja, Halloween, Veterans Day, Thanksgiving, Black Friday, Cyber Monday, St. Nicholas Day, Christmas, New Year... the list just doesn’t end. Most of these days are seen as an important opportunity to send custom email campaigns to stay on top of your customer’s minds.

This time we are not going to be telling you how important it is to get your custom themed emails ready for your recipients. That has been done many times over and we are sure you get it.

We want to get back to the everyday reality of where resources are finite, designers & email coders too busy and marketers have to fight to get their campaigns done.

In the spirit of helping marketers reach their goals we came up with tips on how to get your sanity back.

Make a list of holidays

Let’s start with the basics - make a list of the most important holidays for you market and prioritize them. You can start by taking inspiration from a great calendar published by Search Engine Journal. Black Friday may be more important to some than Halloween and both will sure beat the “Great October Socialist Revolution”... well unless you sell USSR related merchandise. This list will help you prioritize your efforts towards individual holidays and may help you optimize your budget as well.

Since most marketers don’t have the same backing that Google has for its doodles, the goal is to get as much done beforehand and automate your campaigns to maximise your ROI. Consider even having a generic fallback themes based on seasons.

[% holidays = {
	diwali2019 = { title = 'Happy Diwali', event_date = '2019-10-27', pre =14, country='in'},
	halloween = { title = 'Happy Halloween', event_date = year _ '-10-31', pre=7, country='all' },
	blackfriday = {title='Happy Black Friday', event_date = date.manip.UnixDate("last Friday in November " _ year,"%Y-%m-%d"), pre=7,country='all'},
	xmas = {title='Merry Christmas', event_date = year _ '-12-25',pre=7,country='all'},
	newyear = {title='Happy New Year', event_date = year _ '-01-01', pre=0, country='all'},
	easter = {title='Happy Easter', event_date = date.format(date.calc.Easter_Sunday(year).join('/') _ ' 00:00:00','%Y-%m-%d'), pre=14, country='all'}
} -%]

The above example lists a few holidays, their dates and country of origin. It also contains a value pre which defines how many days before the holiday we want to start changing content.

Prepare your template(s)

Once you know your key holidays, you can prepare yourself for the worst - not having custom design for the upcoming holiday. You can simply leverage your existing template and add logic that will take advantage of the list of holidays and make adjustments to the template theme.

These theme changes can be as subtle as showing a different banner or go as far as changing the complete layout and color palette of your campaigns and using custom headers and footers. With Mailkit’s templating you can use variables and conditions to modify your template on the fly and do incremental improvements to your templates over time. In the following example we are using the above list of holidays to pick the upcoming holiday with preference to the holiday in the recipient’s country:

[% FOREACH holiday IN holidays -%]
    [% daystogo =  date.calc.Delta_Days(date.format(date.now,'%Y'),date.format(date.now,'%m'),date.format(date.now,'%d'),date.format(holiday.value.event_date _ ' 00:00:00','%Y'),date.format(holiday.value.event_date _ ' 00:00:00','%m'),date.format(holiday.value.event_date _ ' 00:00:00','%d')) -%]
	[% IF daystogo == 0 -%]
		[% IF holiday.value.country == country -%]
			[% holiday_match = holiday.key -%]
			[% intro_heading = holiday.value.title _ name _ ','-%]
			[% LAST -%]
		[% ELSIF holiday.value.country == 'all' -%]
			[% holiday_match = holiday.key -%]
			[% intro_heading = holiday.value.title _ name _ ','-%]
			[% LAST -%]
		[% END -%]
	[% ELSIF daystogo <= holiday.value.pre && daystogo > 0 -%]
		[% IF holiday.value.country == country -%]
			[% holiday_match = holiday.key -%]		
			[% intro_heading = hello _ name _ ','-%]
			[% LAST -%]
		[% ELSIF holiday.value.country == 'all' -%]
			[% holiday_match = holiday.key -%]
     		[% intro_heading = hello _ name _ ','-%]
			[% LAST -%]
		[% END -%]
    [% END -%]
[% END -%]

Reap the benefits

Now that you have all to logic to determine the holiday in place it’s time to get down to how far you want to adjust your template based on the holiday. Keep in mind this will be your fallback and you should make the adjustments to your template distinctive enough, yet should not limit your ability to have a setting for as many holidays as possible. Think about the scale first so you can have as many fallback variations as possible. It will give you time and resources to focus on the very custom campaigns. In our following example which is based on our very own Demo Digest (feel free to signup) we are changing the header background and color scheme only.

[% IF recipient.CUSTOM11 == 'custom field 11' -%]
	[% bg_image = 'http://static.mailkit.eu/_comm/header-big.jpg' -%]
	[% intro_heading = hello _ name _ ','-%]
    	[% color = '#de1219' -%]
[% ELSIF holiday_match == 'halloween' -%]
	[% bg_image = 'http://static.mailkit.eu/_comm/header-halloween.jpg' -%]
    	[% color = '#000000' -%]
[% ELSIF holiday_match == 'blackfriday' -%]
	[% bg_image = 'http://static.mailkit.eu/_comm/header-blackfriday.jpg' -%]
	[% color = '#000000' -%]
[% ELSIF holiday_match == 'diwali' -%]
	[% bg_image = 'http://static.mailkit.eu/_comm/header-diwali.jpg' -%]
	[% color = '#ff7200' -%]
[% ELSE -%]
	[% bg_image = 'http://static.mailkit.eu/_comm/header-big.jpg' -%]
	[% intro_heading = hello _ name _ ','-%]
	[% color = '#de1219' -%]
[% END -%]

We always build our templates using variables so we can easily adjust them and in this case we just override the default variables with the ones based on holidays.

dynamic_templating.gif

As you can see a small effort can bring very visible differences in the resulting output.

Every marketer should consider the benefits of building a custom designed campaign for each holiday and calculate the ROI of such investment. It will vary business by business, industry by industry.

Automating this process using our template logic significantly reduces the cost and allows to address even the less common holidays. It lets your campaigns stand out in the Inbox and that always matters. If you want to know more about how far can our templating get you, feel free to get in touch.

Happy Halloween!