How do you build a Twitter analytics dashboard?
To build a Twitter analytics dashboard, make a Google Sheet with three tabs: Posts for one row per post, Weekly for follower and impression totals, and Dashboard for charts. Paste in data from X's CSV export or type it by hand, then add formulas for engagement rate, growth rate and score versus your median.
Dashboards in paid tools look impressive. Lots of colors, lots of charts. But when you ask "what should I post next week?", many of them can't answer. A plain spreadsheet you built yourself often can, because every number in it is one you chose on purpose.
A Twitter analytics dashboard is one page that shows how your X (formerly Twitter) account is doing at a glance: followers, reach, engagement and your top posts. Building it in Google Sheets is free, takes about an hour, and you own the data forever. Here's the good news: you don't need to be a spreadsheet expert. You'll copy a few formulas, and that's most of the work.
What should a Twitter analytics dashboard track?
Track four things: follower growth, impressions, engagement rate and your top posts. Those four answer the questions that matter. Am I growing, am I reaching people, do they care, and what's working?
Anything else is optional. Link clicks matter if you send traffic to a site. Profile visits matter if you're working on your bio. Start small. You can add columns later, but a cluttered sheet is one you'll stop opening. For a wider view of which numbers to pick, see how to measure X account performance.
How do you set up the Posts tab?
The Posts tab holds one row per post with its date, link, topic, format and raw numbers. Three formula columns then calculate engagements, engagement rate and a score against your typical post.
Create a new Google Sheet, rename the first tab "Posts", and add these headers in row 1:
| Column | Header | What goes in it |
|---|---|---|
| A | Date | Date posted |
| B | Link | The post's URL |
| C | Topic | Your own label, like "tips" or "story" |
| D | Format | Single, thread, image, video, poll |
| E | Impressions | Views or impressions |
| F | Likes | Number |
| G | Replies | Number |
| H | Reposts | Number |
| I | Follows | Follows from the post, if you have it |
| J | Engagements | =F2+G2+H2 |
| K | Eng. rate | =IFERROR(J2/E2, 0) |
| L | Score | =IFERROR(E2/MEDIAN(E$2:E), 0) |
Copy J2 to L2 down the column. Format K as a percent. The score in column L compares each post with your median impressions, so 2.0 means twice your usual reach. The engagement rate here uses public interactions only. For why that's lower than X's own number, see how to calculate Twitter engagement rate.
Where does the data come from?
The data comes from a CSV export or from typing numbers in by hand. Exports are faster for big accounts, if you can reach one. Manual entry works fine if you post a few times a week.
To import a CSV, use File, then Import in Google Sheets. Google's import help page lists .csv as a supported file type. Import it into a new tab, then copy the columns you need into Posts. X's ads help center says its Post Activity Dashboard export covers up to 30 days and 3,000 posts at a time, and the full steps are in how to export Twitter analytics data.
If you type numbers by hand, wait two or three days after posting so the stats settle. I'd do it once a week in one sitting.
How do you set up the Weekly tab?
The Weekly tab has one row per week. You type in your follower count, and formulas pull posts, impressions and engagements from the Posts tab automatically.
Add a tab named "Weekly" with these headers, and put each week's Monday date in column A:
- A Week start: a date, like 2026-10-05.
- B Followers: type your follower count each Monday.
- C Net change (from row 3): =B3-B2
- D Growth rate (from row 3): =IFERROR(C3/B2, 0)
- E Posts: =COUNTIFS(Posts!$A:$A, ">="&A2, Posts!$A:$A, "<"&A2+7)
- F Impressions: =SUMIFS(Posts!$E:$E, Posts!$A:$A, ">="&A2, Posts!$A:$A, "<"&A2+7)
- G Engagements: =SUMIFS(Posts!$J:$J, Posts!$A:$A, ">="&A2, Posts!$A:$A, "<"&A2+7)
- H Eng. rate: =IFERROR(G2/F2, 0)
Notice column H divides total engagements by total impressions. That's the honest weekly rate, because big posts count more than small ones. The follower side of this tab is covered in more depth in how to track Twitter follower growth.
How do you build the Dashboard tab?
The Dashboard tab shows your latest numbers, small trend lines, one chart and your top five posts. It reads everything from the other two tabs, so you never type into it.
Add a tab named "Dashboard" and fill in these cells:
- Current followers: =INDEX(Weekly!B2:B, COUNTA(Weekly!B2:B))
- Follower trend: =SPARKLINE(Weekly!B2:B). Google's SPARKLINE help page describes it as a "miniature chart contained within a single cell."
- Weekly impressions trend: =SPARKLINE(Weekly!F2:F, {"charttype","column"})
- Top five posts by score: =SORTN(Posts!A2:L, 5, 0, 12, FALSE)
For a bigger chart, select the Week start and Impressions columns in Weekly, then use Insert, then Chart, as shown on Google's chart help page. A line chart works well for weekly trends.
Last touch: highlight standout posts. Select column L in Posts, open Format, then Conditional formatting, and set "Greater than or equal to" 2 with a green fill. Every post that doubled your usual reach now jumps out.
How do you keep the dashboard useful?
Update it on the same day each week and change only one thing about your posting at a time. A dashboard is only as good as the habit around it.
Here's the routine I'd follow. Every Monday, type in your follower count and last week's posts. Look at the sparklines. Then read the top five list and ask one question: what do these posts have in common? Write the answer in a notes column. Over time, those notes become your content plan, which pairs well with a Twitter content calendar.
A side note. I built a free extension, XVision, that shows daily follower gains and rates each post against your usual views right on x.com. It doesn't export data, so you'd still type numbers into the sheet, but it makes the weekly check quicker. If you'd rather have a tool that builds dashboards for you, see AI-powered Twitter analytics dashboards.
Your data, your dashboard
Building a Twitter analytics dashboard in Google Sheets is one of the best hours you can spend on your X account. Three tabs, a dozen formulas, one weekly habit. It costs nothing, it never locks you out, and it answers the question that matters most: what should I post next? Start with a blank sheet today.
Frequently Asked Questions
Can I connect X analytics to Google Sheets automatically?
Not directly. X's help pages don't describe a built-in Google Sheets connection, so most people import a CSV export or type numbers in weekly. Developers can pull metrics with the X API, which shares public metrics like impressions and likes, but that route needs a developer account and some coding.
What is the best chart for a Twitter analytics dashboard?
A line chart of weekly impressions and weekly followers is the best starting chart for a Twitter analytics dashboard. It shows the trend clearly without daily noise. Add small SPARKLINE charts in single cells for quick checks, and use a sorted list of your top five posts instead of a chart for content.
Why use the median instead of the average for posts?
The median is better because one viral post can pull the average far up and make every normal post look weak. The median is the middle value, so it reflects your typical post. Dividing each post's impressions by the median gives a fair score, where 1.0 means an ordinary result.
Can I build this dashboard in Excel instead?
Yes, most of this dashboard works in Microsoft Excel. IFERROR, SUMIFS, COUNTIFS, MEDIAN and INDEX behave the same way. Two parts differ: SPARKLINE and SORTN are Google Sheets functions, so in Excel use its built-in sparklines from the Insert menu and a sorted table for top posts.
How often should I update my Twitter analytics dashboard?
Update a Twitter analytics dashboard once a week, on the same day, for about 10 minutes. Weekly updates smooth out daily swings and match how the Weekly tab is built. If you can use X's Post Activity Dashboard, add a monthly CSV export as a backup, since each export covers up to 30 days.