Author Archives: Chris Makara

About Chris Makara

Since 2003, I have developed an in-depth of experience in Interactive Marketing & Digital Strategy, with a focus on SEO, Social Media & Demand Generation. I am an avid Football Fan, Golf Enthusiast & Ambidextrous Bowler. I can also be found on LinkedIn and Twitter.

Tweet Analytics: The Definitive Guide to A/B (Split) & Multivariate Testing Using Twitter

You are probably familiar with the acronym ABC which is short for “always be closing.” This is a mantra preached by many in the sales world.

Lucky for me, I’m not a salesperson.

So I like to live by a different philosophy – ABT.

In this case, “always be testing.”

Look, I am a huge fan of data and analytics. Particularly when it comes to social media analytics.

There is so much that can learned by knowing what does or doesn’t work.

But did you know that you can use Twitter to A/B, split test or even multivariate test?

Not only just sharing different variations, but the ability to easily view your tweet analytics side-by-side in Microsoft Excel.

It’s true and today I am going to reveal how I use Twitter Analytics and Excel to do perform your own tweet analysis.

Here’s some of what we’ll cover:

There is a lot to go through, so let’s get started.

Download My Ready-To-Go Excel File  Click here to download my Microsoft Excel file so you can easily view your tweet analytics.

Different Types of Testing

The two most common types of testing are A/B testing and multivariate testing.

With A/B (sometimes referred to as split-testing) you are running a test of two items. In this case, some possibilities for an A/B test are:

  • Changing the CTA of the tweet (using “Please RT” against “Share this”, etc)
  • Test a tweet that uses an attached image against one that doesn’t use an image
  • Perform a hashtag analysis where you compare the effectiveness of one hashtag against another

The idea with an A/B test is to run the control (A) against a controlled variation (B).

Here’s an example:

In multivariate testing you are changing two or more things in the variation against the control. A few examples are:

  • Impact of the CTA by different hashtags and attached images
  • Changing of CTA’s impacted differently with the placement of the URL in the tweet
  • Test the effect of engagement rate of using the blog post title against a section title of your blog post

Here’s an example of a multivariate test:

The important thing about running A/B or multivariate tests is to know what you are testing for. Are you interested in engagement rate, number of URL clicks, likes, retweets, etc.

Knowing this up front can help you create better tests.

Why You Should Test Using Your Twitter Tweets

There are many different ways you can test. For example, there are WordPress plugins that can switch out your blog titles.

But, what if your site doesn’t get a ton of traffic?

You will be waiting forever to get results of what does or doesn’t work.

Other options for testing include using paid social ads. While this does work and can get you results rather quickly, maybe you don’t have a budget to do this?

So what’s the free solution?

Use your Twitter account.

Of course, if you want to use this method you should have a decent size following or a very engaged user base.

Before You Can A/B Test With Twitter, You’ll Need to Setup Your Analytics Account

When you create a Twitter account, you will also be able to get access to your Twitter analytics. It’s a pretty easy process to get setup.

If you already have Twitter Analytics up and running, you can go ahead and skip to the next section.

So if you don’t already have a Twitter account (I won’t judge you), go ahead and create your account. Once your account is created, you have “turn on” Twitter Analytics.

Simply go to Twitter Analytics and login.

Once logged in, you will see a button to click in order to setup your Twitter Analytics account.

It’s important to setup your Twitter Analytics account as soon as you can since data won’t be tracking until you have activated your account.

Depending on if you are using a new account or already had one setup, your date range of data will vary for your tweet analytics.

Creating and Scheduling Your Tweets

In order to run any sort of test, you will need at least two things (versions) you will want to test. This can be something as simple as changing the CTA in a tweet from “click here” to “read now”. Or you can have two entirely different texts to test. Additionally, you can test tweets with or without images.

Test Tweets from Existing Content

For me, the easiest way to create tweets come from work that I have already done.

Simply put, I scan the blog post I will be sharing to see what I would like to test. This is one of the ways I go about creating evergreen social media updates – see #4.

Basically, you can look for:

  • Section headings
  • Stats
  • Quotes
  • Tips/Tricks

For example, there is a section of my blog post called “Why You Need Multiple Social Media Tools”. Within that section you have a nice eye-catching statistic like

“Facebook has 1,900,000,000 monthly active users. Yep, that’s 1.9 billion.”

blog post variations to test

You could decide to test the section heading against the blog post title as well as the statistic.

Test Tweets With or Without Images

Another option for testing could be to test whether the use of an image with the tweet effects engagement rates. To do this, you would have a tweet with an image, then another tweet exactly the same but without the image.

Additionally, you could test tweets that both had the same image, but different text.

Test Blog Post Titles With Tweets

I’m sure as you were pounding away at the keyboard on your latest blog post you more than likely came up with a handful of blog post titles.

There are some you probably thought were garbage, while others made it difficult to decide if it should be the one you ultimately roll with when you publish your post.

Why not take your different titles and use them as the text of the tweet?

You can then see which one(s) get you the most engagement. Who knows, it could be the one you least expected…but you’ll never know until you test it with your social audience.

Test The Impact of Hashtags on Your Tweets

Are you using hashtags in your tweets? If not, you could potentially be missing out on more engagement.

According to this Buffer post, tweets that use hashtags can get double the engagement rate. But be cautious if you plan on using more than two hashtags as engagement can drop.

hashtags increase engagement rate

If you aren’t using hashtags, you might be missing out. But you won’t really know unless you do your own hashtag analysis.

Create a File With Your Tweets to Test

No matter which route you decide you want to test in Twitter, I recommend creating a file to save all your variations of Tweets. This will make it easier for you when you want to share the tweets.

Here is what you will need to do:

  • Create an Excel file (or Google Sheet) with three columns
  • In Column A, enter the text of your tweet
  • For Column B, enter the URL of the blog post
  • If you are going to use an image, note the location of it in Column C

You could do this in Word, but I prefer Excel in that I can sort/filter if I have quite a few tweets to schedule. Plus it makes it easier to get your content into a social media automation tool.

Scheduling Your Tweets to be Tested

Depending on how you want to test may determine the approach you take to schedule your tweets. Some people prefer to post both variations at the same time and base their results on just those two tweets.

You can even identify the best times to tweet for your followers, and choose to post during those times.

best times to tweet

Other people, myself included typically like to share the different variations again and again over a period of time.

Going this route allows me to do a few things:

  • Get a larger sample size of people who viewed the tweet
  • Opportunity to show different variations across different days/hours/timezones

Good news is that whether you want to only post each test/variation once or multiple times, you have several options to schedule these Twitter tests.

Post the Tweets Manually

This approach would work best if you plan on doing a one-time test. Meaning that you want to simply post the tweet one time and see what happens.

Simply login to your Twitter account and post your tweet from the Excel file you created.

Once posted you can check the tweet stats on Twitter for that single tweet.

Now, unless you have a huge Twitter audience you probably won’t get too much insight from posting a single tweet. As you know, only a fraction of your audience will actually see your tweet.

Therefore, I recommend posting the same tweet multiple times to maximize exposure and to get enough data to make an informed decision. This can easily be done through scheduling your social media posts.

Use Hootsuite to A/B Test Your Tweets

One of the largest social media scheduling tools is Hootsuite. This tool will allow you to do many things on Twitter including social media monitoring, team collaboration, and the ability to schedule tweets.

Remember the Excel file you created with your tweets? With some slight modification you can use it to upload your tweets to Hootsuite.

Here’s what you need to do.

The format that Hootsuite will accept is a 3 column CSV file (a CSV is a comma separated file you can make in Excel). These columns are:

  • Date and time – What day and time will the tweet in this row be published
  • Your message – This is the content of the tweet. It should be at most 117 characters
  • URL (optional) – While it is optional to use in the eyes of Hootsuite, we will need to use one so that we can more accurately monitor the data later. This will take about 23 characters when the URL is shortened

To make your Excel work in this format, you will need to insert a new column to the left of Column A. This will push all your columns right one letter (Column B becomes Column C, etc).

You will then need to delete the column with any images you had listed. Unfortunately, Hootsuite doesn’t allow the use of images in a CSV to be attached to your tweet (If there is a way to do this, definitely let me know).

So now you should be left with 3 columns of data:

  • Date and time
  • Your message
  • URL

Before we save and run off to Hootsuite, you will need to set up days and times to post.

Perhaps you already know this info, if so you can enter it in the cell of Column A. Please note that the proper format for this is MM/DD/YYYY  HH:MM:SS PM.

If you don’t know what day/time you want to post yet, I would just enter some random future dates and times into these columns.

Or if you want you can paste the following in the first 3 rows and then drag down the dates to the last row. It should auto-increment the day/time for each row. Just be sure to change the actual date to at least tomorrow. Here are the temporary dates:

  • 2/11/2016 7:30:00 AM
  • 2/11/2016 8:00:00 AM
  • 2/11/2016 8:30:00 AM

Then once your CSV is uploaded, you can rearrange when you want certain tweets to be published.

It’s important that you save the file as a CSV. To do that in Excel, click “File > Save As” and for the file type select “CSV (Comma Delimited)” from the drop down and then click “Save”.

Next, you will need to login to your Hootsuite account and click the “Publisher” tab in the left menu. Once in the publisher tab, click on “Bulk Message Upload”.

You will be prompted with a screen like this:

hootsuite bulk upload csv

In just a few short steps, you will be able to upload your list of tweets to test:

  • Simply click the “Choose File” button and browse your computer where you saved your CSV file.
  • If you used the date format I mentioned above, just be sure to click the radio button for “mm/dd/yyyy hh:mm.”
  • Next you will need to select the social network (Twitter account) you want to schedule these tweets for.
  • The final step is click the “submit” button.

Once your CSV file has successfully uploaded, you will be redirected to calendar of scheduled posts. From here you can move around and edit any of the days/times of when the tweet should be published.

Some things to note about using Hootsuite to publish your tweets for testing:

  • Hootsuite only allows you to upload and schedule one version of an update. Meaning that you can’t typically upload duplicate tweets. You will have to re-add them later once they have been published.
  • There is not an easy way to recycle your tweets to use again and again automatically if you want to post the tweets multiple times. You will have to re-add your CSV file once all scheduled tweets from it have been sent.
  • If you want to attach an image to your tweet, you will need to manually click on the tweet to edit it and upload your image.

If you are not already using Hootsuite, you might need to decide if it is right for you to schedule your tweets for testing. An alternative to Hootsuite is Buffer.

A/B Test Tweets With Buffer

Buffer is another social media tool that has a primary focus around scheduling Twitter updates. If you would like to use Buffer to schedule your tweets, unfortunately it is a manual process.

To add your tweets for testing to Buffer, you will need to first select your Twitter account to test with and then click on the text input box to create your tweet.

buffer schedule tweets to test

To make the copying/pasting easier using the Excel file you created above, you will want to use this formula in cell D2:


You can then drag (or copy) down this formula to the end of your list of tweets. When you are ready to add them to Buffer, simply copy the text from Column D and paste that into Buffer when you create your tweets.

The tweets you add to Buffer will automatically be slotted into the next available time you have setup. You can easily drag a tweet to move it up or down in your queue.

Additionally, if you want to create a custom time to post the tweet this can be done by hovering over the tweet and clicking the “edit” link.

Next, click on the date to select a particular date. If you want to set a custom time outside of your default schedule, simply click on the “custom time” link and enter the time you want to tweet this post. Be sure to save your tweet!

buffer custom post time

If you want to post the tweet right away, you can hover over the tweet and click “share now.” This will send your post to your Twitter account immediately.

buffer share now

Should you want to simply upload a CSV to populate your tweets automatically, there is a way to do it.

Use a CSV File to Upload Tweets for Testing with Buffer

One of the nice things about Hootsuite is that you can upload a CSV with your tweets. With Buffer, it’s not an option.

However, I’ll show you how to upload a CSV to Buffer.

In order to upload a CSV to Buffer we are going to do it with the help of a site, Bulklyfull disclosure, I created Bulkly and it is currently in beta.

The first thing you will want to do is create an account and connect your Buffer account.

Once you have granted access to Buffer, all of your social media accounts in Buffer will show up in Bulkly. Bulkly will send updates to your Buffer account for you.

Bulkly offers a handful of options to load up your Buffer account, but for this post we are going to focus on the “Content Upload” option.

Unlike Hootsuite, Bulkly will allow you to group together social media updates.

Notice the pending, active, and completed columns that each have groups of updates within them.

It makes it very easy to stay organized.

And this comes in very handy if you are going to want to post these updates again and again in order to get more exposure and data. Additionally, it allows you to keep these updates separate from any other updates you have grouped in Bulkly which will allow you to set more or less frequent sending to Buffer. When you are finished running your Twitter test, there won’t be any need to sift through hundreds of scheduled updates to remove only a few – you just have to delete the group or drag it over to the “Completed” column.

One thing to note about Bulkly is that it currently uses your posting schedule as it is setup in Buffer. This means that when a tweet is sent to Buffer, it will be added to the next available spot in your Buffer queue.

Before we get started, we’ll need to tweak the Excel file to work with Bulkly. If you aren’t interested in messing with a CSV, you can easily create your tweets online instead. Click here to see how.

In order to group your tweets in the CSV, you will need to format it like this:

  • Column A (URL) – This is the URL you want the tweet to link to
  • Column B (Image URL) – Enter the URL (optional) of an image you want to attach to the tweet
  • Column C (Content) – In this column you will enter the text of your social media update

To assign these tweets to a group you will need to create at least one group. In Cell A2, you will enter the group name. Then on row 3 you will start entering the URL, Image URL, and content as outlined above.

When you have completed entering your data, it’s important that you save the file as a CSV. To do that in Excel, click “File > Save As” and for the file type select “CSV (Comma Delimited)” from the drop down and then click “Save”.

From your Bulkly dashboard, you will want to click on the “Content Upload” link and then click on the “Upload Content (CSV)” button.


Browse for your file. Once uploaded you will be directed to your “Pending” queue. This will show the posts you have uploaded, but not actually scheduled.

From here you can edit and of the items you uploaded. When you are ready, you’ll need to select the Twitter account(s) you want to send these updates to as well as how often you want to send them to Buffer. Click on the “Activate” button to move everything in this group to the “Active” queue.


Within a few hours your tweets will be dripped into your selected Twitter accounts at the intervals you selected.

Create Social Updates Without a CSV

Now if the whole CSV talk was a little much, Bulkly gives you the option to simply create the tweets directly on the site. From your “Content Upload” screen, click on the “Add Content Online” button and enter the data through the interface.

Once you have entered your tweets, be sure to activate your group to start sending to Buffer.

Getting Your Tweet Analytics

Once your tweets have been posted a handful of times, you can start to export your Twitter data. To do this, we will be using the Twitter Analytics account you previously set up.

Go to your Twitter Analytics account and click on the “Tweets” tab at the top:

twitter analytics tweets tab

In your tweets tab, by default you will see your last 28 days of tweet activities. This date range can be changed to show a maximum of 90 days’ worth of data starting from when you first setup your Twitter Analytics account.

This page is full of key data for your tweets. Among the data displayed are impressions, engagement rate, link clicks, retweets, likes, and replies. All of this data is shown in the right sidebar.

The meat of the page displays your most recent tweets of the date range. It will show you the tweet, impressions, engagements, and engagement rate. Twitter defines engagement rate as:

“Total number of times a user has interacted with a Tweet. This includes all clicks anywhere on the Tweet (including hashtags, links, avatar, username, and Tweet expansion), retweets, replies, follows and likes.”

Engagement rate is calculated by taking the number of engagements and dividing it by the total impressions.

Your most recent tweets can be toggled using the “Tweets”, “Top Tweets”, “Tweets and Replies”, and “Promoted” tabs. This easily allows you to segment your tweets at a quick glance.

Exporting Your Twitter Analytics

In order to know how your various tweets used for testing performed, we need to export your tweet data out of Twitter.

Luckily, this is a very easy process.

Just click on the “Export Data” tab and wait for it to download.

export twitter data

As I mentioned, you can export up to 90 days of data at a time. So if your Twitter testing has lasted longer than 3 months, you can set the date range to be sure you download all the data. You will just need to combine the data into a single Excel file to get the whole picture of your tests.

After you have downloaded all your data, it’s time to move on to the fun part – manipulating the data to see what does or doesn’t work.

Analyzing Your Tweet Analytics with Excel

Raise your hand if you just cringed at the sight of using Excel.

Don’t worry, I won’t bore you with all the intricacies of how I did this – just some of the key components that make this possible.

But before we go any further, you’ll need to download the “ready to go” spreadsheet for analyzing your Twitter A/B testing data. Normally, I like to provide everything you need to know in the blog post, but there are various behind the scenes items going on to make this all work.

You can try building this out yourself as detailed below, but it’s probably best to skip the headache and grab my working file.

Download My Ready-To-Go Excel File  Click here to download my Microsoft Excel file so you can easily view your tweet analytics.

Your Twitter Export

The first thing you will need to do is open your exported Twitter file. Sometimes, just clicking on the downloaded file will automatically open correctly and import all the data.

Should this not be the case, you can manually import the data in a few steps.

The first thing you need to do is click on the “Data” tab and then on the “From Text” icon.

import twitter csv into excel

Next, you will be asked to find the file you want to import. In this case, you will need to find your exported Twitter file. After, you select the file location a wizard will load (nope, it’s not Gandalf).

Step 1 of the wizard is asking you what is the data type for this file. You will need to have the “deliminated” radio button selected and then click “next.”

twitter csv import to excel step 1

For step 2 of the wizard, you need to indicate the delimiters of the file. In this case, the file is delineated by commas. Uncheck all boxes and have the box selected for comma. You will know it is working when your rows of data become organized into columns. Click next.

twitter csv import to excel step 2

The final step is to tell Excel where you want to insert this data. You should be placing it in an empty sheet so you can click in cell A1 and then click “ok.”

twitter csv import to excel step 3

All of the data from your Twitter export will be added to the spreadsheet. If you exported multiple date ranges from Twitter, just repeat this same process. However, you can insert the data at the end of the data you already imported. Just be sure to remove the row containing the header info for each set of data you import.

Once all your data has been imported, rename your Excel tab as “Raw Twitter Data” and save as an Excel file (not a CSV).

If you want to try building this out yourself, or are just interested as to what is happening in the file keep reading. Not interested in this kind of stuff, I won’t judge – you can click here to get to the part of reading the data.

Add Helper Columns To Help With Data Manipulation

Unfortunately, in order to really segment the data we need to add some “helper” columns in our Excel file. These will have various formulas and formatting.

Before we add these new columns, you need to create a table of the data you already have. The easiest way to do this is to click “Control + T” inside of the data. This will bring up a dialog box asking what data you want in the table. It should auto select all your columns and rows. Be sure to have the box checked for having a header row and click “ok.”

Once your table is created, you can easily create the additional helper columns. These columns will need to be created in the first available column to the right of your table.

The benefit of creating a table out of your data is that it will automatically copy down and formatting or formulas you create in the new columns.

So let’s add some helper columns.

Column AO

The first column you will need to add is called “Short URL” (type the name in cell AO1). The purpose of this column is to extract any URL that was in the tweet.

To extract the URL, you will need to use the following formula in cell AO2:

=IFERROR(MID(C2,FIND("http",C2),IFERROR(FIND(" ",C2,FIND("http",C2))-1,LEN(C2))-FIND("http",C2)+1),"")

Once entered, you will see the shortened URL from the tweet if there is one. The table you created should have automatically copied itself to the last row of your data.

Column AP

This column will be used to unshorten the shortened URLs. The reason we need to do this is that you will have different shortened URLs for each tweet. When we are building out our pivot table later, having a bunch of different URLs will make it impossible to group the data together.

Therefore, you will need to add this module to your Excel file.

Here’s how to do it:

  • Click on the “Developers” tab in Excel. Not seeing the tab, here’s how to add it.
  • In the “Developers” tab, click on the “Visual Basic” icon
  • Once the Visual Basic editor is open, click on “Insert > Module”
  • Paste this code into the editor:
Public Function unshorten(url As String) As String

Static oRequest As Object

Set oRequest = CreateObject("WinHTTP.WinHTTPRequest.5.1")

With oRequest

.option(6) = True

.option(12) = True

.Open "HEAD", url, False


unshorten = .option(1)

End With

End Function


  • Click “File > Save”. You will be prompted to save the file as a macro enabled workbook. Click on “no” in the pop up
  • When the “save as” box pops up, select the file type as “Excel Macro-Enabled Workbook”

This module will now unshorten your short URLs. All that is left is to add the formula to the column and name your column “Unshort URL.” In cell AP2, enter this formula:

=IFERROR(unshorten(Table1[@[Short URL]]),"")

Please note that if you renamed your table, you will need to change it in this formula. Otherwise, the table you created should be named this already.

Once entered, this column will unshorten your URLs. Please note that depending on how many rows of data you have, it can take quite a while to unshorten. For example, it took close to 2 hours to unshorten about 6,000 rows of data.

If you have thousands of rows of data, I would let the URLs unshorten. Once completed I would copy the column and paste the values directly on top of the formula for this column. The reason being is that when you add the additional columns below, Excel will try to recalculate the formulas again depending on your settings. By having just values for the unshortened URLs, Excel won’t have anything to recalculate.

Column AQ

Depending on how you track your social media analytics you may have query parameters on your URLs. This column serves as a way to remove those parameters so that you are left with a clean URL.

For example, instead of having a URL like:

Your clean URL will look like this:

Here’s the formula you need to put in cell AQ2:

=IFERROR(LEFT(AP2,FIND("?",AP2&" ")-1),Table1[@[Unshort URL]])

You’ll need to name the column as “URL – Clean”. This will allow you to easily group your tweets by URL in the pivot table we will be creating later.

Column AR

The next column we need to create is one that will remove the URL from the tweet, leaving us with just the text of the tweet. Create a new column and in cell AR1 name it “Tweet No URL”. Then in cell AR2, enter this formula:

=IFERROR(TRIM(SUBSTITUTE(C2,MID(C2,FIND("http",C2),IFERROR(FIND(" ",C2,FIND("http",C2))-1,LEN(C2))-FIND("http",C2)+1),"[URL]")),"")

What this will do is remove the URL from the tweet and replace it with “[URL]”. For example, if the tweet originally was:

The formula will change it to:

  • 21 Ideas For Evergreen Social Media Content Updates [URL]

However, what happens when you are still left with a URL in this column? For example, if there is a link for an image? No worries, just one more helper column to fix this.

Column AS

Similar to the column above, this will remove the second URL (if there is one) from your tweet. In cell AS1, name it “Tweet No URLs” and then use this formula in cell AS2:

=TRIM(IFERROR(SUBSTITUTE(AR2,MID(AR2,FIND("http",AR2),IFERROR(FIND(" ",AR2,FIND("http",AR2))-1,LEN(AR2))-FIND("http",AR2)+1),"[URL]"),Table1[@[Tweet No URL]]))

This formula will take your tweet from looking like this:

To look like this:

  • 21 Ideas For Evergreen Social Media Content Updates [URL] [URL]

With this, you will be able to see which tweets contained an image.

Column AT

Next up is getting the date formatting to work. When you export your data from Twitter, it’s exported as something like this:

  • 2016-03-09 14:20 +0000

Long story made short, we need to get it in a more friendly format for Excel. To do this create a new column named “Date” in cell AT1 and in cell AT2 enter this formula:

=(IFERROR(DATEVALUE(LEFT(TRIM(TEXT(D2,"yyyyy-mm-dd hh:mm:ss")),FIND(" +0000",TRIM(TEXT(D2,"yyyyy-mm-dd hh:mm:ss"))&" ")-1)),""))*1

You will need to change the format of the column from “General” to “Short Date.” To do this, highlight Column AT and then in your “Home” tab of Excel, select “Short Date” from the dropdown.

Select Short Date Excel

This will magically create normal looking dates for your tweets. For example:

  • 03-09-2016

Download My Ready-To-Go Excel File  Click here to download my Microsoft Excel file so you can easily view your tweet analytics.

Create a Pivot Table to See Your Twitter Test Results

Once you have created your helper columns, you can get to the good stuff which is viewing your results.

Since you have already created a table, the next step is to create a pivot table with your data. I know what you are thinking, “A pivot table? I have no idea what that is!”

No worries, it’s really easy.

On your “Raw Twitter Data” tab, click anywhere inside your table. This will activate the “Table Tools” ribbon in Excel. In this ribbon, you will need to click on the icon that says “Summarize With Pivot Table.”

A dialog box will popup asking you where do you want to create this table. Just click “ok” and it will create a new tab for the table.

On this tab you will see the “Pivot Table Fields” menu.

In order to build out your table of Twitter testing results, you will need to drag/drop the pivot table fields to the following areas in this order:


  • Date


  • URL – Clean
  • Tweet No URLs


  • Tweet No URLs
  • Impressions
  • Retweets
  • Replies
  • Likes
  • URL Clicks
  • Engagement Rate

You need to make some minor tweaks in the “Values” section so that the data is summarized properly.

For the “Tweet No URLs” data field, in the “Values” section you will see a down arrow. Click on it and then click on “Value Field Settings.” Next, you will need to click on “Count” and then click on “ok.”
change excel pivot table value setting

This will now count all the cells with data in a row with data for this field.

Following the same process, you need to change the “Value Field Settings” for the “Engagement Rate” to summarize the value field by “Average.” This will show an average engagement for each tweet.

Another thing you might want to do for your “Engagement Rate” column is to change the format of the column to show as a percentage. To do this, highlight the whole column and then right-click and select “format cells.” Then click on “percentage” and change the decimals to two places and click “ok.”

Reviewing Your Twitter Testing Data

Your pivot table is now ready to go. However, you will notice that there are probably a lot of tweets that you aren’t interested in.

For example,

  • Tweets to sites that are not yours
  • @ Replies
  • Generic text that could be a quote, thought, complaint, etc. – something you aren’t probably testing

The easiest way to clean up all the miscellaneous tweets is to click on the filter icon in the “Row Labels” cell A3. Then in the search box, type in the domain you want to show and click “ok.”


Your filtered results will show you the URL(s) tweeted for that domain and the different tweets that were sent linking to that URL.

Viewing the columns to the right, you will be able to see the different type of engagement that specific tweet text generated. You will need to determine what your main KPI is.

Typically, I put more weight onto the average engagement rate in that I am looking to create social updates that drive more overall engagement.

best engagement rate on twitter

On occasion, I am more interested in driving clicks to a URL so I will look at the URL clicks. However, instead of showing the sum (total) clicks to a URL, I change the column to show the average clicks for the social media update.

more clicks on twitter

The beauty of this report is that it is pretty flexible. You can tweak it to show the data you want. You will notice that Twitter exports quite a bit of data which will allow you to manipulate it to your needs.

Some additional data you might be interested for your tweets are:

  • Which tweets generated the most hashtag clicks?
  • What are the average impressions per tweet?

If you are crafty with Excel, you can do even more – in fact I am in the middle of creating a full blown Twitter Analytics dashboard. You can definitely get creative with your use of the data.

Determining Statistical Significance For A/B Testing

There will be quite a few variables involved in regards to how long it will take you to reach a statistical significance with your results.

Among these variables are:

  • Twitter audience/reach
  • Typical engagement of your audience

If you have a rather large Twitter audience, you may not have to post your tweets as many times. This will be especially true if your tweets get a decent amount of impressions. With a good amount of impressions, your tweet should be able to generate some interactions.

These interactions will ultimately reflect on how engaged your following is with your tweets.

While you may not want to wait until you have enough data to truly reach statistical significance, more than likely you can still make an informed decision regarding what you are testing.

An easy way to see if you have reach statistical significance between two tweets is to use this free online tool. For the “The number of visitors on this page was” column you will enter your tweet impressions. Then in the “The number of overall conversions was” column you would enter the number of social actions you are monitoring. This could be URL clicks, likes, retweets, engagements, etc.

statistical significance

Once you plug in your numbers, this nifty tool will tell you if your results are statistically significant.

Even if your results are not statistically significant, chances are you can tell when something is a dud or not.

For most, the way you will be able to get to statistical significance is to be sure to post your tweets multiple times to increase the overall impressions of each.

Typically, my tests are not necessarily time sensitive in that the majority of my posts are evergreen in nature. This makes it easy to run my test tweets for an extended time.

Everyone’s situation will be different in regards to how long or how many times you should tweet your tests. I would say a good start is at least 10 times or so. However, it might be best to spot check your Twitter Analytics every few days to see how things are going.

Make Adjustments & Test Again

As I mentioned at the beginning of this post, I am always testing.

And you should be too.

Once you have run your initial tests, no matter what they may be, you should look at ways to improve upon what you found that works.

For example, let’s say you identified a tweet that generated the best engagement rate among the group. Why not test that against the same tweet, but with an image attached? See how that impacts your engagement rate.

Perhaps you didn’t get enough impressions for some of the tweets you were testing. Next time, schedule them more frequently during times that your Twitter audience is most active.

The key is to always look at ways to improve your results each time you test.

Will it always improve? Probably not.

But you won’t know until you test it.

Be sure to grab the Excel file for Twitter testing if you haven’t already. Also, let me know in the comments how you plan to use this approach.

Download My Ready-To-Go Excel File Click here to download my Microsoft Excel file so you can easily view your tweet analytics.

Social Media Analytics Case Study: Want Better Social Media Metrics? Here’s How To Do It in 20 Minutes

One of the beautiful things about marketing online is that you can track almost anything. Social media analytics allow you to analyze trends, see what is (or isn’t working), and ultimately get the most out of your efforts.

My choice of tracking general website activity is Google Analytics.

I’ve touched on how using Google Analytics can help you make smart business decisions, and also mentioned how people should stop focusing on tracking vanity social media metrics. And you can even tie it into Google Data Studio to make a sweet SEO report.

But here’s the deal:

Most people don’t utilize Google Analytics for social media tracking the right way in order to really know what does or doesn’t work in regards to their social media efforts.

And if you are a social media manager, you’ll definitely want to check this out.

Get More Accurate Social Media Metrics Today: Get access to a free downloadable PDF checklist that will show you how to get more accurate social media metrics with the Social Superhero Approach.

Want to know how to use Google Analytics for social media tracking?

In this post, I’ll outline how I go about making sure you know exactly where social traffic is coming from and if it is a result of your efforts. Best of all, you’ll walk away with actionable steps and a scalable process to implement yourself and prove the value of your social media activities.

In fact, it should take about 20 minutes to implement.

Social Superhero Approach

How I Used the Social Superhero Approach to Prove a Social Media Manager’s Value

Whether you are a social media manager, a do-it-yourself social media marketer, or perhaps a small business who wants to know the real results social media efforts drive to your website, the Social Superhero Approach will give you no doubt if your efforts are working (or not).

And best of all, even as this client had over 300 blog posts, the Social Superhero Approach is completely scalable for any size website.

I was able to implement this for my client in less than 20 minutes without the need for some high priced social media analytics tools.

Using this approach, my client could not only attribute the social media efforts for website traffic, but they could also see how many new blog subscribers were a result of this single person’s social media efforts through their Google Analytics social media reports.

Get Accurate Social Media Analytics

How cool is that?

In the first quarter of this year, these social media efforts were responsible for 5,195 visitors and 57 newsletter subscribers.

But before they implemented this tracking method at a large scale, these social media efforts resulted in an unknown amount of visitors and newsletter subscribers.

Essentially….wait for it…

…They went from a zero to a hero. (Yeah, I just said that).

Sure, Google Analytics showed social traffic, but how do you know if it came from this person’s efforts?

They didn’t and here’s why…

Don’t Rely on Out-of-The-Box Social Media Analytics Tracking

Look, most people simply queue up their social media updates haphazardly. In fact, until recently I have been lazy on tracking my own personal social media efforts (but never my clients).

If you are like most, you may simply create an update on your favorite social media channel by copy/pasting the URL you want to share. You then can look in Google Analytics and see what the source for the traffic to that post was.

But what does that really tell you?

Did the visits come from your social media update from your profile? Or did it come from some random user sharing your URL?

What if you schedule your social media updates with Buffer or Hootsuite? Then what if someone else does the same?

How can you tell the difference?

You can’t. Your efforts and the efforts of others all look the same in Google Analytics by default. At best you can patchwork something together in Google Analytics to sort of get an idea, but it is not accurate by any means.

So how do you fix it?

Keep with me, we’re getting to the good stuff where the Social Superhero Approach saves the day.

Understand How Google Analytics Labels Your Website Traffic

Google Analytics can easily show you where your visitors come from. To get a quick overview of how people find your site, login to Google Analytics and follow these steps.

1. In the left column select “Acquisition > All Traffic > Channels.” You will see the default channel grouping of how analytics has determined the method a user made it to your site.

Google Analytics All Traffic Channels

2. Click on the “Social” link (listed as #2 in the above image) and you will see a breakdown of the social channels that referred traffic to your website.

Google Analytics Social Media Traffic Channels

3. Next, click on the Twitter link. You will see the next screen doesn’t really provide any additional insight.

Google Analytics Social Media Twitter Traffic Channels

How did Twitter refer these people?

Was it from a post you shared on social media?

Was it something tweeted by a reader?

In reality, this data can only tell us so much (which isn’t really much at this point). So how can we attribute more information into our analytics?

Well, I’ve got 4 words for you…

Urchen tracking module parameters.

Doesn’t sound familiar to you? Most commonly, this is simply referred to as UTM parameters.

What are Google Analytics UTM Parameters?

UTM parameters are simply a way to add some extra information to any URL and will override any other data that would typically pass into Google Analytics. For example, a standard URL you would share on social media might be:

And when it is clicked, the data that shows up in Google Analytics will look a lot like the data shown in the above screenshots.

But when you attach UTM parameters to the URL, you can get some key data into Google Analytics. So your URL that you would share would look like this:

You will notice that I have 3 different UTM parameters attached to this URL. These are the 3 required by Google Analytics, with the option of 2 more as explained below.

Let’s take a look at each to see what they mean and how we can use them.

utm_source (Required)

The utm_source parameter tells you what website this URL appeared on. In this case, it is Twitter.

Please note that UTM parameters are case sensitive, so if you use “Twitter” on one URL and “twitter” on another, you will see two separate results in Google Analytics when looking at your campaigns.

utm_medium (Required)

Using the utm_medium parameter will allow you to designate the medium your link was posted on. In this example, I have used Hootsuite since it is one tool I schedule tweets with. If I were scheduling this tweet with Buffer, I would use “utm_medium=buffer”.

Then when I am digging into Google Analytics, I would be able to see all of my Twitter traffic, which came from Hootsuite or Buffer scheduled posts.

utm_campaign (Required)

If you want to designate a particular campaign or initiative to the link you are sharing, then you add that data to the utm_campaign parameter. In my example link above, you will see that I used “evergreen”.

I chose this due to the fact that I have certain blog posts that are evergreen in nature. This means that they really don’t expire for the most part and are a great opportunity to reshare again.

Of course you can name this parameter whatever you would like. For example, it could be the name of your initiative.

utm_term (Paid Search Only)

While this post is really focused on social media tracking, the utm_term parameter is an optional parameter for Google Analytics. However, this parameter is used to pull in the keyword search data for an Adwords ad.

Since it is optional and applies to paid search, there is no need for us to use it in our URL.

utm_content (Optional)

The final UTM parameter is utm_content. This parameter is optional. Should you decide to use it, typically it is used to track A/B testing or links that point to the same URL.

A Scalable Way to Accurately Track Your Social Media Efforts

Now that you know what UTM parameters are, let’s see why they are needed to more accurately track your social media efforts.

As shown above, if you are not using UTM parameters you are not in total control of the data being passed back to Google Analytics from your social media updates.

But check this out:

When you apply UTM parameters to your different social media channels, you can start to paint a clearer picture on how your social media efforts impact traffic to your website and ultimately prove your worth if you are a social media manager.

So what’s the best way to do that?

And how can you do it at scale? I am talking hundreds or thousands of URLs.

I’m going to show you how I used the Social Superhero Approach that I used with one of my clients.

Here’s the kicker:

Until now, you have probably relied on the Google UTM builder to create your URLs.

Google UTM URL Builder

Sure this is probably ok to use if you are doing a single URL, or perhaps a handful.

But what if you want to create UTM URLs for several hundred or even thousands of URLs?

You surely are not going to want to use that, are you?

I didn’t think so.

Step 1: Setting Up Your Social Media UTM Parameters

Using the Social Superhero Approach you are not going to rely on the Google UTM URL Builder.

Nope, you are going to use Microsoft Excel to create a social media metrics dashboard for creating UTM parameters.

Don’t be scared of Excel, I’ll walk you through it.

So open up Excel and let’s jump in.

As I mentioned before, UTM parameters are case sensitive. Therefore, you need to create a naming convention and stick with it.

I typically like to do everything in lowercase. This way I don’t have to remember to capitalize a letter.

The first thing I do is setup an Excel spreadsheet that will allow me to easily create and track my URLs and UTM parameters.

I have a columns for the following items:

  • URL (Column A) – The URL you want to share
  • UTM Source (Column B) – Where the user was when they clicked the link. This is usually the media channel (Twitter, LinkedIn, Facebook, etc)
  • UTM Medium (Column C) – This is where the link was presented to the user. What channel was used to share/send out the link. In most instances this will be your choice of a social media scheduling software (Buffer, Hootsuite, etc)
  • UTM Campaign (Column D) – This is the name of the campaign (Outreach, Evergreen, Fall Sale, etc)
  • UTM Ready Link (Column E) – This is the column where I use some Microsoft Excel hocus-pocus to automatically build the UTM ready URL based on the data I have entered. It’s simply Excel’s concatenate formula. So it may look something like this:


Don’t worry if that formula doesn’t make much sense, I’ll give you a link to download a ready made Excel file at the end of this post.

social media UTM parameters

Once the spreadsheet is setup, I can easily add URLs into the column and then have my UTM parameters applied.

This makes it drop-dead simple to bulk create massive amounts of URLs to share on various social media channels.

You can take it even a step further by creating your whole social media update in Excel.

This will blow your mind, so here we go…

Step 2: Find All Your Posts to Share on Social Media

If you have made it to the point of creating the Excel file similar to the previous section, we can use some mind blowing tricks to easily create UTM trackable social media updates for all of your favorite social media channels at a massive scale.

The first thing you need to do is get a list of all the URLs you want to share on social media. If you have an XML sitemap, this can be done in a few simple steps (you have a sitemap? right?).

  1. Visit your XML sitemap link, like
  2. Highlight all the data. Right click and copy (Ctrl+C)
  3. Go to Microsoft Excel and paste in the data in a new file in Column A

You can then remove any URLs you don’t want to tweet. For example, the homepage, contact page, etc. Once you have cleaned up the URLs, remove the extra columns that were copied in so that you are left with just the URLs.

Get XML Sitemap URLs

Save this file – you don’t want to lose what you have done so far.

Do you already have Niels Bosma’s SEO Tools for Microsoft Excel plugin? Great, skip down a bit.

If it’s not installed, stay with me.

Go ahead and download it here.

Follow the setup instructions to get it installed.

All setup? Good. Let’s keep going.

If you are not familiar with this Microsoft Excel plugin, I’ve done some pretty cool things using it. For example:

So what we are going to use it for is to scrape the titles of all the pieces of content we want to share on social media.

With the Excel plugin installed, we can import all the titles of the blog posts you want to share.

So in the spreadsheet where you pasted your XML sitemap data, let’s assume your URLs are in Column A. In Column B you will want to use the formula:


Then you will need to drag this formula down for all the URLs. Give it a minute (or two) and you will see all the blog titles magically appear. Of course this works only if you use H1 tags for the title of your blog post. Which you do, right?

If you happen to use H2 or even H3 tags, simply change the formula above to reflect that.

Scrape Blog Post Titles Excel

What you want to do next is take the data from these two columns and bring them into your UTM parameter spreadsheet you previously created. You will want to paste the URL into your URL column (Column A) and then paste the blog post title into a new column (Column F).

Bonus Tip – Want to Use Your Meta Description Instead?

Perhaps you would like to use something other than your blog post title for the text of the social media update?

I bet you have a rockin’ meta description that is sure to attract some attention.

So instead of using the formula “=HtmlH1(A1)”, you can use this:


Be sure to drag this formula all the way to the end of your URL list.

Within a minute or two, you’ll have your meta descriptions loaded into Excel.

One thing to keep in mind is that you’ll probably want to use the meta description on all social channels except for Twitter. You know, they have that whole 140 character limit thing…

Step 3: Creating Your UTM Trackable Social Media Updates

Now that you have all your data in one spreadsheet, let’s use some Microsoft Excel magic to put together some social media updates with your UTM parameters.

For example, let’s use Column G.

In Column G, you will want to use Excel’s concatenate formula. With this formula we will be combining the blog post title and the URL with the UTM parameter link.

Your formula should look something like this:

=CONCATENATE(F4, ” – “,E4)

Where column F is your blog post title and Column E is your already concatenated URL with UTM parameters. Of course, you could also just go ahead and concatenate the UTM parameters in this cell instead.

You’ll need to copy down this formula for all your rows of data. Just give it a second and you’ll have complete social media updates with your blog post title and UTM tracking parameters.

Step 4: Queue up Your Fully Trackable Social Media Updates

Now that your updates are ready to go with the Social Superhero Approach, you’ll need to upload them to your favorite social media management platform. I’ll cover two of my favorite platforms in this post, Hootsuite and Buffer.

Schedule Your Bulk Social Media CSV Updates in Hootsuite

The first social media management platform I’ll discuss is Hootsuite. In order to upload these social media updates, we’ll use the ability to bulk upload updates through a CSV file.

But before we jump into Hootsuite, we need to create a CSV file in the proper format.

For Hootsuite, your CSV needs to have the date you want to post the update in Column A, the content of the update in Column B, and the URL in Column C (optional).

So what you can do is simply copy Column H from the file we created above (where you concatenated the blog post title and the UTM parameter URL) and paste this into Column B of your Hoostsuite Excel file.

Then in Column A, you will need to enter the day/time that you want the update to post at. Just a reminder, the correct format is mm/dd/yyyy hh:mm or dd/mm/yyyy hh:mm.

You’ll be able to leave Column C empty since your URL is in Column B already.

Save the file as a CSV.

Once logged into your Hootsuite account, in the left hand menu click on “Publisher > Bulk Message Upload”. Then select the Hootsuite CSV you created and pick the social network channel your UTM source parameter is designating. For example, Twitter. Then submit the data.

Bulk Schedule UTM Trackable Social Media Updates Hootsuite

Please note that you will need to create a separate CSV file to upload for each social media channel you want to post to. This is due to the fact that you will want to use your social media specific UTM parameter for each social account when using the Social Superhero Approach.

For example, your Twitter account will need to use the URL with “utm_source=twitter” while your LinkedIn account will need to use “utm_source=linkedin”. If you don’t want to create new CSV files, you can do a simple find and replace for your “utm_source” string and replace it with the next social media channel you want to schedule posts for.

Unfortunately, Hootsuite doesn’t allow you to designate in your CSV which social media account you want to post the update to.

Oh well, small price to pay in order to get more accurate data!

Schedule Your Bulk Social Media CSV Updates in Buffer

If you’ve made it this far, I’m sure you are thinking “How are you going to get his data into Buffer? Are you crazy, you can’t upload a CSV file to Buffer!”

And you are right…

…but there is a way to do it!

If you are a user of both Hootsuite and Buffer, you’re well aware that an advantage Hootsuite has over Buffer is the ability to upload a CSV file with social media updates.

However, I’m launching a website that allows you to upload a CSV file to Buffer (and some other cool things).

So here’s what you’ll need to do.

  1. Create a CSV file just like you would for Hootsuite in the section above.
  2. Create an account on Bulkly.
  3. Follow the steps to upload a CSV file to Buffer.

Pretty simple.

But let me break down the steps on Bulkly.

Once you are logged in, click on the “Content Upload” tab and then click on the “Upload Content (CSV)” button.

Upload the CSV file you created.

Bulkly will upload the data from your CSV and show it all on the following screen.

Next, you will need to select which social media account(s) you want to post to.

In order to get the most accurate info from the Social Superhero Approach, you should individually create CSV’s for each channel with unique utm_medium parameters. Therefore, you should be selecting a single social media account that matches your UTM parameters.


One cool thing about Bulkly is that you don’t have to figure out the different times to schedule your posts. Instead, the “Schedule” drop down allows you to pick how often Bulkly drips this content into your Buffer account. You can send multiple times hourly, daily, weekly or monthly.

For example, if you wanted to send posts 5 times an hour, it would look like this:


Once you have your setting configured, simply click the “activate” button and Bulkly will send everything to your Buffer queue.

Bonus Tip – Automatically Repost Social Media Updates

One cool thing about Bulkly is that you can also create social media updates that can be reposted to your social media accounts automatically.

This is perfect if you have evergreen content.

Simply follow the steps above and within your group, choose “Recycle Posts” and “Shuffle Posts”. This will continuously send content to your Buffer account again and again in a random order.

Practically a set and forget!

While Bulkly is not open for everyone at the moment, be sure to sign up for an invite when it is.

Read This If You Use Buffer to Schedule Social Media Updates

There is one thing I need to bring to your attention if you use Buffer to schedule your social media updates…

For each of your social accounts you are scheduling posts with in Buffer, you need to be sure to disable the “Enable Campaign Tracking.”

If this is enabled, Buffer will use their own UTM parameters on your links.

For each of your social media accounts in Buffer, you will need to click on the “Settings > Link Shortening” tab. Then scroll down and click “Nope” to disable Buffer’s UTM tracking parameters.

Buffer Google Analytics Setting Override

If you use Hootsuite, you should not have any issues with them overwriting your UTM parameters. I have been using them for awhile without any trouble.

Step 5: Check Out Your Sweet, Sweet Data

Once your campaigns have been running for awhile, or if you have a high trafficked website your new properly attributed social media data will start to take shape in Google Analytics.

To find this data, in Google Analytics click on “Acquisition > Campaigns > All Campaigns.” Then click on your campaign name. This will bring up results similar to the above.

Social Media Manager Proving Their Value With Social Media Analytics

Without using the Social Superhero Approach, these social referrals would have all been lumped/lost in Google Analytics with no attribution to the Social Media Manager’s work.

The Social Superhero Approach provides validation of a job well done.

Bonus Tip – Get Deeper Insight

You can take your results a level deeper by choosing the secondary dimension “Landing Page.” This will then show your results with the actual page the visitor first visited. Essentially, you can see which social media posts worked well (or not so well) on a particular channel.

Now You Try It

I’m sure to see the benefit to implementing the Social Superhero Approach and how it can show you exactly how your social media efforts are paying off.

While it may seem like a lot at first, it is actually really easy to implement if you follow it step-by-step and should take about 20 minutes to get going.

But the work is worth it in that you will be able to have the right social media analytics in place whenever you ever launch a campaign.

Want to get started?

Click the link below to get a PDF checklist AND a ready to use Microsoft Excel spreadsheet with all the formulas.

Download the Social Superhero Checklist

The Amazing Trick to Scraping Instagram Data Using Microsoft Excel

While Instagram might not be for everyone, there are countless businesses getting started on Instagram. However, what if you need a quick glance into some Instagram user data? Sure, there might be some tools out there that can give you more detailed data…but I needed something quick and easy that would let me copy and paste a list of Instagram usernames into it and then give me some basic stats for the users.

My choice of tool for this job was Microsoft Excel. I’ve had great success with my Twitter Dashboard for Microsoft Excel, and it only made sense to make one for Instagram.

Please note that with the recent Instagram API changes, this approach is not currently working. Once I find an alternative solution I will be sure to post it.

To do this, you will only need two things:

  • Microsoft Excel
  • Niels Bosma’s SEO Tools Excel Plugin

Need a More Advanced Instagram Scraper? Contact me to discuss the development of a custom Twitter scraper to get the Twitter data you need.

Setting Up Microsoft Excel To Scrape Instagram Data

In order to get the Instagram data to magically appear in Excel, we first need to install the SEO Tools Excel Plugin. Niels’ site provides the installation instructions which are pretty easy.

When installed, this plugin will allow us to gather data from URLs and instantly pull external data into Excel. Please note that this MUST be installed in order for the steps I provide below to work.

Once you have downloaded it and activated it in your Microsoft Excel add-ins menu, you should see the SEO Tools tab in the top navigation ribbon.

SEO Tools Excel

If you have never used this in Excel, I highly suggest exploring all you can do with it. You will be amazed at what is possible!

Let’s Get Instagram Data into Microsoft Excel

Now that you have installed Niels’ SEO plugin, we can start creating some formulas that will get the data we are looking for.

Initially, I was going to use Instagram’s site to get the data; but I decided to go another route. To get the data I decided to use a site called – which provides various Instagram data for your account.

Sure you can easily see stats of your own account. But what if you could easily view these same stats for others in Microsoft Excel?

Before I lay out the process for setting up your Excel file to get this data, I want to quickly explain the process of how Excel is able to get the data.

You will be using a feature of the SEO Tools plugin called “XPathOnUrl” which will allow you to get the data from the Xpath of a page.

What is Xpath you ask?

Xpath is a query language for selecting nodes from an XML document. It basically allows you to get values from a XML document. In other words, we are using this to scrape data from a website.

Setting Up The Excel File

You will need to start with a blank Excel sheet and add the formulas below where noted. Before we get to the formulas, we need to label our columns and create a table. Label the following cells as noted:

  • A1 – Instagram ID
  • B1 – Iconosquare
  • C1 – Username
  • D1 – Full Name
  • E1 – Bio
  • F1 – Personal URL
  • G1 – Followers
  • H1 – Following
  • I1 – Media Raw Data
  • J1 – Media/Posts

After the column headings are created, you will need to create a table. Simply highlight each of the cells you just created and then click “Ctrl+T” on your keyboard. You will then get a pop up asking you about the table, simply be sure to check the box that says “My Table Has Headers” and click “OK.”

Now let’s move on to the formulas!

Don’t want to create the Excel file? Click here to download my “ready-to-go” Instagram Scraper Microsoft Excel file.

Instagram ID (A1)

In cell A2, we will enter the Instagram username of the profile we want to gather data for. Simply leave this cell blank or enter a profile name you would like to get the data of.

Iconosquare (B1)

For cell B2, we are going to populate the Iconosquare URL needed to pull up the profile you want the data for. Therefore, we will use the following formula:

=IFERROR(CONCATENATE("",[@[Instagram ID]]),"")

What this formula is basically saying is that if it returns an error (IFERROR), then the cell should render blank. If there is no error, then it will merge (CONCATENATE) the URL with the Instagram profile ID. You will notice that I use “IFERROR” on most of the formulas below.

Username (C1)

You will be pulling the username displayed on the webpage for cell C2. To do this, use the following formula:


This formula is the first use of “XPathOnURL” which means we are now getting data from the website. It is essentially visiting the URL created in B2 and then looking for the value of the H2 tag with the class “username.”

Full Name (D1)

Up next you will be creating a formula to bring in the full name that is being displayed on Instagram. In order to do this, use this formula:


In this formula, it works similarly to the Username formula. The only difference is that we are looking for the H1 tag with the class of “fullname.”

Bio (E1)

To grab the Instagram user bio data, in cell E2 use this formula:

=IFERROR(LEFT(TRIM(XPathOnUrl([@Iconosquare],"//div[@class='clear bio-user unCommentContenuTexte']")),
FIND("~",SUBSTITUTE(XPathOnUrl([@Iconosquare],"//div[@class='clear bio-user unCommentContenuTexte']")," ","~",
LEN(TRIM(XPathOnUrl([@Iconosquare],"//div[@class='clear bio-user unCommentContenuTexte']")))-
LEN(SUBSTITUTE(TRIM(XPathOnUrl([@Iconosquare],"//div[@class='clear bio-user unCommentContenuTexte']"))," ",""))))-1),"")

This formula visits the profile page and looks for the content in the class “clear bio-user” which is where the profile bio information is.

Personal URL (F1)

Some Instagram users enter a URL in their profile. Sometimes it is a personal URL, while others it is for a business. To pull this URL from Instagram into Excel, use this formula in cell F2:

=IFERROR(TRIM(RIGHT(SUBSTITUTE(XPathOnUrl([@Iconosquare],"//div[@class='clear bio-user unCommentContenuTexte']")," ",REPT(" ",
LEN(XPathOnUrl([@Iconosquare],"//div[@class='clear bio-user unCommentContenuTexte']")))),
LEN(XPathOnUrl([@Iconosquare],"//div[@class='clear bio-user unCommentContenuTexte']")))),"")

With this formula, it visits the profile page and gathers data from the anchor class “website-link.”

Followers (G1)

One of the more notable social vanity metrics, this column will gather the number of followers for an Instagram account. In cell G2, use the following formula:

=IFERROR(XPathOnUrl([@Iconosquare],"//a[@class='followers user-action-btn']/span[@class='chiffre']"),"")

In this formula, it will gather the follower count from the span class “chiffre.”

Following (H1)

To see how many users an Instagram account is following, we will collect that data in column H. In cell H2 enter this formula:

=IFERROR(XPathOnUrl([@Iconosquare],"//a[@class='followings user-action-btn']/span[@class='chiffre']"),"")

Using this formula, Excel will display the number of users an account is following.

Media Raw Data (I1)

This column is going to pull in the number of media posts (images/videos) an Instagram user has uploaded. So in cell I2 use this formula:

=IFERROR(XPathOnUrl([@Iconosquare],"//span[@class='photos user-action-btn user-action-btn-selected']"),"")

The result will show the number of uploads with the word “media” after it. In the next column we will remove the “media” text so it shows just a number.


In order to remove the “media” text from cell I2, we will need to use the following formula in cell J2:


With this formula, the column will show only the number of uploads a user has made to Instagram.

Utilizing Your Instagram Data

Now that you have successfully created your Excel file (you got it working, right?), in what ways can you use this data to your advantage?

Here are a few ways to get you started:

  • Identify users with specific keywords in their bio
  • Find users who do or do not have URLs listed in their profile
  • Determine which users post frequently and would be worth engaging with
  • Build reports on competitors

Need a More Advanced Instagram Scraper? Contact me to discuss the development of a custom Twitter scraper to get the Twitter data you need.

In what ways do you plan on using this data to your advantage? Be sure to let me know in the comments below.

[HOW TO] Brilliantly Scrape Twitter Data With Microsoft Excel

Who doesn’t love data? Not just Data who was in Goonies, but cold hard Twitter data?

Back in the day (I guess I am showing my age here), the character Data had all the gadgets in Goonies. No matter the situation he seemed to always have some contraption that bailed himself (and others) out of trouble. Twitter has tons of data to bail you out of a jam. Whether it is content creation ideas, targeting the right followers, or even seeing what your competition is up to.

While there are countless tools that provide insight into Twitter data, chances are you have said, “there has to be a way to do this in Microsoft Excel.” If not, now I might have you thinking.

The bad news is it is not a straight forward process. The good news is, I figured it out how to export Twitter data to Excel and will share the details on how to do it through some trial and error after reading this post from Matthew Barby. If you know of a better/cleaner way to construct any of the formulas, please let me know in the comments below.

With this Excel spreadsheet, you will be able to pull in most data from any Twitter user, including first and last name, location, bio, URL, number of Twitter followers, number of Twitter users they are following, number of tweets, how long ago they last tweeted, and the content of their latest tweet. This info is very handy if you are trying to analyze certain Twitter users. Continue reading