FeedOtter Logo Standard
Bottom Swoop SVG

Tutorial: How to Use Multiple RSS Feeds to Build and Code an Automated Email

Written by
Andy Theimer
Published on
May 8, 2019

In this tutorial, we are going to focus on the FeedOtter code that allows you to incorporate multiple RSS feeds into your FeedOtter automated emails. Please note, this post is all about the code! If you're looking for a simple setup guide please read our walkthrough post.

How to Use Multiple RSS Feeds to Build and Code an Automated Email

To get started, we'll begin with the standard FeedOtter post loop that loops through your RSS feed and displaying fields. For more information on the fields and loop basics see our post on creating custom RSS email templates.

{% for post in feedotter.posts | slice(0,2) %}
	<div>
	{{post.post_url}}
	{{post.post_title}}
	{{post.post_author}}
	{{post.post_date}}
	{{post.post_excerpt_text | truncate(200,true,"...")}}
	{{post.post_source_url}}
	{{post.post_source}}
	{{post.post_url}}
	{{post.image_url}}
	</div>
 {% endfor %}

Building an email to use multiple RSS feeds is similar with one exception: we add a number to the end of the post feed to specify which feed to reference. In the code snippet below I have copied the standard loop and added "post2" and "posts3" to each section for loop.

{% for post in feedotter.posts | slice(0,2) %}
	<div>
	{{post.post_url}}
	{{post.post_title}}
	{{post.post_author}}
	{{post.post_date}}
	{{post.post_excerpt_text | truncate(200,true,"...")}}
	{{post.post_source_url}}
	{{post.post_source}}
	{{post.post_url}}
	{{post.image_url}}
	</div>
 {% endfor %}
 
 {% for post in feedotter.posts2 | slice(0,2) %}
	<div>
	{{post.post_url}}
	{{post.post_title}}
	{{post.post_author}}
	{{post.post_date}}
	{{post.post_excerpt_text | truncate(200,true,"...")}}
	{{post.post_source_url}}
	{{post.post_source}}
	{{post.post_url}}
	{{post.image_url}}
	</div>
 {% endfor %}
 
 {% for post in feedotter.posts3 | slice(0,2) %}
	<div>
	{{post.post_url}}
	{{post.post_title}}
	{{post.post_author}}
	{{post.post_date}}
	{{post.post_excerpt_text | truncate(200,true,"...")}}
	{{post.post_source_url}}
	{{post.post_source}}
	{{post.post_url}}
	{{post.image_url}}
	</div>
 {% endfor %}

 

The loop code and numbering can be seen beneath each feed URL in the FeedOtter interface:

Feed Loop Code Example

Slicing

Slicing allows us to specify how many posts from each feed we want to display. In the code example below I have added " | slice(0,2)" to the FOR loop. This notation means start at post 0 and return 2 posts.

{% for post in feedotter.posts | slice(0,2) %}
	<div>
	{{post.post_url}}
	{{post.post_title}}
	{{post.post_author}}
	{{post.post_date}}
	{{post.post_excerpt_text | truncate(200,true,"...")}}
	{{post.post_source_url}}
	{{post.post_source}}
	{{post.post_url}}
	{{post.image_url}}
	</div>
 {% endfor %}
 
 {% for post in feedotter.posts2 | slice(0,2) %}
	<div>
	{{post.post_url}}
	{{post.post_title}}
	{{post.post_author}}
	{{post.post_date}}
	{{post.post_excerpt_text | truncate(200,true,"...")}}
	{{post.post_source_url}}
	{{post.post_source}}
	{{post.post_url}}
	{{post.image_url}}
	</div>
 {% endfor %}
 
 {% for post in feedotter.posts3 | slice(0,2) %}
	<div>
	{{post.post_url}}
	{{post.post_title}}
	{{post.post_author}}
	{{post.post_date}}
	{{post.post_excerpt_text | truncate(200,true,"...")}}
	{{post.post_source_url}}
	{{post.post_source}}
	{{post.post_url}}
	{{post.image_url}}
	</div>
 {% endfor %}

This feature can be used to gain precise control over what posts are displayed. This can be useful if you are injecting ads or other more static content into your emails.

At this point, we've got the basic code structure for a multiple RSS feed HTML email but there are a couple of great tricks to make your multiple RSS feed emails even better.

Add "IF" Statements to Hide Feed Content That is Not New

I'm going to wrap an "if" statement around the first post loop.

{% if feedotter.posts | length >0 %}
	{% for post in feedotter.posts | slice(0,2) %}
		<div>
		{{post.post_url}}
		{{post.post_title}}
		{{post.post_author}}
		{{post.post_date}}
		{{post.post_excerpt_text | truncate(200,true,"...")}}
		{{post.post_source_url}}
		{{post.post_source}}
		{{post.post_url}}
		{{post.image_url}}
		</div>
	 {% endfor %}
 {% endif %}
 
 {% for post in feedotter.posts2 | slice(0,2) %}
	<div>
	{{post.post_url}}

This says if there is new content in my first feed to display it, otherwise hide content from the first feed.

This is great if you're building a big newsletter that has multiple sections. You can display only the sections that have new content since your last send.

Always Show Content from a Feed Regardless of Published Date

By default FeedOtter only makes new content since your last email send available in the posts loops. In certain cases, you may want to display less timely content such as eBooks, Whitepapers, Product Tutorials, or events. In this case, you may wish to modify the posts loop a bit further so that the first x posts from a feed always show up.

 {% for post in feedotter.allPosts2 | slice(0,2) %}
	<div>
	{{post.post_url}}
	{{post.post_title}}
	{{post.post_author}}
	{{post.post_date}}
	{{post.post_excerpt_text | truncate(200,true,"...")}}
	{{post.post_source_url}}
	{{post.post_source}}
	{{post.post_url}}
	{{post.image_url}}
	</div>
 {% endfor %}

By using "allPosts" instead of "posts" in the loop we can grab the first two posts from a feed regardless of age. The example loop above will display the first two items in feed 2... Always.

Wrapping It Up

The multiple RSS feed feature is available on FeedOtter's Plus and Advanced plans. There are examples of multiple RSS feed emails in the FeedOtter templates library as well to serve as a starting point for exploring this exciting feature.

Recent Articles

Using the Marketo Operational Email Feature With FeedOtter Emails In 4 Easy Steps

Email marketing is a necessity for lead generation, traffic back to your website and ROI; but, too many marketing emails to the same potential leads can turn people away from your content. Marketo understands this concept and created communication limits for their emails to prevent sending too many emails. Along with communication limits, Marketo also […]

Read More
Updating Content for SEO: Tips, Tricks, and a Case Study to Increase Your Blog Post Traffic

When I first joined FeedOtter, the first task I was given was updating content for SEO. FeedOtter had a plethora of blog articles and a steady stream of organic traffic, but Andy, FeedOtter Founder, knew it could be improved. Within weeks of implementing SEO updates to the content, we started noticing improvements in site traffic. […]

Read More
The Top Free Email Builders to Use with Eloqua in 2021

As any modern marketer will tell you, your marketing emails' design is almost as important as the content — if not more. However, not everyone is a designer or has the capacity to spend hours coding multiple emails for various campaigns. Free email builders have become a valuable asset to many marketers because they solve […]

Read More

FeedOtter Can Help You Automate Blog and RSS Email

Promote your content and increase revenue from website traffic.
REQUEST A DEMO