RebelMouse Talk to Us
Using Mustache Syntax to Customize Mailchimp Templates

RebelMouse has many ways that we can help to simplify your newsletter campaign workflow. Our integration with Mailchimp allows you to automate your daily or weekly newsletter (using an algorithm to select the top-performing posts of either period) or to use our Entry Editor to create a post, which can then be sent to Mailchimp and distributed to your appropriate lists. You are also able to simply select the correct template for any post you send as a newsletter (or your automated newsletters).


Here we will describe how to use the Mustache template syntax with data to render posts in your newsletters. This is a method that we created to make it easy to augment your newsletters by using Mustache templates. You can learn more about the Mustache template here: https://mustache.github.io/mustache.5.html

To tell an HTML block to render as a Mustache template, we need to create an HTML tag with the "mc:edit" attribute, and have it contain the value "_mustache" as a postfix. For example:

<div mc:edit="posts_list_mustache"></div>

Then, during rendering of the newsletter, the Mustache syntax will be replaced with variables from our posts.

The minimal code needed would be, for example, this code snippet:

<div mc:edit="posts_list_mustache">
 {{#posts_list}}
  {{#image600x}}
  <a href="{{ post_url }}"><img src="{{image600x}}"></a>
  {{/image600x}}
  {{#header}}
   <a href="{{ post_url }}" target="_blank">{{ header }}</a>
  {{/header}}
 {{/posts_list}}
</div>

List of Variables

For the "posts_list" List:

Name

Description

header

Header/Headline of a post

subheader

Subheader/Subheadline of a post

post_url

Post URL

image600x

Lead image 600x

image300x

Lead image 300x

image980x

Lead image 980x

image

Image (this displays an image and works in Gmail correctly)

before_listicle

Body text before listicle/particle

after_listicle

Body text after listicle/particle

authors_names

Author names list

author_name0, author_name1, author_name2, author_name{}

Author names

author_avatars

Author avatars list

author_avatar0, author_avatar1, author_avatar2, author_avatar{}

Author avatars

created_date

Created date

keep_reading_enabled

Is keep reading enabled for the post

tags

Tags list

listicle_items_list

A list of listicles/particles

related_posts_list

A list of related posts

Note: Sometimes you may have multiple authors that you want to attribute a newsletter to. Such as, instead of saying "By Author 1" in the newsletter, you want to say "By Author 1 and Author 2." This simply requires a tweak to the code, as seen below:


<code>{{#author_name1}} //Checking if we have the second author 
By {{ author_name0}} and {{ author_name1 }} 
{{/author_name1}} 
{{^author_name1}} //If we don't have the second author we print only one 
By {{ author_name0}} 
{{/author_name1}}

For the "listicle_items_list" List:

Name

Description

is_image

Check if the image is set for a given listicle/particle

image600x

Listicle/Particle 600x px image

image

image (this displays an image and works in Gmail correctly)

media_html

Sometimes instead of the lead image, media HTML might be defined

headline

Listicle/Particle headline

body

Listicle/Particle body

item_permalink

Particle URL

has_brief

True if the post has brief parameter filled (used to determine Keep Reading)

brief

Brief parameter (used to show the first part of Keep Reading)

For the "listicle_items_by_groups" List:

(In case you are dealing with multicolumn listicles.)

Name

Description

is_multicolumn

Marks if a given particle is multicolumn

is_layout_two_columns

Is this a two-column layout

is_layout_three_columns

Is this a three-column layout

parallax

Is this a parallax layout

ecommerce

Is this an e-commerce layout

item0

First item of a particle

item1

Second item of a particle

item{}

Where {} is a number, it will render information about a given item. So in case we are dealing with a three-column layout, we will have item0, item1 and item2. For a two-layout column, it's item0 and item1. And for single-column layout, only item0 will be available.

has_sponsored_slug

A Boolean that determines if slug of particle is starting with sponsored content or a sponsored response. Used to determine if the post is sponsored.

has_brief

True if the post has a brief parameter filled (used to determine Keep Reading)

brief

Brief parameter (used to show the first part of Keep Reading)

For the Item object for the "listicle_items_by_groups" List:

Name

Description

basename

Item base name

images

Please refer to the "image choices" section

is_first

Is it the first particle

is_last

Is it the last particle

is_image

Does the particle contain an image

headline

Particle headline

media_html

Sometimes instead of the lead image, media HTML might be defined

href

A URL to a given particle

id

ID of a particle

index

Index of a particle

item_permalink

Link to a given particle

body

Particle body (not parsed)

description

Particle description (parsed)

Image Choices:

Name

Description

is_image

Checks if an image is set for a given listicle/particle

image600x

Listicle/Particle 600x px image

image

Image (this displays an image and works in Gmail correctly)

imageorigin

Same as image

image210x

Image 210x

image300x

Image 300x

image600x

Image 600x

image980x

Image 980x

image35x35

Image 35x35

image300x300

Image 300x300

image600x200

Image 600x200

image600x300

Image 600x300

image600x400

Image 600x400

image600x600

Image 600x600

image750x1000

Image 750x1000

image700x1245

Image 700x1245

image1000x750

Image 1000x750

image1200x400

Image 1200x400

image1200x600

Image 1200x600

image1200x800

Image 1200x800

image1245x700

Image 1245x700

image1500x2000

Image 1500x2000

image2000x1500

Image 2000x1500

Here is an example of a simple HTML template with Mustache syntax used: https://gist.github.com/kkszysiu/0dca4715dd55b66e4c7e23478411727c

Creating a Template in Mailchimp

To create a template in Mailchimp, we need to log in to the Mailchimp dashboard, then go to the Templates view and create a new template:

Then select the "Paste in code" option in the next step:

Now you can copy-paste the sample template from the GitHub link above.

Once that's been entered, you simply click Save and Exit in the bottom-left corner of the screen. Then you'll be prompted for a name for the template. Enter a familiar name for your template that helps keep you organized and you're through this part! You can continue to edit the template to make it fully your own, too.

Testing the Template

To test your template, the easiest way would be to create a new "Audience" or "List" in your Mailchimp dashboard, and then add test emails to your newly created audience.

From our Entry Editor, go to the Send a Newsletter tab and select your newly created audience and test template:

After publishing a post, you should receive a test email that uses the test template. Note that if you have any errors in the code in the template, Mailchimp may not receive the newsletter. If you notice that the draft isn't appearing in your Campaigns tab in Mailchimp when you send to Mailchimp, you'll want to check your code to be sure that there are no errors.

You can repeat this flow by changing something in your template, saving it, and then editing this post in Entry Editor and checking the changes in the emails you will receive.

If you have any questions, please contact your account manager or support@rebelmouse.com.

Build on a Better PlatformReady to See More?
Request a Proposal
The Most Secure CMS of 2022
Featured

The Most Secure CMS of 2022

Why RebelMouse Is the Most Secure CMS on the Web

Delivering a secure, high-performing environment with extreme reliability is essential to all of our clients at RebelMouse. We only use industry-leading, reliable approaches to host our infrastructure. This ensures maximum stability and security for all of our clients’ data. Here are just some of the reasons we’re able to maintain a hard-bodied product that’s flexible, too.

Most websites get hacked. RebelMouse has never been hacked.

Keep reading... Show less
Google Made Major Changes to Its Formula for Page Speed. Here’s What to Do About It in 2022.
Rebel Insights

Google Made Major Changes to Its Formula for Page Speed. Here’s What to Do About It in 2022.

Make sure your site is set up for success in 2022.

In the spring of 2020, Google let the world know that its Core Web Vitals would become the new benchmark for measuring a site's performance in its search results, known as the page experience update. Fast forward to more than a year later in August 2021 when, after much anticipation, Google's page experience update became official.

Since its rollout, developers have felt the impact of how their publishing platforms stack up against the new standard. Important decisions around the architecture of your site can now make or break your site's performance in the eyes of Google.

HTTP Archive, a tracking platform that crawls the web to identify trends and record historical patterns, has revealed how top content management systems (CMS) have weathered the page experience update through the creation of its Core Web Vitals Technology Report. RebelMouse consistently outperforms major CMS platforms on Google's most critical metrics since its rollout and into January 2022:

Luckily, performing well on Core Web Vitals is possible with thoughtful, strategic changes to your site’s codebase. Here's what you need to know and how we can help.

Keep reading... Show less
Build on a Better PlatformReady to See More?
Request a Proposal
Optimizing TikTok Embeds to Reduce CLS Penalties
Rebel Insights

Optimizing TikTok Embeds to Reduce CLS Penalties

TikTok has become one of, if not the most popular social media platform. They're fun, they're fast, and anyone can have fun with them, and we have worked very hard to make it super easy for writers and editors to embed them by simply dropping a link into our Add Media Bar.

Keep reading... Show less
Here’s What You Need to Know About Google’s Big GA4 Announcement
Rebel Insights

Here’s What You Need to Know About Google’s Big GA4 Announcement

The search giant said that it’s nixing Universal Analytics for good

The internet was abuzz last week when Google announced that it’s sunsetting its Universal Analytics offering in favor of Google Analytics 4 (GA4). The search giant will stop processing new hits through Universal Analytics on July 1, 2023 (Universal Analytics 360 properties have until October 1, 2023). The news was a shock for site owners and search marketers alike who were not prepared for such a hard deadline.

In its March 16, 2022 announcement, Google said that “Universal Analytics was built for a generation of online measurement that was anchored in the desktop web, independent sessions and more easily observable data from cookies. This measurement methodology is quickly becoming obsolete.”

By contrast, Google says that “Analytics 4 operates across platforms, does not rely exclusively on cookies and uses an event-based data model to deliver user-centric measurement.” Click here to read Google’s full announcement and overview of the differences between GA4 and Universal Analytics.

Why the GA4 Announcement Is a Big Deal

Keep reading... Show less
Build on a Better PlatformReady to See More?
Request a Proposal