Create your own templates

With a few simple tags, you can turn any HTML page into a re-usable email template. This is especially handy for designers that have clients who want to send their own emails. Using our simple WYSIWYG editor, they can add their own text and images to each email, send it to their subscribers and view reports on the results.

If you’re familiar with XHTML and CSS, it’s usually easier to build your emails using your own tools rather than using the editor each time. Then you can just import it ready to send in a single click. Our templates are perfect for those clients who feel more at home in Word than TextMate.

Handy template resources

Sample email template
Sample email template
A simple HTML template that contains all our tags.
PDF template cheatsheet
Templates cheatsheet
View all of our tags at a glance with this PDF cheatsheet.
Free HTML templates
Free HTML templates
30+ themed templates pre-built with Campaign Monitor tags.
Watch a video demo
Watch a video demo
See our template tags and simple WYSIWYG editor in action.

Our Simple template language

Making content editable

Quick Links

Dates

Personalization

Making Content Editable

You can use these tags to create templates for your client, allowing them to manage the content for their campaigns while your design stays intact. Just put these tags in with your regular HTML to create dynamic areas of your template that your clients can change.

return to topTitle: <$title$>

Outputs a string you can modify in the editor. Used for smaller strings such as headings, and allows your client to wrap a link around the title.

Optional Attributes

link='true'

If included allows you to add a link to the <$title$> via the editor.

default=''

If included the value of the default attribute will replace the standard “title” placeholder text for that element. The value can be plain text or even HTML. This can be really useful to document your templates and give an indication of what sort of content should go where.

Example

<h2>
     <$title link='true' default='Enter Title Here'$>
</h2>

Would output something like:

<h2>
    <a href="http://mydomain.com/page/">This is my first title</a>
</h2>

return to topDescription: <$description$>

Outputs HTML you can modify in the WYSIWYG editor. Used for larger, multiline bodies of text and is automatically converted to HTML.

Optional Attributes

default=''

If included the value of the default attribute will replace the standard “description” placeholder text for that element. The value can be plain text or even HTML. This can be really useful to document your templates and give an indication of what sort of content should go where.

Example

<$description default='<p>Enter body content here</p>'$>

Would output something like:

<p>Body content here</p>

return to topImage: <$imagesrc$>

Used inside the HTML <img> tag. Use this tag in place of your normal image URLs and you can update the image in the editor. Also allows your client to automatically wrap a link around the image.

Required Attribute 

width=""

Not actually an attribute of the <$imagesrc$> tag, but you need to specify a width on your <img> tag. Any images wider than the specified width that are uploaded in its place will automatically be proportionally resized to the value set. Images narrower than specified will not be resized at all.

Optional Attributes

link='true'

If included allows you to add a link to the image via the editor.

default=''

You can specify a default image that will be used in the email unless it is replaced when the campaign is edited. The filename should be the name of a jpg, gif or png image that has been uploaded with the template zip file.

Example

<img src="<$imagesrc link='true' default='image.jpg'$>" width="200">

Would output something like:

<a href="http://mydomain.com/page/">
     <img src="image.jpg" width="200">
</a>

return to topRepeater: <repeater>

Defines an item that can be repeated an infinite number of times in the template. Must include either a <$title$>, <$description$>, or <$imagesrc$> tag. You can have an unlimited number of repeaters in your template. These are usually used for lists of articles or features which can repeat an unknown number of times.

Optional Attributes

toc='true'

If included this repeater populates the table of contents with the titles from the repeater. Only one of your repeaters can populate the table of contents.

Example

<repeater toc='true'>
<h2>
    <$title link='true' default='Enter Title Here'$>
</h2>
<$description default='<p>Enter body content here</p>'$>
<img src="<$imagesrc link='true'$>" width="200">
</repeater>

Would output something like:

<h2>
     <a href="http://mydomain.com/page/">This is my first title</a>
</h2>
<p>Body content here</p>
<a href="http://mydomain.com/page/">
    <img src="image.jpg" width="200">
</a>
<h2>
    <a href="http://mydomain.com/page/">This is my second title</a>
</h2>
<p>More body content here</p>
<a href="http://mydomain.com/page/">
    <img src="image.jpg" width="200">
</a>

return to topTable of Contents: <tableofcontents>

Defines an item that will be repeated for every item in the repeater with toc='true'. Must include a <$repeatertitle$> tag. Automatically generates a table of contents for your campaign.

Example

<ul>
    <tableofcontents>
    <li>
        <$repeatertitle$>
    </li>
    </tableofcontents>
</ul>

Would output something like:

<ul>
    <li>
        <a href="#1">This is my first title</a>
    </li>
    <li>
        <a href="#2">This is another title</a>
    </li>
    <li>
        <a href="#3">I like titles</a>
    </li>
</ul>

return to topRepeater Title: <$repeatertitle$>

Outputs a link to a repeater item, using the text from the <$title$> tag for that item. Used exclusively within the <tableofcontents> tag.

Example

<tableofcontents>
<$repeatertitle$>
</tableofcontents>

Would output something like:

<a href="#1">This is my first title</a>
<a href="#2">This is another title</a>
<a href="#3">I like titles</a>

Quick Links

These tags can be used in all of your campaigns, whether you are using templates or not, or even just in plain text campaigns.

return to topWeb Version: <webversion>

Defines a link to a web-based version of the campaign, where recipients can view the campaign in their web browser.

HTML emails – <webversion>your content here</webversion>

Plain text emails – [webversion]

return to topForward to a Friend: <forwardtoafriend>

Defines a link to a forward to a friend page where recipients can forward the email to up to 5 friends at a time, and even add their own personal message.

HTML emails – <forwardtoafriend>your content here</forwardtoafriend>

Plain text emails – [forwardtoafriend]

return to topUnsubscribe: <unsubscribe>

Defines a single-click unsubscribe link in your template. Please note that it is a requirement to include our single-click unsubscribe link in all of your campaigns.

HTML emails – <unsubscribe>your content here</unsubscribe>

Plain text emails – [unsubscribe]

return to topPreference Center: <preferences>

Defines a link to the preference center, where each subscriber can update their subscription details or unsubscribe.

HTML emails – <preferences>your content here</preferences>

Plain text emails – [preferences]

Dates

Outputs date related text based on when a campaign is sent. Used to add date related text, such as “July Newsletter” to your templates that automatically updates when your client sends their campaign.

<$currentday$> – outputs a numeric representation of the day of the month e.g. 8

<$currentdayname$> – outputs a textual representation of the day e.g. Wednesday

<$currentmonth$> – outputs a numeric representation of the month e.g. 7

<$currentmonthname$> – outputs a textual representation of the month e.g. July

<$currentyear$> – outputs a numeric representation of the year e.g. 2009

Example

<$currentmonthname$> <$currentday$>, <$currentyear$>

Would output something like:

July 8, 2009

Personalization

Add your recipients personal data into your email content. You can also personalize your emails with custom field data.

First Name – [firstname,fallback=your content here]

Last Name – [lastname,fallback=your content here]

Full Name – [fullname,fallback=your content here]

Email address – [email]

Custom fields - [customFieldName,fallback=your content here]