syted

syted blog

B2B SEO Agency: How to Verify the Work Yourself

Every page ranking for b2b seo agency asks you to trust a case study. Not one of them shows you how to check the work after you sign.

That gap matters more in B2B than anywhere else, because B2B is the one place where the number an agency reports every month is structurally incapable of answering the question you are paying to have answered. Your buyers are few. Your money queries are searched by dozens of people, not thousands. And Google removes exactly that class of query from the report your agency will screenshot.

This article covers what a B2B SEO agency sells, what the published rates actually are, and the measurement rig you can run yourself in about forty lines of code so that the monthly call becomes a review of numbers you already have.

Google's own guidance for hiring an SEO opens with the honest version of the outcome question: "No one can guarantee a #1 ranking on Google." Nothing below promises otherwise.

What the first page for this keyword actually is

The search results for b2b seo agency are a shopping aisle, and knowing its shape tells you what you are about to read.

We pulled the live results (Ahrefs, United States, 2026-08-30). Position 1 is outerboxdesign.com at DR 78, a service page. Position 2 is stratabeat.com at DR 60, also a service page. Position 3 is a Directive Consulting listicle titled "18 Top B2B SEO Agencies in New York City". Position 5 is a yesoptimist.com roundup of thirteen agencies. Positions 7, 9 and 10 are orbitmedia.com, altitudemarketing.com and firstpagesage.com.

There is no AI Overview on this query today, which is unusual for this field and means the clicks are still going to pages rather than being answered above them. There is a knowledge panel at position 6 for "B2B SEO Company".

Two of the roundups are published by agencies that also appear in their own rankings. That is not a scandal, it is the economics of the format, but it does mean the ordering of any "best B2B SEO agencies" list is not evidence of anything.

The four People Also Ask rows are the honest summary of what searchers want here:

  • Which B2B SEO agencies are the best in the US?
  • How much does a B2B agency typically cost?
  • Does SEO work for B2B?
  • How much does an SEO agency typically cost?

Three of the four are commercial. One is the real question. We answer all four below, and the pricing one with published figures rather than a range we made up.

Why B2B search volume lies about the size of the prize

In B2B, search volume and search value come apart, and reading volume as if it were value is the single most expensive mistake in the category.

Here is the same measurement run against a set of B2B software terms and against this keyword's own field (Ahrefs, United States, 2026-08-30):

Keyword Volume KD Traffic potential CPC
crm software 491,771 76 183,000 $5.00
best crm for small business 4,597 13 8,700 $3.00
b2b seo agency 4,303 0 3,200 $17.00
procurement software 2,464 47 7,700 $7.00
b2b seo services 2,167 4 4,200 $12.00
marketing automation software 2,022 56 12,000 $0.50
b2b seo company 1,467 8 4,200 $30.00
crm software pricing 216 22 1,700 $0.50

Read the top row against the bottom rows. crm software gets 491,771 searches a month and advertisers pay $5.00 for the click. b2b seo company gets 1,467 searches a month and advertisers pay $30.00 for the click. The query with 335 times less volume carries six times the price.

Advertisers are not confused. They are bidding on the probability that the searcher becomes a contract, and in B2B that probability is concentrated in tiny, specific queries.

This has a direct consequence for what you buy. An agency that proposes to grow traffic will naturally gravitate to the terms that have traffic, and in a B2B category those are the head terms with KD 76 that you will not rank for, or the informational terms that bring readers who will never buy. The terms that convert are small enough to look like a rounding error on a chart.

It also explains the difficulty column, which is the good news in this table. b2b seo agency sits at KD 0 and b2b seo services at KD 4, while crm software sits at KD 76. The commercially valuable end of a B2B category is frequently the easy end, because the volume is too small to attract the sites that chase volume. We wrote about the same inversion for SaaS specifically, and it holds across B2B categories.

The report you will be sent, and the queries it cannot contain

This is the part that no page ranking for this keyword mentions, and it is the reason a B2B keyword report is not what it appears to be.

Google filters low-frequency queries out of Search Console for privacy reasons. From Search Central's deep dive on performance data, verbatim: "Some queries (called anonymized queries) are not included in Search Console data to protect the privacy of the user making the query. Anonymized queries are those that aren't issued by more than a few dozen users over a two-to-three month period."

Read that threshold next to the table above. A B2B query that converts at a high rate is very often a query issued by fewer than a few dozen people in three months. Those queries generate impressions, clicks and pipeline, and they do not appear as rows in your query report.

The mechanical result is that the numbers do not add up, and Google says so plainly. The clicks in the chart include clicks from anonymized queries. The rows in the table below the chart do not. Sum the rows and you get a smaller number than the total.

Most people never notice, because they read the chart or the table but not both. An agency reporting "your top 20 queries" is reporting the top 20 queries that survived a privacy filter tuned against exactly the kind of demand you sell into.

There are two honest ways to work with this, and both are cheap:

  • Measure the gap on purpose. The difference between the charted total and the sum of the rows is your anonymized volume. It is not noise, it is the part of your demand that is too specific to show. Track it as a number in its own right.
  • Measure pages, not just queries. Page-level totals include the clicks from anonymized queries. If a bottom-funnel page is earning clicks that never appear against any query row, the page is working and the query report simply cannot say why.

The row limits matter too, and they are documented. The maximum export through the Search Console interface is 1,000 rows. The Search Analytics API returns 1,000 rows by default, accepts a rowLimit up to 25,000, and the upper limit is 50,000 rows per day per site per search type.

If your agency exports from the interface, they are working from at most 1,000 rows of a filtered dataset. That is usually fine for a small site. It is not fine as the sole basis for a claim about what is or is not working.

Size the opportunity before the first call

Do the sizing yourself, before you talk to anyone, because it takes an afternoon and it changes what you are able to ask for.

The goal is not a keyword list. It is a defensible answer to one question: how much qualified demand exists in search for what you sell, and what fraction of it is realistically reachable. Three passes get you there.

Pass one, the category head. Look up the obvious term for your category and read its difficulty. If it comes back like crm software at KD 76, it is not a target for year one, and any proposal that centres on it is selling you a decade.

Pass two, the buyer-shaped variants. These are the qualified, low-difficulty terms: comparisons, alternatives, pricing, integrations, "for [segment]", "for [industry]". In the table above, best crm for small business is KD 13 against a head term at KD 76, and crm software pricing has a traffic potential of 1,700 on a volume of 216, which tells you the topic around it is much larger than the query itself.

Pass three, the queries that mention your competitors. In B2B these are the highest-intent pages you can publish, and they are usually uncontested because your competitors will not write them about themselves.

Add up the volumes and be prepared for a small number. A total addressable search volume of two or three thousand a month is a normal, healthy B2B category. Judge it against your contract value, not against a consumer site.

Two things follow from a small number. Content velocity is not the lever, because there are not fifty worthwhile pages to write. And you should be suspicious of any scope priced per article, which is the subject of the next section.

What the retainer contains, and what each line is worth

A B2B SEO retainer is usually four workstreams bundled into one invoice, and they have very different value to a company that has engineers.

Technical work. Crawlability, rendering, sitemaps, canonicals, structured data, Core Web Vitals. Real work, and the most likely to be already handled if your marketing site is a modern framework. We covered the specifics of getting this right on Next.js. If your site is already server rendered and your sitemap is generated, an audit here finds a short list, not a program.

Keyword and intent research. The pass described above, done properly and refreshed. Genuinely valuable, genuinely hard to do well, and the least labour-intensive line on the invoice.

Content production. Usually the largest line by cost, and the one where the pricing model does the most damage. An agency billed per article has a structural reason to recommend more articles, and B2B categories rarely support many.

Links and digital PR. The most expensive line, the least verifiable, and the one where you should ask the most precise questions.

On the third line, Google's spam policies are worth reading before you agree to a volume commitment. Scaled content abuse is defined as generating many pages "for the primary purpose of manipulating search rankings and not helping users". The policy is about the purpose of the pages, not the tooling used to write them, which means a large volume of thin B2B pages is a risk whoever produces them.

For actual numbers, the roundup at position 5 for this keyword publishes rates for thirteen agencies, and they are worth quoting because they are on the record rather than estimated. It lists advisory engagements from $3,000 per month, several firms with a $5,000 per month floor, mid-market retainers in the $5,000 to $15,000 range, and the largest at $20,000 to $50,000 or more per month, with one firm carrying a $50,000 minimum project size and another quoting $200 to $300 an hour.

Treat those as a third-party roundup, which is what they are, and treat the spread as the real finding. A category where comparable-sounding services differ by a factor of ten is a category where you need your own definition of the deliverable. We went through the same exercise in more depth for SaaS agency pricing and for independent consultants, where the rate structures differ again.

Vet them with Google's checklist, not the agency's deck

Google publishes a vetting checklist for hiring an SEO, it is short, and almost nobody in this search result uses it.

The document is developers.google.com/search/docs/fundamentals/do-i-need-seo, last updated 2026-06-05. Four things in it are directly useful on a sales call:

Ask for read access only, at first. Verbatim: "only grant read access to Search Console (at this stage, don't grant them write access)". An agency that needs write access to produce an audit is telling you something about the audit.

Treat a ranking guarantee as disqualifying. Verbatim: "If they guarantee you that their changes will give you first place in search results, find someone else." And: "Beware of SEOs that claim to guarantee rankings, allege a 'special relationship' with Google, or advertise a 'priority submit' to Google."

Ask whether they cite Google. The checklist asks, verbatim: "Do they cite official Google documentation as supporting evidence for their recommendations?" This is a fast filter. Of the pages ranking in the top 10 for b2b seo agency, the two we read in full cite Core Web Vitals thresholds and AI Overviews in passing, and neither quotes a line of Google guidance.

Ask specifically about the AI claims. The same page asks whether advice on "AI experiences (also known as 'AEO' 'GEO' services)" is "aligned with Google Search's official guidance on optimizing for generative AI features". That guidance exists, at developers.google.com/search/docs/fundamentals/ai-optimization-guide, last updated 2026-07-10, and it lists things you do not need to do: llms.txt files and similar markup, "chunking" content into tiny pieces, rewriting content specifically for AI systems, and seeking inauthentic mentions.

The same guide contains the sentence to keep for any vendor demoing a visibility dashboard. Verbatim: "Be wary of third-party tools that promise ranking success or claim to use 'internal' Google metrics. No third-party tool has access to our internal ranking or AI systems."

That does not make the tools useless. It makes a score presented as a reading taken from Google a misrepresentation. We went through what is and is not measurable on the assistant side in LLM SEO and in how to get cited by ChatGPT, and the honest version of the measurement is a repeated prompt panel, not a proprietary score. The same caution applies to anyone selling AI SEO as a separate service line.

The measurement rig you run yourself

Build this before the engagement starts, so that month one has a baseline that is not the agency's.

You need three things: a fixed list of the queries that matter, a monthly pull of clicks, impressions and position for them, and the anonymized-query gap described above. The Search Console API gives you all three. The quotas are generous: Search Analytics allows 1,200 queries per minute per site, and URL inspection allows 2,000 per day and 600 per minute per site.

The script below pulls both views and prints the gap. It needs an OAuth access token with the webmasters.readonly scope.

// gsc-audit.js
// Pulls the query table and the site total for the same window, then reports
// the difference. That difference is your anonymized query volume.
const SITE = 'https://example.com/'
const TOKEN = process.env.GSC_TOKEN
const API = `https://searchconsole.googleapis.com/webmasters/v3/sites/${encodeURIComponent(SITE)}/searchAnalytics/query`

async function query(body) {
  const res = await fetch(API, {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${TOKEN}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(body),
  })
  if (!res.ok) throw new Error(`${res.status} ${await res.text()}`)
  return res.json()
}

const range = { startDate: '2026-06-01', endDate: '2026-08-30' }

// 1. The query table, the view your agency will screenshot.
const byQuery = await query({ ...range, dimensions: ['query'], rowLimit: 25000 })
const rows = byQuery.rows ?? []
const clicksInRows = rows.reduce((sum, r) => sum + r.clicks, 0)

// 2. The site total for the identical window, with no dimension.
const total = await query(range)
const clicksTotal = total.rows?.[0]?.clicks ?? 0

const hidden = clicksTotal - clicksInRows
const pct = clicksTotal ? ((hidden / clicksTotal) * 100).toFixed(1) : '0.0'

console.log(`rows returned      ${rows.length}`)
console.log(`clicks in rows     ${clicksInRows}`)
console.log(`clicks total       ${clicksTotal}`)
console.log(`anonymized clicks  ${hidden} (${pct}%)`)

Run it once before the engagement and once a month after. Three numbers tell you what you need.

If rows returned is close to 25,000 you are hitting the ceiling and should split the window or filter by page. If anonymized clicks is a large share of the total, your demand really is long tail and specific, which is normal for B2B and means query-level reporting will always understate the work. If clicks total moves while the named queries do not, something is working that the query table cannot show you, and page-level reporting is where to look.

Then add the second half, which is the part agencies do report and you should verify: track a fixed list of ten to twenty bottom-funnel queries by average position, on the same dates each month, and never change the list. A list that changes between reports cannot show a decline.

One honest caveat about the clock. Search Console holds 16 months of performance data, which sounds like plenty until you compare it to a B2B sales cycle that can run a year from first touch to signature. The click that starts a deal and the deal itself can sit at opposite ends of that window, which is why attribution arguments in B2B are rarely settled by search data alone. Judge the search layer on search metrics, and judge pipeline separately.

When an agency is the right call, and when it is not

An agency is the right call when the constraint is production capacity and the strategy is already clear.

Concretely, hire when you know your twenty target queries, you know what each page has to say, and nobody on the team has the hours to write and ship them. That is a real constraint, and it is the one an agency solves most reliably.

Hire also when you need something outside your team's craft entirely, most often digital PR and genuine link acquisition, which is relationship work rather than writing work.

Do not hire an agency to tell you what your product does. In a technical B2B category, the domain knowledge that makes a comparison page credible is inside your company, and an outside writer without it produces pages that read as generic to the buyer who matters. Google's own guidance is blunt about the small end of this: "If you run a small local business, you can probably do much of the work yourself."

Do not hire on a per-article commitment in a category that does not support the volume. Twelve articles a month against a total addressable search volume of three thousand is a content program built to fill an invoice.

And do not hire before you can measure. If the rig above is not running, you have no way to distinguish a good engagement from an expensive one, and you will end up arguing about a chart rather than a baseline. The same logic applies when you are weighing search against paid acquisition, which we compared in SEO versus Google Ads. Companies that do the measurement first often find they can do a useful amount of the work themselves, which is the argument we made for small businesses doing their own SEO.

Where we fit, and where we do not

We publish this blog, so state the interest plainly: syted is a product that writes and publishes one SEO article a day on your own domain, and it competes with the content production line of the retainers described above. It does not compete with the other three.

It does not do technical SEO on your application, it does not do digital PR or link acquisition, and it does not replace the judgement of someone who knows your category. What it does is the one line item that is expensive per unit and mechanical in nature, with the audience check applied to every keyword before an article is written.

If your constraint is that nobody knows which twenty queries matter, buy a consultant or an audit, not a publishing tool. If your constraint is that you know exactly what should be written and it never gets written, that is the gap we fill. The comparison we would run in your position is the one in this article: measure the demand, price the production line, and see which side of that arithmetic you are on.

FAQ

Which B2B SEO agencies are the best in the US?

There is no defensible answer to this, and the rankings that claim one are usually published by agencies that appear in them. Two of the roundups ranking for b2b seo agency today are hosted by firms that also list themselves. Use Google's vetting questions instead: ask for previous work, ask whether they cite official documentation, ask for read-only Search Console access at first, and walk away from any ranking guarantee.

How much does a B2B agency typically cost?

The roundup ranking at position 5 for this keyword publishes rates from $3,000 per month for advisory engagements up to $20,000 to $50,000 or more per month for the largest, with several firms carrying a $5,000 monthly floor and one quoting $200 to $300 an hour. Those are third-party figures for named firms, not a market average. The spread of roughly ten to one is the useful part: define the deliverable yourself before comparing quotes.

Does SEO work for B2B?

It works differently, and the difference is volume. B2B categories have small, high-value query sets, so the return shows up in a handful of specific pages rather than in a traffic chart. That is also why measurement is harder: many of the queries that convert fall under Search Console's anonymization threshold and never appear as rows in the report. No one can guarantee a #1 ranking on Google, and any agency that does is disqualified by Google's own hiring guidance.

How much does an SEO agency typically cost?

Rates vary by an order of magnitude across the field, and the variation tracks scope rather than quality. The more useful question is what a given line item costs: an audit is a fixed piece of work, keyword research is a small number of hours, content production scales with volume, and link acquisition is priced by relationship rather than by output. Ask for the invoice broken into those four lines before comparing two proposals.

What is B2B SEO, and how is it different from SEO in general?

It is the same technical discipline applied to a much smaller and more valuable query set. The head term in a B2B software category can carry hundreds of thousands of monthly searches and a difficulty score that puts it out of reach, while the terms that produce pipeline carry a few hundred searches and very little competition. The practical difference is that content velocity matters less and precision matters more.

Should I hire a B2B SEO agency or build the strategy in house?

Split the decision by line item rather than answering it whole. Strategy and category knowledge are usually better in house, because the credibility of a B2B comparison page comes from knowing the product. Production capacity and link acquisition are the two lines most worth buying. If you cannot yet measure the baseline, do that first: an engagement started without one is impossible to evaluate later.

Get cited by ChatGPT. Rank on Google.

You found this article through search. That is the whole product.

  • One researched article a day
  • Published on your own domain
  • Keywords checked against live results
Start writing

Get cited by ChatGPT. Rank on Google.

You found this article through search. That is the whole product.

  • One researched article a day
  • Published on your own domain
  • Keywords checked against live results
Start writing