Bahasa Melayu

SEO Metrics: Rankings, Organic Traffic, Conversions, Technical Health

The Monday SEO report has fourteen charts. Three of them are up. None of them connect to revenue. The CFO opens it on the QBR call, scrolls for nine seconds, and asks one question: "what did SEO contribute to pipeline last quarter?" The specialist freezes, because the dashboard was built to show activity, not outcomes. By the time anyone says "impressions are up 22%," the budget conversation has already moved on.

This is the meeting where headcount gets defended or quietly cut. Not by the work, but by the metrics chosen to describe it. If you walk in with click-assisted conversion rate and content-influenced pipeline, you keep the seat. If you walk in with average position and total backlinks, you lose it, and the VP Marketing nods politely while writing your replacement into the next plan.

The fix isn't more dashboards. It's fewer, harder numbers that survive a skeptical reader.

Why most SEO reports fail

Three vanity charts show up in nearly every weak SEO report: impressions, average position, and total sessions. Each one moves for reasons that have nothing to do with the work the specialist did that quarter.

Impressions go up when Google decides to show your URL on more queries, including ones you'd never want to rank for. A single bad-fit query firing 40,000 times a week can make your impressions chart look like a rocket while clicks stay flat.

Average position is a mathematical artifact. It averages position 2 (driving 8,000 clicks) with position 87 (driving zero clicks) and gives you a number that means nothing. A site can drop average position from 14 to 11 by losing all its low-intent long-tail rankings. Looks like a win. It isn't.

Total sessions includes brand traffic, direct-driven referrals miscategorized by analytics, and the marketing team's own paid campaigns leaking into organic via UTM mistakes. A 30% jump in sessions can come from one Reddit thread or a single brand mention on a podcast.

Reframe the report. The business buys pipeline, conversions, and indexed pages that hold rankings. Report what the business buys, not what the tool exports.

The 6 metrics that matter

Six numbers, defensible in front of a CFO who has never opened Google Search Console.

1. Organic clicks (not impressions)

Clicks are the only Google Search Console number with revenue intent attached. Someone saw your result, decided it was worth their time, and chose you over the other nine results on the page. That decision is the smallest unit of SEO value.

Where it lives: GSC Performance report, filter to web search, exclude brand queries (set up a regex filter for your company name and any product names).

What good looks like: Non-brand organic clicks growing 15-30% quarter-over-quarter on a healthy mid-market B2B site. Sub-10% growth means the program is treading water. Negative non-brand growth is a flag, even if total clicks are up.

What bad looks like: Total clicks growing while non-brand clicks are flat or declining. Means brand demand is doing the work, not SEO.

Why it changed: New content shipped that quarter, technical fixes that unlocked indexing, an algorithm update that rewarded or punished your link profile, or seasonal demand swing. Always note which of these you can attribute and which you can't.

2. Top-3 ranking count for commercial keywords

Position 4-10 leaks 80%+ of the click volume to the top three. The CTR curve isn't linear; it's a cliff at position 3 and another cliff at position 10. A keyword sitting at position 6 is, for revenue purposes, almost the same as a keyword at position 25.

Where it lives: Ahrefs, Semrush, or your rank tracker. Filter to a curated commercial-intent keyword list (50-300 keywords, depending on site size). Don't track all 14,000 keywords your tool finds. Track the ones that buy software.

What good looks like: Top-3 count growing 5-10 keywords per month on a focused mid-market site. Top-3 count holding steady through algorithm updates is also a win, just a quieter one.

What bad looks like: Top-3 count flat or shrinking while total ranking count grows. You're winning long-tail and losing the keywords that matter.

Why it changed: New content went live and matured (typically 8-16 weeks to top-3), a competitor refreshed their page and overtook you, or a SERP feature reshuffled the page. Check the SERP for each lost keyword before assuming it's a content problem.

3. Click-assisted conversion rate

Of the visitors who landed on an organic page in the last 30 days, what percent triggered any conversion event (demo, free trial, content download, contact-sales) within 30 days? This is the bridge metric, the one that connects "we got traffic" to "the traffic was qualified."

Where it lives: GA4 explore report, dimension = landing page, secondary dimension = source/medium = google/organic, metric = conversions. Or HubSpot/Salesforce contact reports filtered to "first source: organic search."

What good looks like: 1.5-3% click-assisted conversion rate for a B2B SaaS site with mixed top-of-funnel and bottom-of-funnel pages. Bottom-of-funnel pages (pricing, comparison, integration) should hit 4-8% on their own.

What bad looks like: Below 0.8% across the board. The traffic exists but isn't qualified, which usually means the content targets the wrong queries or the on-page CTAs are buried.

Why it changed: Content mix shifted (more top-of-funnel published, dilutes the average), a CRO change on key pages, attribution model change in GA4, or a real shift in traffic intent.

4. Content-influenced pipeline

Opportunities where an organic page appears anywhere in the touch path. Not first-touch only. Any-touch. This is the metric that makes a CFO listen.

Where it lives: HubSpot custom report (deals → contacts → page views, filter to organic-search source) or Salesforce campaign-influence report with organic landing pages tagged as campaigns. Most marketing ops teams already have this. If yours doesn't, that's the highest-leverage hour you can spend this month.

What good looks like: 25-40% of new pipeline has an organic page in the touch path on a content-mature B2B site. Smaller sites or younger programs sit at 10-20% and grow from there.

What bad looks like: Below 10% on a site that's been publishing for over a year. Means the content isn't reaching buyers in the touch path, only researchers and competitors.

Why it changed: New bottom-of-funnel pages published, sales team finally adopted lead-source tracking properly, or a big content cluster matured into the consideration phase of the buyer journey.

5. Indexed-page health

Of the URLs you submitted in your sitemap, what percent are actually indexed by Google AND served at least one impression in the last 28 days? This catches the silent killer: pages Google has technically indexed but isn't ranking for anything, which means they're functionally invisible.

Where it lives: GSC Pages report (indexed count), cross-referenced with the Performance report filtered to last 28 days (URLs with at least one impression). Most teams stop at the indexed count and miss the second filter.

What good looks like: 85%+ of submitted URLs both indexed and serving impressions. Anything in this range means your crawl budget and quality signals are healthy.

What bad looks like: Below 70%. Either Google is choosing not to index a chunk of your site (quality signal problem) or the indexed pages aren't deemed relevant for any query (content-fit problem).

Why it changed: Sitemap recently expanded with a batch of new URLs (expect a temporary dip), thin or duplicate content got deindexed in a quality update, or a robots/canonical change blocked crawling.

6. Core Web Vitals pass rate

Percent of URLs in the "Good" bucket on mobile across LCP (Largest Contentful Paint), INP (Interaction to Next Paint), and CLS (Cumulative Layout Shift). Mobile, not desktop. Google ranks the mobile version.

Where it lives: GSC Core Web Vitals report or PageSpeed Insights field data via the CrUX API.

What good looks like: 80%+ of URLs in "Good" on all three metrics, mobile. INP is the hardest of the three for most B2B sites because of heavy third-party scripts.

What bad looks like: Below 60% in "Good" or any metric stuck in "Poor" for over two reporting periods. Real users are experiencing the slowness, and Google is using their experience as a ranking signal.

Why it changed: New tag added to the site (heatmap tool, chat widget, video player), CDN config change, image-format regression, or a framework upgrade that bloated the JS bundle.

Diagnostic patterns: the "why-it-changed" reading

Numbers without diagnosis is just noise. The IC who walks into a QBR with a named diagnosis for each chart, even an unflattering one, gets treated as a partner. Four patterns cover most of what you'll see.

Rankings up but traffic flat. AI Overviews or featured snippets are stealing CTR. Check GSC: filter to a query where rank improved, look at CTR over the same period. If position went from 5 to 3 and CTR went from 4% to 3%, an AI Overview is summarizing the answer above your result and the user never clicks. This is the dominant pattern in 2026 and the single most important diagnosis you can name out loud. Fix is: rewrite the page to be the citation source the AI Overview pulls from, get into the source list at the bottom of the AI Overview block, and double down on bottom-of-funnel keywords where AI Overviews appear less often (commercial-intent queries trigger them maybe 30% of the time vs 75% for informational queries).

Impressions up plus clicks flat. SERP-feature shift. People Also Ask boxes, video carousels, or shopping results pushed your blue link below the fold. Open the SERP for one of the affected queries, count the features above your result. If there are 3+ features before position 1, you're not really at position 1 anymore.

Top-3 count down plus traffic flat. Brand traffic is carrying you, and commercial intent is bleeding. Filter GSC by brand vs non-brand. If brand clicks grew 20% and non-brand clicks dropped 15%, the org is celebrating something it shouldn't. This is the conversation that loses headcount in the quarter after, when brand growth normalizes.

Indexed pages dropping. This is a crawl-budget or quality-signal issue, not a ranking problem. Don't try to fix it with on-page optimization. Check the GSC Pages report for the specific exclusion reason: "Crawled — currently not indexed" usually means quality signal, "Discovered — currently not indexed" means crawl budget, and "Duplicate, Google chose different canonical" means an information architecture problem. Each one has a different fix.

The QBR slide pattern

One slide, three rows. That's it. Anything more becomes a debate about the chart instead of the business.

Row 1, what moved. Three numbers, side by side. Organic clicks (non-brand), top-3 ranking count, content-influenced pipeline. Quarter-over-quarter delta as a percentage. No averages, no impressions, no DA score.

Row 2, why it moved. One sentence per number. Use the diagnostic patterns above. "Top-3 count grew 12 keywords on the back of the integrations cluster published in February. Content-influenced pipeline grew 18% as those pages matured into mid-funnel touches. Non-brand clicks grew 9%, slower than top-3 growth, because three high-volume queries lost CTR to AI Overviews. See appendix."

Row 3, what we're doing next quarter. Three bullets, each tied to one of the three numbers. "Ship six bottom-of-funnel comparison pages targeting AI-Overview-resistant queries. Refresh the four pages where CTR dropped >30% to become the AI Overview citation. Audit and fix the 47 pages stuck in 'Crawled — currently not indexed' since January."

Include one honest "what got worse" line at the bottom. Not as an apology, but as a credibility move. Something like: "Indexed-page health dropped from 88% to 81% after the documentation migration; we expect recovery by mid-quarter, tracking weekly."

A short script that survives the CFO question:

CFO: "What did SEO contribute to pipeline last quarter?" You: "Organic search appears in the touch path of 31% of new pipeline, up from 26% last quarter. Eighteen of those opportunities had a comparison page as their first organic touch. That's the cluster we shipped in February. Cost-per-influenced-opp from SEO is roughly a third of paid search at our blended rate."

That's the answer. Specific numbers, named cause, comparable cost frame. The CFO doesn't need the dashboard.

What to stop reporting

Four metrics that look professional and aren't.

Domain Authority. It's a third-party score from one vendor (Moz). Google doesn't use it. It correlates loosely with rankings because it correlates with link count, but reporting DA to a CFO is like reporting Klout score. Drop it.

Average position across all keywords. A meaningless mathematical average, as covered above. If you must report position, report top-3 count or top-10 count for a curated keyword list. Never an unweighted average across thousands of queries.

Total backlinks. Backlink count without quality filtering rewards spam. A site with 50 contextual links from industry sites outperforms a site with 5,000 links from PBNs and directory dumps. If you must report links, report referring domains from sites with their own organic traffic above some threshold (DR 30+ in Ahrefs is a passable proxy, though the metric itself is imperfect).

Bounce rate. GA4 deprecated the classic bounce rate for a reason. A user landing on a long-form blog post, reading for four minutes, and leaving satisfied is a "bounce" in the old definition and a perfectly successful session in reality. Report engaged-session rate or scroll-depth or session duration on key pages. Bounce rate as a top-line metric is a 2015 artifact.

The pattern across all four: they're easy to export, hard to defend. The six metrics in this guide are the opposite, and that's the point.

Learn More