Discussion starter: an agency question, posted with an answer from Niraj Raut to open the thread. If you have dealt with this on a site, reply with what you saw, especially where it differs.
- Agency
Clients own implementation but judge you on results. How do you structure retainers when half your recommendations never ship?
Disclosure: Niraj Raut, who posted this answer, runs the SEO consultancy linked at the end of it.
1 reply
-
adminAdmin
The short answer: split the retainer into what you control, what you share with the client, and what nobody controls, then write that split into the contract, the reporting and the price. Charge a fixed fee for diagnosis, prioritisation and quality control. Make implementation either your job (scoped and priced) or a named client commitment with a named owner. Tie any results targets to work that has actually shipped.
The qualification is that “half never ship” is not automatically a failure. Some recommendations should be declined because of brand, legal or platform constraints, or because they cost more to build than they are worth. The number that matters is how much of the expected impact shipped, not how many line items did. If the high-impact half is the half that stalls, the usual fix is not a better results clause. It is fewer, better-sized recommendations, and moving retainer hours from producing new advice to getting existing advice into production.
Why this problem is structural rather than one difficult client
In the 2024 State of Technical SEO survey from Aira and Women in Tech SEO (nearly 400 respondents), 49% of agency and freelance SEOs said the hardest part of their job was getting recommendations implemented, well ahead of showing the value of their work at 17%. The most common reason changes didn’t ship sooner, cited by 64%, was competing non-SEO development work. That is a self-reported survey, not a measured implementation rate, but it tells you the blocker is usually engineering priority rather than the quality of your advice.
Bill Hunt describes the same thing as the “IT line of death”: work only gets built if it clears the line where engineering capacity runs out, and “a backlog is not progress”. That piece is opinion from consulting experience, not data, but it matches the survey’s main blocker.
You also can’t opt out of being judged on results. Google’s own guidance for businesses hiring an SEO tells them to ask “What kind of results do you expect to see, and in what timeframe?” and “Will you share with me all the changes you make to my site, and provide detailed information about your recommendations and the reasoning behind them?”. The client is entitled to a results conversation. Your job is to define which results depend on which shipped changes.
Three layers of accountability to separate before you price anything
You own
- Quality of diagnosis and prioritisation
- Ticket-ready specs and acceptance criteria
- QA of what ships, including catching broken releases
- Honest measurement and reporting
Shared with the client
- Implementation rate and time to ship
- Which items get declined, and why
- Access to sprint planning and decision makers
Nobody controls
- Core updates (Google completed both a March and a May 2026 core update)
- Demand shifts and SERP layout changes
- Measurement changes, such as the end of
&num=100in September 2025, which cut desktop impressions and improved average position in Search Console, while clicks were affected far less, according to Brodie Clark’s analysis
Most retainer disputes come from blending these. A client who sees flat traffic after a quarter where four of twenty items shipped and a core update landed will usually blame the agency, because the agency is the only line on the invoice. Separating the layers in writing, before the quarter starts, changes that conversation.
Four retainer structures and when each one fits
Model How it works Fits when Main risk Advisory retainer Fixed fee for audits, strategy, prioritisation and QA Client has dev and content capacity and a named owner who ships regularly You are judged on results you can’t produce; churn after two slow quarters Advisory plus implementation block Fee includes set hours where you ship directly (CMS changes, content, redirects, tag management, templates) Platform allows safe access, and the changes are low risk Liability for changes you make; you drift into being a production team Capacity-matched retainer Contract names the client-side dev capacity per sprint for SEO work; if it isn’t supplied, your hours convert to implementation support or the targets move Larger organisations with a sprint process and change control Only works if a senior sponsor enforces the commitment Base plus performance component Base fee covers the work; a bonus is tied to agreed non-brand metrics on shipped items You control most levers, the baseline is clean, and measurement is agreed up front Attribution disputes; incentive to chase easy metrics over valuable ones The deciding factor is who controls the levers that move the agreed metric. If the client controls them, sell advice and measure implementation. If you can reach most of them yourself, sell execution and take on more results risk. Performance fees on work you don’t ship are the worst of both.
Contract terms that make “judged on results” fair to both sides
- Dependencies attached to targets. Each results target lists the items it relies on and their ship-by dates. If an item slips past its window, the target for that item pauses rather than silently counting against you.
- One shared backlog with four statuses: shipped, scheduled, blocked, declined. Each item has an owner, an effort estimate and an expected impact, reviewed monthly.
- Declined is a legitimate outcome. Record the reason and who decided. It stops the item being counted as your failure later, and stops you re-raising it every month.
- A cap on open high-priority items. When the cap is reached, retainer hours shift from new recommendations to implementation support.
- Quarterly expiry. Unshipped items get re-scored each quarter. Stale ones are closed with a note rather than carried forever.
- A quarterly “ship or stop” review with an exit or downsize clause if the implementation rate stays low.
Change what you deliver, not only how you bill
Size the output to the client’s capacity. If a client ships four items a quarter, a 60-item audit gives them 56 things to feel guilty about and gives you 56 things you will later be blamed for. Rank ruthlessly and hold the rest in a parked list.
Make each recommendation ticket-ready: affected templates or URL patterns, acceptance criteria, test cases, a rollback plan, and an effort estimate checked with their developers rather than guessed. Write the business case in the client’s terms (revenue, risk, cost to build) because the product owner is choosing between your ticket and a feature with a revenue number attached.
Favour template-level fixes over page-by-page ones, since one change can affect thousands of URLs for the same dev effort. Where you can, attach SEO requirements to projects that are already funded, such as a redesign, replatform or checkout rebuild, instead of competing for a separate slot. That is Hunt’s central point, and it matches the survey finding that competing dev work is the main blocker.
Hypothetical example:
A 30-hour monthly retainer. In one quarter the agency raises 24 recommendations and 11 ship. Sorting the 13 that didn’t: 6 were blocked by dev capacity, 4 were too large or vague to estimate, and 3 were declined by brand or legal. Only the first two groups are fixable. Next quarter the agency caps open high-priority items at 8, spends about 10 hours a month on diagnosis and about 20 on implementation support (writing tickets, attending sprint planning, making CMS changes directly, QA), and reports impact-weighted implementation instead of a raw count. These figures illustrate the method and are not from a real account.
Reporting results without overclaiming or conceding too much
Report in three tiers so the client can see where the chain broke:
- Implementation: shipped, blocked and declined items, time to ship, and the share of expected impact that shipped.
- Leading outcomes on the affected templates: indexing, crawl activity, impressions and clicks on non-brand queries for the pages each change touched.
- Business outcomes: leads or revenue from non-brand organic landing pages.
Search Console now makes this easier. Custom annotations let you mark ship dates on the performance chart, and the branded queries filter separates brand demand (which usually reflects marketing and seasonality) from non-brand visibility (which is closer to what SEO work influences). Compare touched templates with untouched ones as a rough control. Be explicit that a before-and-after comparison is not causal proof, especially across a core update or a reporting change.
Watch for this:
Don’t let the retainer become a paid backlog. If the implementation rate is still low after two quarters of restructuring, the honest move is to downsize to advisory-only or end the engagement. Billing for advice that never ships damages the relationship, your case studies and your referrals.
A fast test before you rewrite every contract
Pick one client where most of the work stalls. For the next quarter, cap open high-priority items, move a fixed share of hours to implementation support, and track impact-weighted implementation rate against the previous quarter. If it rises clearly, the problem was the shape of your deliverables and the contract terms above will help. If it doesn’t move, the blocker is organisational (no owner, no capacity, no sponsor), and the right answer is a different engagement model rather than better recommendations.
My working rule: price what you control, contract what you share, disclaim what nobody controls in writing, and make implementation rate the leading KPI that both sides own.
Need help with this on your own site?
Niraj Raut works with businesses in Nepal, Australia, the UK, Europe and the US on technical SEO, ecommerce SEO, local SEO and AI search.
Add a reply Cancel reply
Replies are open to approved members. Log in or apply to join.