Sign Up Free
Menu

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.

Pop-art collage of a hand holding an antique scale, with newspaper clippings on one pan and coins and a telephone handset on the other, with hot-pink doodles
Generata con BrandPix

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

Diagram with four icons (search, chart, contact card, cost sheet) whose arrows converge into a single monthly report.
Search Console and GA4 are linked to each other; the CRM and cost sheet complete the picture in a single monthly report. · Photo: Generata con BrandPix

Four tools will do. You already have two of them, and the other two are spreadsheets.

ToolWhat it tells youWhat you open each month
Google Search ConsoleHow Google sees your articles before anyone clicksThe Performance report, filtered to blog pages
Google Analytics 4What visitors do once they land on the blogTraffic acquisition and the Pages view, filtered to the /blog path
CRM or contacts sheetWhere each lead came from and whether it became a customerThe “source” column and the “deal stage” column
Blog cost sheetInternal hours, outside costs, cost per articleThe 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?

Two paths: at the top, the reader converts straight from the article; at the bottom, they return weeks later through another channel, which gets all the credit.
Direct versus assisted conversion: in the second case the blog does the work, but the last click takes the credit. · Photo: Generata con BrandPix

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.

#MetricSourceWhat you look atWhen to worry
1Blog page impressionsSearch ConsoleMonth-on-month trendTwo consecutive months of decline
2Organic clicks to the blogSearch ConsoleTrend, and how it compares with impressionsImpressions rising, clicks flat for three months
3Average blog CTRSearch ConsolePages below the site averageArticles with lots of impressions and a very low CTR
4Queries driving clicksSearch ConsoleNew queries that appeared this monthNo new queries in a month when you published
5Engaged sessions on the blogGA4Share of total blog sessionsShare falling while traffic grows
6Direct conversions from the blogGA4Key events in sessions that started on an articleZero for a whole quarter
7Leads touched by the blogCRM + GA4Leads with at least one blog visitNo data because the source field is empty
8Cost per published articleCost sheetHours × hourly cost + outside costsCost 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

Stepped grid with three rows of articles and columns by month since publication; a column highlighted in fuchsia compares the groups at the same age.
Each row is a group of articles published in the same month: read the columns vertically to compare them at the same age. · Photo: Generata con BrandPix

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)ArticlesClicks in month 1Clicks in month 3Clicks in month 6Leads touched at 6 months
Januaryno. of articlestotal clickstotal clickstotal clicksno. of leads
Februaryno. of articlestotal clickstotal clickstotal clicksno. of leads
Marchno. of articlestotal clickstotal clickstotal clicksno. 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.

SectionContentLength
The quarter’s headline numberLeads touched by the blog and contracts closed from those leads1 line
What grewTwo dashboard metrics with the change versus last quarter2–3 lines
What didn’t workOne declining metric and the likely cause, if the data shows it2–3 lines
The cohortLatest complete cohort compared with the one before1 line + mini table
Cost and ROIQuarter’s cost, cost per article, calculated ROI2 lines
The decisionOne concrete proposal for next quarter, with its cost2 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.

  1. Monday. Link Search Console to GA4 and check that key events (form, phone, newsletter) are being tracked.
  2. Tuesday. Add a “source” field to the CRM and ask your salespeople to fill it in for every new contact.
  3. Wednesday. Open the cost sheet and rebuild the last three months, even if it’s an estimate.
  4. End of the month. Fill in the eight-number dashboard with the first prompt.
  5. 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

  1. Content Marketing Performance Measurement: Effectiveness Analysis and Best Practices Across Industries. irejournals.com ↩

  2. Marketing performance assessment systems and the business context. publications.aston.ac.uk ↩ ↩2 ↩3

  3. Marketing strategy selection, marketing metrics, and firm performance. doi.org ↩

  4. Developing Integrated Performance Dashboards Visualisations Using Power BI as a Platform. mdpi.com ↩

  5. 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.