Strategy18 min read

How to write an SEO RFP for an SEO and AI search agency (with a free template)

An SEO RFP should test agencies against your own data: access, questions, KPIs, fees and scoring, plus a free, editable Australian SEO RFP template.

Brogan RenshawDirector and Innovation Lead, Firewire Digital
On this page
  1. Before you write it
  2. How do you give every agency the same starting point?
  3. Which five questions expose what’s really going on in your account?
  4. Which key components should every response include, and in what order?
  5. Which KPIs should agencies be held accountable for?
  6. How do you make agency pricing comparable?
  7. Where does AI search belong in the project scope?
  8. How should you score the responses?
  9. How do you check experience and who does the work?
  10. Who owns the accounts and data when the agency leaves?
  11. RFP process timeline and practical gotchas for Australian buyers
  12. Free SEO RFP template
  13. Frequently asked questions
  14. What you are really choosing

A good SEO RFP is a test you can mark against your own data, not a beauty parade. It gives every agency the same read-only access to your accounts, asks a short set of questions about your own account, and fixes a response order that puts diagnosis before the pitch. It sets KPIs on business outcomes, supplies one fee table every agency completes, and publishes the scoring weights before a single response arrives.

The same structure works whether you are appointing an SEO and AI search agency for SEO & search performance, Paid search & media and AI search & GEO together, or for only one of them.

The result is responses you can compare line by line, incumbent claims you can check against your own numbers, and a decision that holds up when your CFO or board reads it.

Our free, editable Australian SEO RFP template (Google Doc and Word) holds the response order, fee table, scoring weights and access and ownership clauses: download the SEO RFP template.

Key takeaways
  • A good SEO RFP is a test marked against your own data, not a beauty parade: every agency gets the same access, questions, response order and fee table.
  • Give every bidder view-only access to Google Ads, GA4, Search Console and Tag Manager on day one, plus your own outcome numbers and definitions, then revoke access and require deletion at the due date.
  • Ask all agencies the same five account questions, including brand vs non-brand results, paid brand incrementality and how Google Ads, GA4 and received enquiries reconcile.
  • Fix a response order that leads with diagnosis and ends with price, under a page cap of around 15 to 20 pages.
  • Hold agencies to business outcomes first; treat traffic, rankings and AI visibility as supporting measures, and ask for forecasts as ranges with assumptions.
  • Make pricing comparable with one fee table, projects priced separately and the paid media fee basis stated.
  • Publish scoring weights with diagnosis weighted highest, check named teams and a former-client reference, and keep ownership of every account and dataset on exit.

Before you write it: business goals, budget range and project scope

  1. Business goals, written as commercial outcomes: qualified enquiries, quote requests, referrals or revenue, not rankings. Agencies can only propose against business goals they can see.
  2. A budget range. A stated range keeps proposals realistic and comparable; without one, you get a spread of scopes priced for different businesses.
  3. Internal resources: who on your team will brief the agency, implement its recommendations and approve the work.
  4. The decision owner and the wider readers: procurement, the CFO, the board.
  5. Project scope across SEO & search performance, Paid search & media and AI search & GEO, including technical SEO, topic research, content strategy, link building and local SEO where they apply, so every agency prices the same SEO services. Note any planned site migration or platform change in the brief.

How many agencies should you invite to an SEO request for proposal? We recommend three to five. Each bidder gets live read-only access to your accounts, and your panel has to read every diagnosis properly against that data.

How do you give every agency the same starting point?

Without equal access, the incumbent has years of context and everyone else guesses. You end up marking guesswork, not diagnosis.

When we reworked an enterprise SEO and paid search RFP, the change that mattered most was simple: every bidder started from the same data on the same day. An incumbent arrives with years of context; without equal access, everyone else is guessing, and the panel ends up comparing familiarity rather than diagnosis. We answer agency RFPs ourselves, so this is the process we would want to be judged by.

Grant read-only access on day one

Give every agency read-only access to Google Ads, GA4, Search Console and Tag Manager on the day the RFP is issued. Use the view-only role in each: Read only in Google Ads, Viewer in GA4, Restricted user in Search Console and Read in Tag Manager. Agencies can then inspect the accounts but cannot change live campaigns, tags or settings. Day one matters because the response window is the diagnosis window. An agency granted access a week before the due date has a week less to find what is actually going on, and its response will show it.

Supply your own outcome numbers and how each is defined

The platforms only see what is tracked. Supply your first-party outcome numbers as well: enquiries, quote requests, referrals or whatever your business counts as a result, with a written definition of each. Say what counts as a qualified enquiry and where the number comes from. Agencies then diagnose the business, not just the analytics setup, and any gap between platform conversions and real outcomes becomes part of the test.

End access when responses are due, and require deletion

Access ends on the due date. Unsuccessful bidders delete the data, and the RFP’s confidentiality terms say so in writing; the template includes a data access and deletion clause you can use as written. Share aggregated figures only, with no personal information, and run the arrangement past your privacy and legal or procurement teams before you issue it. Equal access has a side benefit: a response that never cites your own data is easy to spot.

Which five questions expose what’s really going on in your account?

Put the same five questions to every agency in the SEO request, answered against the same data. You can then check one answer against another, and each against what your team actually received. An SEO agency that has spent the response window in your accounts answers specifically; one that has not answers in generalities, which is the first of your red flags.

How do results split between brand and non-brand, in paid and organic?

Brand demand often makes SEO performance and paid results look better than the acquisition work behind it, because people who already know your name will find you anyway. Ask each agency to split results into brand and non-brand, across both paid search and organic traffic, for the same period, with the source of every figure stated. An agency that cannot separate the two is reporting your reputation back to you as its result.

How much paid spend goes on brand terms, and how much of it is incremental?

Some brand clicks would arrive through organic results anyway if the ad were not there. An honest answer states the share of paid spend on brand terms and how incrementality was tested, or how the agency would test it. Credible designs include a brand-term pause or a geographic holdout, comparing total brand clicks (paid plus organic) against a control period or a control region. We won Gold, Best APAC SEO Campaign at the Global Search Awards 2026, on work where we reported paid and organic results separately and never added them together. Expect the same discipline from any agency you appoint.

Do Google Ads conversions, GA4 key events and what your team received reconcile?

Three sources rarely agree. An agency that explains the gap is checking your numbers; one that quotes whichever figure looks strongest is spinning them.

Illustrative reconciliation: what a good answer looks like

MeasureGoogle Ads conversionsGA4 key eventsReceived by the teamGap and likely explanation
Brand (paid)150130120Duplicate counting of repeat form submits
Non-brand (paid)250210180Longer attribution window in Google Ads, plus view-through conversions where Performance Max or Demand Gen runs
Paid subtotal400340300Google Ads counts 100 more paid conversions than the team received
Organicn/a260200Form spam counted as key events
Total400 (paid only)600500Compare Google Ads with the paid subtotal, not this row; reconcile before any figure is reported

Source: Illustrative example · invented figures · not client data

Where do your own brands or pages compete for the same searches?

Ask agencies to show where your own pages, or your own brands, compete with each other in organic or paid results, and what they would change. A specific answer takes real time in Search Console and the ad account, so it shows depth a capability statement cannot.

How often does your brand appear in AI answers today, and how was that measured?

Ask for current presence in AI answers and the method behind it: which engines, which prompts, how many runs and over what period. A single run, or a claimed “rank” in an AI answer, is not a measurement, because answers vary from one run to the next. Treat either as a red flag, and check the claim yourself by running a fixed set of prompts several times.

Which key components should every response include, and in what order?

Fix the order of the key components so every response leads with diagnosis and ends with price. No agency can then open on its credentials or bury its proposed solution beneath pages of capability content.

OrderSectionWhat it must containGuide length (pages)
1Executive summaryMain finding and top three priorities1
2Current-state assessmentWhat the data shows, with source and period3
3Commercial opportunityTop three, each with an estimated value range and assumptions2
4KPIsThe ones the agency will be held to, plus recommended KPIs and stretch targets, including how to value an enquiry, quote request or referral1
512-month successA forecast range with assumptions1
6100-day planIncluding handover from the current agency2
7Reporting modelA sample dashboard and report2
8Named teamWho does the day-to-day work2
9ExperienceComparable case studies, targets vs actual, one underperformance, references2
10PricingOn the supplied fee table2

Source: Template · Firewire · guide lengths total 18 pages

Pricing comes last on purpose. Your panel reads the diagnosis before it sees a number, so diagnosis quality stays the thing being judged.

Set a page cap

Cap responses at around 15 to 20 pages, with appendices excluded or limited. A cap keeps the process proportionate, so good agencies still respond, and it means your panel can read every response in full rather than skimming the longest.

Which KPIs should agencies be held accountable for?

Business outcomes come first. Traffic, rankings, impressions and AI visibility are supporting measures of SEO performance: useful for explaining what is happening, never the measure of success on their own. When you ask “what does success look like?”, the answer should be in the units your CFO reports.

Business outcomes first, supporting measures second

Set two tiers. Outcome KPIs: qualified enquiries, quote requests, referrals, and revenue where the business sells online. Supporting measures: non-brand organic traffic and clicks, rankings for commercial queries, and presence in AI answers. Require every reported figure to state its source and period, and platform conversions to be reconciled to what your team received. Ask each agency how it would value an enquiry, quote request or referral, because that number decides the business value of every channel.

Forecasts as ranges, with assumptions

Ask for a 12-month forecast as a range, not a single number, with its assumptions stated: budget, implementation speed and seasonality. Put this line in the RFP: no guaranteed rankings, traffic or leads; forecasts are ranges with assumptions. An SEO agency that guarantees an outcome it does not control is a red flag.

How do you make agency pricing comparable?

Proposals arrive in different scopes and fee models across SEO services, content strategy, paid search and AI search. The only way to compare them is to make every agency fill in the same table.

Supply one fee table every agency completes

Line itemMonthly fee (AUD ex GST)One-off fee (AUD ex GST)Included / not includedNotes
SEO & search performance: technical SEO and topic research
SEO & search performance: content strategy and production
SEO & search performance: link building
SEO & search performance: local SEO (where relevant)
Paid search & media management
AI search & GEO
Reporting and dashboards
SEO tools and licences
Project: website rebuild or content management system migration (example)
Project: one-off technical audit (example)
Paid media fee basis (flat fee or % of spend)
Exclusions
Rate card for out-of-scope work

Source: Template · Firewire · fill in per agency

Require every line to be priced or marked “not included”; a blank is not an answer. The SEO tools row shows whether licences sit inside the fee or are passed on.

Price projects separately from the ongoing fee

A website rebuild or platform migration bundled into the monthly fee makes two proposals impossible to compare. It also ties the ongoing fee to a project that may not go ahead. Ask for every project as its own priced row, and confirm in writing that the monthly fee stands whether or not the project proceeds.

State the paid media fee basis, exclusions and rate card

A flat management fee stays the same as budgets move; a percentage-of-spend fee rises with every budget increase, whether or not the work changes. The RFP must ask which applies, and at what rate. Ask for exclusions in writing and a rate card for work outside scope, so the first out-of-scope request does not become the first argument.

Where does AI search belong in the project scope?

Include AI search & GEO in the same RFP as SEO & search performance and Paid search & media, because the same queries drive all three. AI answers draw on many of the same pages as traditional SEO, plus third-party sources, so search engine optimisation work carries into both.

AI search does two jobs in the RFP. It is a supporting measure in the KPIs: presence in AI answers, measured as a frequency over time. It is also a read on how current each agency’s thinking is: an SEO agency still treating generative AI as a future topic will show it.

Do not over-weight it. Score generative AI claims below diagnosis of your own data, and do not buy a separate package on the strength of a single screenshot.

Check an agency’s generative AI visibility claim yourself

  1. Write a fixed set of prompts your customers would ask, for example 20, mixing category questions (“Who provides [your service] for [your type of business] in Australia?”) and comparison questions (“What should I look for when choosing a [your category] provider?”).
  2. Run each prompt several times, in a fresh session each time, across the engines that matter to you, for example ChatGPT, Gemini, Perplexity and Google AI Mode.
  3. Record in a spreadsheet whether your brand is mentioned and whether your site is cited.
  4. Report the result as a rate with its sample size and period: “mentioned in x of N runs (y%), across [engines], in [month]”.

Answers vary between runs and over time, so there is no fixed position to report. A movement only means something once it holds across repeat runs over several months. Ask each agency to state its method in these same terms, so its claim can be compared with yours. It is the method we use in our own client reporting: a fixed prompt set, repeat runs across several engines, and a mention rate with its sample size and period, read as a trend over at least three months.

How should you score the responses?

Publish the weights in the RFP. Every agency then knows how the evaluation process works and what is being judged, and your panel can defend its decision to anyone who reads it later.

Example weights

CriterionWeightWhat good looks like
Diagnosis quality and accuracy against our data35%Findings that hold up when checked against your accounts and your own outcome numbers
Opportunity, strategy and 100-day plan20%Priorities sized with value ranges and assumptions, and a first 100 days you could hold them to
Team and experience15%Named people with stated time on your account, and comparable evidence with source and period
Commercial value20%A complete fee table, projects priced separately, exclusions in writing
Accountability and reporting10%Outcome KPIs, reconciled figures, a sample report you would actually read

Source: Example · Firewire · adjust to your priorities

Diagnosis carries the highest weight because it is the one criterion a polished pitch cannot fake. An agency either found what is happening in your data or it did not, and your team can check which.

The weights are a guide. Your panel or board can override them. Record any override and the reason, so the decision stays defensible when someone asks why the highest scorer did not win.

How do you check experience and who does the work?

Ask for a named team and share of time

A familiar complaint about agencies is a great sales pitch followed by a handover to someone junior. Require names, roles and the share of each person’s time on your account, and score it. The SEO team in the pitch should be the team doing the work. If the answer to “who is actually doing the work?” is a role rather than a name, ask again before you shortlist an SEO partner.

Ask for case studies with source and period, targets vs actual, and one that underperformed

Ask for two case studies from comparable SEO campaigns or paid search programmes, with source and period for every figure. Ask for the targets set on the most comparable engagement and what was actually achieved against them. Then ask for one initiative that underperformed and what changed as a result. Every agency has work that missed; the ones worth hiring can explain why and what changed.

Speak to a former client

Require references that include at least one former client. Current clients are the easiest references to give. A former client will tell you how the agency relationship ended and how the handover went.

Who owns the accounts and data when the agency leaves?

You own every account, analytics property, Tag Manager container, dashboard and dataset. Your agency partner has access, not ownership. Write that into the RFP so it carries into the contract, rather than discovering at the end that the ad account or the reporting sits in the agency’s name.

Require handover of all access and documentation within the notice period, at no cost. An agency partner confident in its work has no reason to resist this, and a reporting black box is much harder to build when you own the data underneath it.

Agree the term and notice period that suit your business and scope; a common structure is a 12-month initial term, then rolling with 30 days’ notice. Either way, make the handover obligations apply whatever the reason the engagement ends. The template’s ownership and handover clause covers accounts, data and documentation.

RFP process timeline and practical gotchas for Australian buyers

Set the dates so every agency gets the same response window and the handover misses your peak trading.

StepTiming
1. Issue the RFPDay 1
2. Grant read-only access to every agencyDay 1
3. Q&A window, every answer shared with all agenciesFirst week
4. Responses due, access revokedTwo to three weeks after issue
5. Shortlist and presentationsAfter the panel has scored every response
6. DecisionOnce presentations close
7. HandoverClear of Christmas and your peak season

Gotchas to settle before you issue it

  • Search Console keeps 16 months of data. If agencies should compare a longer period, ask your current agency for older exports and share them with everyone.
  • Decide on an NDA alongside the confidentiality clause.
  • Note who uses the Q&A window. An agency that asks no clarifying questions has probably not opened your accounts.
  • Time the decision and transition so handover does not land over Christmas or your peak trading period.
  • Write it into the RFP itself: rankings, traffic and leads are not guaranteed, and every forecast is a range with stated assumptions.

Free SEO RFP template: what’s in it

Our free SEO RFP template is an editable Google Doc and Word file, written for Australian buyers, with no form to fill in: download the template. It turns this method into a request for proposal (RFP) you can issue, or into a shorter SEO request when you need only one capability.

The RFP template includes:

  • the required response order, with guide lengths and the page cap
  • the comparable fee table
  • published scoring weights
  • the data access and deletion clause
  • the ownership and handover clause
  • a dated version line showing when it was last updated.

Use it as a digital marketing agency RFP across SEO, paid search and AI search, or for any one of them. For a wider review, extend it into a marketing agency RFP template.

Frequently asked questions

What should be in an SEO RFP?

An SEO RFP should include equal read-only data access for every agency, five questions about your own account, a fixed response order, outcome KPIs, one fee table, published scoring weights, and ownership and exit terms. Add a page cap of around 15 to 20 pages so every response can be read in full.

How do I choose an SEO agency, including for AI search visibility?

Choosing an SEO agency comes down to three things: how accurately it diagnoses your own data, whether the named team will do the work, and the evidence behind its claims. For AI search, judge how it measured presence (engines, prompts, runs and period), not the size of the claim.

How do I evaluate SEO agency proposals?

Mark every proposal against weights published in the RFP, with diagnosis carrying the most (35% in our example). Check that every figure states its source and period, and that platform conversions reconcile to what your team received.

How much does an SEO agency cost?

Fees vary with scope, so make them comparable: one fee table, projects priced separately, the paid media fee basis stated and exclusions in writing. A budget range in the RFP keeps proposals for SEO services realistic and comparable.

Is an RFP worth it, or will good agencies refuse to respond?

In our experience, good agencies respond to an RFP process that gives them three things: access to your data, a fair response window of two to three weeks, and a page cap. They decline beauty parades.

What you are really choosing

You are not choosing the most polished presentation. You are choosing the agency whose diagnosis held up against your own numbers. Download the template, grant access and set your dates before you issue it, so the agency partner you appoint has earned the work on evidence your board can check.

Published 14 November 2026

Discuss with AI

Opens the selected AI for a follow-up discussion. You choose to send.

Written by

Brogan Renshaw

Director and Innovation Lead, Firewire Digital

Brogan Renshaw founded Firewire Digital in 2017 and still spends most of his time close to the work: search strategy, SEO, paid media, AI search and figuring out where growth is actually getting stuck. He also co-founded the Edge of Search conference.

More from BroganLinkedIn

Want this read on your own account?

Be found first. Be chosen naturally.

Thirty minutes on your own data, pulled live and walked through together, naming the three moves worth making first.

See the work More on Strategy