Confession time. Nearly every thought I have and action I take is the result of a never-ending internal battle between sides of a split personality.
Efficiency Tyler vs. Perfectionist Tyler
These two don’t traditionally play well together, and for a very long time, Perfectionist Tyler won most of the battles, which led to two results:
- Reasonable success in school
- SO. MUCH. WASTED. TIME.
His need to optimize every last detail of tasks and projects is a little intense.
And whenever Efficiency Tyler got the nerve to try to stand up to Perfectionist Tyler, it didn’t end well.
So, Efficiency Tyler’s talent went mostly unused in his early years, happy to let Perfectionist Tyler take the lead while he spent his days frolicking in the sea with his shoes on.
However, in recent years, Efficiency Tyler has begun to come into his own, training vigorously in hopes of taking over control of my day-to-day actions.
You: Dude, isn’t this post supposed to be about how to automate Twitter?
Me: Right. Good call. Let’s do this.
Once upon a time, I took over the Twitter account for the Chicago Chapter of the Wisconsin Alumni Association. As a board member and part of the marketing team, I help organize and promote local networking, volunteer and other alumni events for the 24,000+ University of Wisconsin alumni around Chicago.
As a time-constrained volunteer position and not a full-time gig, this was the perfect opportunity for Efficiency Tyler to work on flexing his muscles to help me stop driving for perfection at times when good enough gets the job done.
As a starting point, our Twitter account had these vitals for the 90 days immediately prior to when I took over:
I wanted to improve our Twitter performance in a way that was consistent with our overall chapter goals, which are:
- Promote the best interests of the University of Wisconsin and the Wisconsin Alumni Association
- Promote fellowship and cooperation among alumni and friends of the University
- Assist and support University student and alumni organizations
- Raise funds for the WAA-Chicago Scholarship Program
I did some research on what others are doing around automation, what ratio of our posts are appropriate to automate, what tools are needed to make it work, and some industry social media metric benchmarks for success/failure context.
One key finding I saw repeatedly was that up to 80% of a brand’s social mix can and should be curated content that your audience will find useful. This meant that a majority of our posts didn’t need to be original content, which is time consuming to create in high quantity. Instead, great content from others, shared thoughtfully, drives engagement in a less time-consuming way.
I set these goals for the first six months:
- Average > 1,000 impressions / day
- Average > 2.0% engagement rate
- Maintain a positive follower growth rate
- Spend $0 (our budget) and < 30 minutes / week achieving goals 1-3
Now, any monkey with a third grade education, enough free time and money to spend could achieve any one of these, but to do all of them together is a challenge. Especially since that fourth goal is, what some might call, a real doozie.
More quantity, more quality, in less than 5 minutes per day, for free.
I’m not even really sure what a wheelhouse is, or if Efficiency Tyler has one, but if he does, this is in it.
Now that you know what my goals were, it’s important to keep in mind what my goals weren’t.
My aim was not to produce picture-perfect tweets and results that are of the quality and consistency of a full blown, professionally managed account. Our account and the results desired don’t require that type of solution, and this is about using the right solution for the job. Anything more is wasteful.
Below I give a how-to of the exact process I used to build an automated process to address these goals, so you can implement the exact same system.
You: You seriously want me to read and follow a detailed how-to when you haven’t even proven to me that it works yet?
Me: Damn. You’re right. Better share the results first.
Goal #1: Get > 1000 Impressions/Day
The strategy produced a drastic increase in impressions, moving from 11,600 impressions over the 90 days from May – July (129 impressions/day), to 218,100 during the most recent 90 day period (2423 impressions/day).
You: Golly, that’s pretty neat. But aren’t impressions a vanity metric? If you tweet more, of course you get more impressions.
Me: Yep. That’s why goal #2 was to increase engagement along with impressions. Quality and quantity.
Goal #2: Average > 2.0% engagement rate
The strategy increased engagement from 0.7% to almost exactly 3% — a 4X increase in the rate of favorites, retweets, link clicks and an the like. Since the latter rate was now part of a much higher impressions total, this Twitter automation strategy drove an 80X increase in raw number of engagements.
This Twitter automation strategy drove an 80X increase in raw number of engagements. Click To Tweet
Here’s what the engagement increase looks like on top of the impressions increase. (NERD ALERT: Double vertical axis chart, coming in fast at 12 o’clock.)
Goal #3: Maintain a positive follower growth rate
Don’t confuse this goal with actively trying to grow our followers, which wasn’t the case. I just wanted to be sure my efforts to achieve goals #1 and #2 weren’t increasing short term impressions and engagement at the cost of regularly annoying enough of our followers to the point of unfollowing.
No fancy-pants chart needed here. Followers increased from 850 in August to 1130 at the end of January. Check.
Goal #4: Spend $0 and < 30 minutes / week
I have yet to spend a penny on any of the tools or labor needed for this strategy, thus achieving Cheapskate Level 10 status. Between time spent keeping the automated machine alive, troubleshooting hiccups, and making small improvements along the way, I definitely haven’t spent more than 30 minutes / week actively achieving goals #1 – #3.
Here’s the full vitals from the last two 90 day periods compared to the 90 days immediately prior to the strategy:
So, I was able to meet or exceed all four goals using only this method to automate Twitter. The great Perfectionist Tyler had fallen at the hands of a much scrappier Efficiency Tyler.
Me: There. I proved that the strategy worked. NOW can I show you how I did it?
You: Fine. But only if you cool it on the Rocky IV GIFs.
Me: Noted, but I can’t make any promises. As a compromise, you listen to this soundtrack gem on repeat to keep your mind right as you read, and I’ll tone down the Italian Stallion imagery. Now… Onward.
How I Automate Twitter (and you can too)
1. Do the Research
Let’s start with the questions you need to answer before setting up your automation, and how and where to find the answers.
How often should I tweet?
Because Twitter’s feed is unfiltered and most people follow hundreds of accounts, the lifespan of a tweet is really short, meaning you can (and should) tweet several times a day to increase the chances that people who follow you see your content. Remember to leave a few non-automated spots open for manual tweets of your own content and audience interaction.
There’s no “perfect” number here. I landed on 5X / day to start out, and have since increased it to seven.
What content topics are my audience interested in?
Use the “Audiences” section of your Twitter analytics dashboard for this one. Here’s a snapshot of part of ours:
Knowing the interests that are unique to your audience as well as the other accounts that many of them follow will help shape what types of content you’ll look for to automatically tweet to them.
What specific content should I share?
You’ll want to start a list of all the content sources that are most relevant to your audience.
Start with your own content. Blogs, YouTube channels, and Instagram accounts all tend to work well.
You: What about our Facebook account?
Me: Excellent question. Your questions are getting better — inspired by the soundtrack, no doubt.
I don’t recommend directly automating Facebook to Twitter (or vice versa) for anyone. Many have tried, but I’ve never seen any person or brand do this in an elegant (or even mildly acceptable) way, and it usually makes you look like a sloppy jerk.
Don’t directly automate Facebook to Twitter. It usually makes you look like a sloppy jerk. Click To Tweet
Next, you’ll curate content that you don’t own.
Take a look at the content shared by the accounts on the “Your Followers Also Follow” list from above. Stalk these brands / people and add their blogs, YouTube channels and Instagram accounts to your list. Do the same for any other common accounts you encounter along the way.
Large universities like Wisconsin are bursting at the seams with fresh content, as nearly every sports team, student group, and academic department regularly crank out blogs, videos, and pictures.
We have over 40 different sources feeding our system right now, but 10-15 sources should be enough to get you started. You can add more as you discover them organically on the fly if it makes sense for your goals.
Here’s some examples of non-owned content sources we use to automate Twitter.
- Wisconsin Alumni News
- Big Ten Network Blog – Wisconsin Only
- UWBadgers Blog
- WisconsinBadgers Instagram Account
- UWBadgers YouTube Channel
- NCAA Men’s Basketball Blog
You: Okay cool. Wait… doesn’t that last blog have content about all NCAA basketball teams? Your audience only cares about Wisconsin stuff.
Me: Good lookin’ out. You’re right. One of the tools I’ll show you in a minute lets you use word filtering to only allow through the posts you care about if your source isn’t a 1:1 fit for your audience.
When are my followers active on Twitter?
Followerwonk has a bunch of great free tools for Twitter analysis, including one that shows when your followers are active throughout the day. Head to their Analyze page, enter your username, change the setting to “analyze their followers” and take a look at the “most active hours” chart for your followers. Here’s how ours looks:
Note what time your audience first perks up in the morning, as well as any notable peaks throughout the day. Set your schedule so that you tweet just before these times to be sure that when followers fire up their timeline, your tweet is there waiting.
You can even automate(!) implementing this schedule with Followerwonk’s built-in integration with Buffer, which will create a posting schedule based on your follower’s peak activity times.
Here’s the schedule we use at the moment.
You: What is this Buffer of which you speak?
Me: Funny you should ask.
2. Get the Tools
Create a Buffer Account
Buffer allows you to manually or automatically (bingo) queue up tweets ahead of time that will be sent out later according to a schedule you set. Using the schedule you pulled from Followerwonk, go ahead and set up the days/times you want Buffer to send out tweets for you.
I recommend Buffer over other free options because it’s the only one I’ve found that posts images in your tweets in the native Twitter format that expands images automatically in users’ timelines. This is a must, as tweets with images have at least 5X the engagement of their drunk, embarrassing uncle, the Text-Only Tweet.
Tweets with images have 5X the engagement of their drunk, embarrassing uncle, the Text-Only… Click To Tweet
Another Buffer power move you’ll want to make is to turn on link shortening (Settings > Link Shortening), which will save you precious characters in every tweet. You can connect your own Bit.ly link shortening account if you’re fancy like that, or just use Buffer’s default Buff.ly format if you’re okay subtly plugging Buffer every time you tweet.
Find the RSS feeds for each source
RSS stands for Real Simple Syndication, and is a sort of live news feed for various websites. They’re basically hoses of information unique to a blog, YouTube channel, etc., but rather than having to visit that site, updated information is pushed down to hose as it’s published in real-time.
Most people connect these hoses to a feed reader, where all these updates are aggregated to read, like a subscription. However, you’re going to connect these hoses to your Buffer account so the real-time updates from your list of audience-specific sources become scheduled tweets for your followers.
RSS feeds come in the form of a web address or link, but some websites are better than others at making these links easy to find. To find an RSS feed, head to the website or blog, and look around the menu bar, or footer of the page for a link that says RSS, or has some variation of this icon:
If there’s only one feed for the site, one click may take you directly to the RSS feed page, where you’ll probably see a bunch of code on the page. If you can’t find a button or link, try typing in www.website.com/feed or www.website.com/rss into your browser’s address bar.
If the RSS code pops up rather than an error page, you’re in business. Copy the link from the menu bar into your content list next to the name of this source.
Sites that publish lots of content every day, like the Big Ten Network, have several feeds which are often are separated by topic. These sites usually have a directory page where you can pick one or more feeds that you think are appropriate for your content.
BTN.com totally has their act together and has a nice feed directory page with feeds sorted by school, sport, etc. We select the “Wisconsin Only” feed, like so:
You: Nice. Wait… is DQ really trying to sell chicken strip baskets with banner ads on BTN.com?
Me: Sadly, it appears so. Even more sadly, it’s probably fairly successful since every single Iowa fan clicks on it.
Once you’ve found some feeds you think may work, it’s a good idea to check if the feed is valid so you know it will work for our purposes. Head to W3C Feed Validation, paste in your link address, and hit “check”. Then cross your fingers, and hope you see this:
If you don’t, the feed may still work for our purposes, but don’t hold your breath.
Once you know your feed is valid, you should do a quick quality / quantity check using Feedly. Plug in your feed’s address and Feedly will tell you how many articles/week are published on that feed, and show you the last several posts. Ideally, the posts all have images and titles that would make a good tweet, since these elements are what will become your auto-scheduled tweets.
In this example from the BTN feed, we see 27 articles/week which means this could provide our followers with up to 4 tweets per day. Also, one recent post had no image, which is not ideal. Not a deal-breaker (because we’re not seeking perfection), but reason to keep an eye on this feed later.
You’ll follow this process for all content sources in your list that are blogs or websites.
YouTube channels are also great sources of content, since video is one of the most engaging types of content. For any YouTube channels you found, find the channel’s username by clicking on their name below any video they’ve posted, which will take you to their channel page. Then head to their About page, and copy their username from the address bar above.
Once you’ve got the username, paste it into the following link format, replacing USERNAME with the desired channel’s username.
You can now treat this address just like you did the RSS feeds you found earlier for blogs and websites. You don’t need to check these with the feed validator (it doesn’t like them, but they still work), and you don’t need to worry about images for videos, but you can still plug these feeds into Feedly if you’d like to check on whether the post title and content quality and frequency make sense for your needs.
Once you’re satisfied with your feeds list, you’ll connect each to Buffer with IFTTT.
Create an IFTTT account
IFTTT (If This Then That) is a free service that connects a ton of different web services together through “recipes”. You set up a Trigger Channel (THIS) and an Action Channel (THAT) that does something when the trigger channel is, well, triggered.
Set up an account, head to Channels, and connect your Buffer and Instagram channels.
Next click “Create A Recipe”, and follow the step-by-step guide to create your feed, choosing Feed then New Feed Item for your “IF” trigger, and plug in the RSS feed address for your source like so:
Next, if the content you’re adding is a blog or website, for your THAT action, select Buffer, then Add Photo to Buffer. If its a YouTube channel, select Buffer, then Add to Buffer, since YouTube doesn’t have photos.
You: What if after I create a recipe for a blog, their posts don’t have images?
Me: You’ll want to come back into IFTTT, delete that recipe and create it again using Add to Buffer instead of Add Photo to Buffer.
Also, tweets from this blog will now take on the drunk uncle text-only format, so keep an eye on engagement, or lack thereof, with these tweets — you may want to remove the feed altogether if people aren’t engaging.
Before clicking Create Action, be sure the Description box (for non-photo posts, it’s labeled Update) has both the Entry Title ingredient, which will be the title text from the blog article or YouTube video, and the Entry URL ingredient, which is the link to the content itself. This will ensure your tweet has both a caption and a link for people to go find the juicy piece of content you’re sharing.
Finally, give the recipe a description so you can identify it later, uncheck the notification option, and hit Create Recipe.
Your new recipe will now show up on your My Recipes page, where you can edit it later as needed.
Sometimes there are RSS feeds that are mostly relevant to your audience, but still has some content that you don’t want to share. As you astutely pointed out earlier, this is the case for the NCAA feeds that are separated by sport, but not by school.
I know. Annoying.
But fear not — when creating a recipe for a feed for which you only want certain posts, select Feed for the trigger channel, then select New Feed Item Matches as the trigger. This will allow you to enter a filter word or phrase, like your company name or brand, or in our case, “wisconsin”. Now only let posts mentioning that word or phrase are let through.
You can use IFTTT to connect any Instagram account to your Buffer without RSS, so that you tweet out great photos to your audience. Instead of using Feed for your IF trigger, you’ll select Instagram, then New Photo by a Specific User. Enter that user’s Instagram username in the field, then follow the process from earlier for the THAT action. I recommend setting up the specific ingredients like this:
Remember that people don’t write Instagram captions with Twitter’s 140 character limit in mind, so you have to decide if you’re okay with some of your resulting tweets having truncated captions with a “…” at the end.
Is this acceptable for a Fortune 500 brand that’s professionally managed 40+ hours/week?
For one that has 5 minutes/day to spend on social media?
Here’s an example of when this happened to @chicagobadgers with this exact type of Instagram recipe. Not only did the sun still come up the next morning, but this tweet had more than double our average engagement.
Even with the truncated caption, followers still have the shortlink to click and explore further if there’s some call-to-action or confusing content in the caption.
Truncated tweet captions seem scary, but for passively managed accounts, they ain’t so bad.
Create recipes like those above for all of the content sources in your list, and you’ll see your Buffer start to fill up as soon as one of the sources posts its next article, video, or photo.
3. Audit Your Queue
Use the Buffer queue as a place to review and evaluate your upcoming tweets created by your IFTTT recipes. Here you can edit any text that is cut off or doesn’t make sense, add photos to posts that didn’t have any, and do any other editing you’d like.
Keep in mind that if an IFTTT recipe needs this type of babysitting too often, you should consider dropping it altogether since you’re wasting time you could be using to
binge watch Netflix do something more productive.
You: What if I have, say, 10 feeds and they all produce 16 articles/week. Won’t this flood my followers with 160 tweets/week, and clog up my Buffer queue?
Me: Nope. Since you set your Buffer’s schedule, Buffer, not your feeds’ posting frequency, determines how frequently your tweets go out.
As far as your queue backing up, the free plan queue only holds a max of 10 posts, so if it’s full and IFTTT tries to add a post, that post will simply be skipped until your next tweet posts to Twitter, thus making room in your queue again.
Here’s a bird’s eye view of the system you’ll create to automate Twitter.
And here’s a bird’s eye view of a bird’s eye.
This tweet got 682 impressions, and 71 engagements (mostly video views), for a 10% engagement rate, which is pretty cool. What’s really cool, though, is that these results happened automatically.
A manual system relying on me to see and then share this post would have missed this post completely. A less thoughtful automated process would have shared the video immediately when it posted at 12:15 AM, when it would be seen by virtually no one, then buried in our followers’ timelines by morning by tweets pouring in from elsewhere.
Instead, the RSS feed pushed high-engagement content — a video — to IFTTT, which pushed it to Buffer, which scheduled and eventually shared it with our audience at a time when they were active to maximize impressions and engagement, all without me as part of the workflow.
Recap + Bonus
This system can also be a great addition to personal twitter accounts, depending on your goals. But remember, this strategy — and automation in general — isn’t for everyone. You have to determine if the time & effort saved are worth more than your closer-to-perfect alternatives.
Determine if the effort saved via automation is worth more than closer-to-perfect alternatives Click To Tweet
It’s not without its hiccups, but setting up this system will allow you to confidently step away from the keyboard now and then without worrying that your audience is getting complete radio silence or junk content.
In the end, Efficiency Tyler created real change, stepping into a prominent role in my day-to-day decision making. Oddly enough, he’s now hellbent on getting literally everybody to change. Even the Russians.