How to Measure Blog Performance: 8 KPIs for Small Businesses
Measure your company blog with four tools, eight monthly KPIs and a one-page quarterly report that ties posts to leads and defends the budget.

Updated October 2026
End of the quarter, meeting with the owner. One question on the table: “Is the blog bringing in customers or not?” The marketing manager pulls up a traffic chart that’s creeping upward. The owner nods, unconvinced. Two months later, the content budget shows up on the list of things to cut.
Larger, well-staffed companies get caught out by this too. In the Content Marketing Institute’s 2022 survey, cited in a study published in IRE Journals, only 46% of B2B marketers said their organisation measures content performance well. Another 36% said outright that it doesn’t.1 If that’s the picture at companies with full marketing teams, imagine a business turning over a million a year, where the blog gets written by whoever has a spare Friday afternoon.
This guide shows you how to measure your business blog with four tools, eight monthly numbers and a one-page quarterly report. It also covers where AI saves you hours: reading the data and drafting the report. The thinking stays with you.
Before you open Analytics, decide what you’re measuring
Start with the blog’s goals and KPIs. Put simply, every small-business blog has three jobs: get found, bring in leads, and shorten the sales cycle. Every number you track should tie back to one of them.
This guide is about the how, and the first rule is about quantity. A study on marketing performance assessment systems puts it bluntly: using indicators badly or inappropriately can leave managers dissatisfied and drag performance down. The same study recommends systems simple enough to give decision-makers only the information they need to decide.2
For a business blog, that means one thing. If a number wouldn’t change a single decision you make next month, take it off the dashboard.
The same authors describe assessment systems as sets of metrics that reflect marketing’s effectiveness, efficiency and adaptability.2 For a business blog, the first two matter most. Effectiveness tells you whether the blog brings in useful leads. Efficiency tells you what each article and each lead costs you. Plenty of company blogs track only the first half, then struggle to justify the spend.
The minimum stack for measuring a business blog

Four tools will do. You already have two of them, and the other two are spreadsheets.
| Tool | What it tells you | What you open each month |
|---|---|---|
| Google Search Console | How Google sees your articles before anyone clicks | The Performance report, filtered to blog pages |
| Google Analytics 4 | What visitors do once they land on the blog | Traffic acquisition and the Pages view, filtered to the /blog path |
| CRM or contacts sheet | Where each lead came from and whether it became a customer | The “source” column and the “deal stage” column |
| Blog cost sheet | Internal hours, outside costs, cost per article | The monthly total |
Link Search Console to your GA4 property so you can see queries and on-site behaviour on one screen instead of flipping between tools.
Then set up key events on the blog. For a service business these are usually a contact form submission, a click on the phone number, a click on WhatsApp, a newsletter sign-up and a PDF download. If you aren’t tracking these events, every conversation about the blog’s return comes down to gut feel.
The CRM is the piece nearly everyone skips. Take a solar panel installer that gets a quote request. GA4 files it under “direct traffic”. On the phone, the customer mentions they read the article about solar incentives three months earlier. If the salesperson doesn’t write down the answer to “How did you hear about us?”, that contract never gets credited to the blog. A study of 209 B2B service firms concluded that companies unable to measure performance at the level of the individual customer risk misreading the results of their own marketing programmes.3 A “source” field in the CRM is the cheapest way to fix that.
Why does GA4 say the blog brings in zero leads?

Because the blog almost always opens the door and another channel closes the deal. People rarely fill in a form on the same visit they read an article. They come back days later by searching your company name or typing in your URL, and the conversion lands under “branded search” or “direct”. Under a last-click model, the blog looks useless.
To see what the blog is really doing, separate two kinds of conversion:
- direct conversion: a lead who fills in the form during a visit that started on an article;
- assisted conversion: a lead who arrived from the blog at least once in the preceding months and converted later through another channel.
The first is easy to spot. The second you have to go looking for. In GA4’s acquisition reports, compare session source with the user’s first-touch source. Then cross-check against the CRM to see whether the people who converted had visited a blog page beforehand. Also check which attribution model your property uses, because that setting decides who gets credit for each conversion.
Bring both numbers to the owner, kept separate and clearly labelled. “The blog generated 4 direct enquiries and touched 11 of the quarter’s 30 enquiries” lands instantly in a meeting. “The blog has a 0.8% conversion rate” just hangs in the air.
The monthly blog dashboard in eight numbers
A study on building business intelligence dashboards for sales and marketing found that bringing data together visually in one dashboard supports decision-making.4 For a business blog, a single sheet is enough.
| # | Metric | Source | What you look at | When to worry |
|---|---|---|---|---|
| 1 | Blog page impressions | Search Console | Month-on-month trend | Two consecutive months of decline |
| 2 | Organic clicks to the blog | Search Console | Trend, and how it compares with impressions | Impressions rising, clicks flat for three months |
| 3 | Average blog CTR | Search Console | Pages below the site average | Articles with lots of impressions and a very low CTR |
| 4 | Queries driving clicks | Search Console | New queries that appeared this month | No new queries in a month when you published |
| 5 | Engaged sessions on the blog | GA4 | Share of total blog sessions | Share falling while traffic grows |
| 6 | Direct conversions from the blog | GA4 | Key events in sessions that started on an article | Zero for a whole quarter |
| 7 | Leads touched by the blog | CRM + GA4 | Leads with at least one blog visit | No data because the source field is empty |
| 8 | Cost per published article | Cost sheet | Hours × hourly cost + outside costs | Cost rising while metrics 1–7 stay flat |
The thresholds in the last column are working rules to agree with the owner. They set out in advance when a number calls for action, so nobody panics over one bad month.
For conversion rate, you need a realistic benchmark. An informational blog usually converts at a lower rate than the contact page, so compare the blog mainly against its own previous months.
When an article gets lots of impressions and few clicks, the problem is almost always the title or the meta description. Before writing a new piece on the same topic, rewrite those two. They’re the first items on any SEO checklist for blog posts.
How to fill it in in 20 minutes with AI
The part that matters stays manual. You export the data, drop it into the sheet and make the call. AI just helps you read it faster. Export the Search Console Performance report for your blog pages covering the last two months (as a CSV), upload it to ChatGPT or Claude and use the prompt below.
Attached is a Google Search Console export of the blog pages of a small business that sells [service] to [type of customer], covering the last two months.
Do four things, in this order.
1. For each page, calculate the change in impressions, clicks and CTR between the previous month and the current month.
2. List the 5 pages with the most impressions and a CTR below the file average, with the CTR for each.
3. List queries that appeared for the first time in the current month with at least 10 impressions.
4. Write a three-line summary for a non-technical business owner, no jargon, with the numbers.
Don't speculate about causes the data doesn't show. If something is missing, say so.
For the monthly view, you can connect Search Console and GA4 to Looker Studio, which is free, and build a page with the first six metrics. The last two (leads touched and cost per article) stay in Google Sheets, because they come from the CRM and the accounts.
Reading the blog by article cohort

Monthly traffic totals lump together articles from two years ago with ones that went live last week. That way you can end up judging the whole blog on your newest pieces’ worst month, or miss the fact that new articles are underperforming the old ones.
A cohort groups articles by the month they were published and follows each group through its lifespan. Rows are publishing months, columns are article age.
| Cohort (publishing month) | Articles | Clicks in month 1 | Clicks in month 3 | Clicks in month 6 | Leads touched at 6 months |
|---|---|---|---|---|---|
| January | no. of articles | total clicks | total clicks | total clicks | no. of leads |
| February | no. of articles | total clicks | total clicks | total clicks | no. of leads |
| March | no. of articles | total clicks | total clicks | total clicks | no. of leads |
Read the table top to bottom. If the March cohort hits month 3 with more clicks than January did at the same age, you’re writing better, picking better topics or distributing better. If it’s the other way round, you have a clear signal to dig into what changed that period: the writer, the type of topic or the distribution channels.
Cohorts also protect the blog from snap decisions. Articles need time to rank. Before you start, agree with the owner on an evaluation window for each cohort (six months is a sensible starting point) and judge each group only once it’s run its course. That way “Is it working?” gets answered on a set date.
The prompt for building the cohort
Export clicks per page, month by month, from Search Console, and set up a second sheet with the URL and publish date of every article. Then use this prompt.
Attached are two files. The first contains monthly organic clicks per blog URL. The second contains the URL and publish date of every article.
Build a cohort table.
- Rows = publishing month.
- Columns = article age in months (month 1, 2, 3 up to 12), where month 1 is the publishing month.
- Cells = total clicks for the articles in that cohort in that month of age.
- Add one column with the number of articles per cohort and one with average clicks per article at month 3.
Then tell me which cohorts are above average at month 3 and which are below. Also give me the Google Sheets formulas so I can redo the calculation next month without you.
That last request matters because the formulas live in the sheet, so next month the numbers update on their own.
What’s the blog actually worth? ROI with costs on the table
ROI worked out without costs is just a traffic estimate. Yet costs are the line most often missing. In small businesses, the cost of the blog tends to be scattered across the marketing manager’s hours, an invoice from a copywriter and the time the owner spends proofreading.
Log it in a column every month:
- internal hours spent on the blog × the gross hourly cost of whoever does them;
- outside invoices (copy, design, SEO review);
- paid tools used only for the blog.
The quarterly calculation looks like this.
Blog ROI = (margin on contracts closed from blog-touched leads − blog cost) ÷ blog cost
Use margin, not revenue. Otherwise a €40,000 contract at a 10% margin counts the same as a €40,000 contract at 40%. If you don’t have margin figures, ask finance once and apply the average percentage for each service line.
Two caveats about the final number, both from the same study on marketing performance assessment systems. Accounting metrics such as sales and margins look backwards and tend to miss marketing’s long-term value. Non-financial metrics only account for the investment when they sit alongside the financial ones.2 For the blog, that means a single quarter’s ROI is incomplete by definition. Always pair it with the cohort view, which shows what’s still maturing.
If you’re weighing up whether to keep writing in-house or hand it off, this cost sheet is the basis for comparing an in-house or outsourced blog.
The one-page quarterly report for the owner
The owner is never going to open GA4, and that’s fine. What they need is a page they can read in three minutes that ends with a decision to make.
| Section | Content | Length |
|---|---|---|
| The quarter’s headline number | Leads touched by the blog and contracts closed from those leads | 1 line |
| What grew | Two dashboard metrics with the change versus last quarter | 2–3 lines |
| What didn’t work | One declining metric and the likely cause, if the data shows it | 2–3 lines |
| The cohort | Latest complete cohort compared with the one before | 1 line + mini table |
| Cost and ROI | Quarter’s cost, cost per article, calculated ROI | 2 lines |
| The decision | One concrete proposal for next quarter, with its cost | 2 lines |
The last section carries the most weight. A report that ends with “let’s keep going” gets filed after one read. One that ends by proposing to update the 6 articles with the most impressions and the lowest CTR, at an estimated 12 hours, gets a decision.
Add a line on signs of reader engagement too: replies to the newsletter, questions left in the comments, articles mentioned on sales calls. A study of 167 small and medium-sized businesses in Nepal found that customer engagement, tracked through social media interactions and email tracking, played a mediating role in improving business performance.5 The setting is a long way from ours, but the mechanism holds. The blog works through the relationship it builds with readers, and you can count that relationship.
The prompt that drafts the report
Once the three months of dashboard data and the cohort table are filled in, hand both to Claude or ChatGPT with these instructions.
You are the marketing manager of a small business with roughly €1.2 million in annual revenue. Attached are the monthly blog dashboard for the last three months, the cohort table and the cost sheet.
Write the quarterly report for the business owner using these sections, in this order: the quarter's headline number, what grew, what didn't work, cohort, cost and ROI, proposed decision.
Rules.
- 250 words maximum.
- Every claim must have the number next to it, taken from the files.
- No technical jargon. If you use a term like CTR, explain it in five words.
- Propose one decision only, with its cost in hours or euros.
- If a figure is missing, write "data missing" instead of estimating it.
Check the draft line by line against the files. AI writes fast, but you’re still the one answering for the numbers. If you want a designed version to present in the meeting, you can hand it to the Design Team credits from Marketing Hackers.
Where to start this week
To start measuring properly, a small business needs an hour a week and a clear order of play.
- Monday. Link Search Console to GA4 and check that key events (form, phone, newsletter) are being tracked.
- Tuesday. Add a “source” field to the CRM and ask your salespeople to fill it in for every new contact.
- Wednesday. Open the cost sheet and rebuild the last three months, even if it’s an estimate.
- End of the month. Fill in the eight-number dashboard with the first prompt.
- End of the quarter. Build your first cohort and write the one-page report.
The most useful measurement system is the one that fits your company’s goals, strategy, structure and environment. The dashboard in this guide is a starting point. After two quarters, drop the numbers nobody has ever used to make a decision.
If the numbers are still flat after two complete cohorts, the problem almost always sits further upstream, in how topics are chosen or how articles get written and distributed. Getting that right is the job of strategic blogging for small businesses, the same work we do for clients through our managed content and SEO services.
Sources
Footnotes
-
Content Marketing Performance Measurement: Effectiveness Analysis and Best Practices Across Industries. irejournals.com ↩
-
Marketing performance assessment systems and the business context. publications.aston.ac.uk ↩ ↩2 ↩3
-
Marketing strategy selection, marketing metrics, and firm performance. doi.org ↩
-
Developing Integrated Performance Dashboards Visualisations Using Power BI as a Platform. mdpi.com ↩
-
Impact of Digital Marketing on Business Performance of Small and Medium Businesses in Birendranagar, Surkhet. nepjol.info ↩
FAQ
What tools do you need to measure blog performance?
Four are enough: Google Search Console, Google Analytics 4, a CRM or lead sheet, and a sheet tracking what the blog costs. The first two are free and often already set up. The other two are simple spreadsheets.
How many blog KPIs should a small business track?
Only a few. This guide recommends eight a month. Too many metrics make the review harder and can lead decision-makers in the wrong direction. If a number wouldn't change any decision next month, take it off the dashboard.
Which key events should you track in Google Analytics 4 for a blog?
A service business usually tracks contact form submissions, clicks on the phone number, WhatsApp clicks, newsletter sign-ups and PDF downloads. Without these events, you can't connect the blog to the leads it generates.
Why link Google Search Console to Google Analytics 4?
Linking them shows, on one screen, the queries people use to find your posts and what they do once they land on your site. You can follow the full journey without switching between tools.
What's the difference between blog effectiveness and efficiency?
Effectiveness tells you whether the blog brings in qualified leads. Efficiency tells you what each post and each lead costs. You need both: if you only measure effectiveness, you can't justify the spend when the owner asks.
How can AI help you measure blog performance?
AI saves hours on reading the data and drafting the quarterly report. Whoever runs the blog still has to make the decisions and work out what to change.