Web agencies use four main pricing models. Most clients don’t know how each one works, which gives agencies the ability to choose the model that benefits them — not you. Understanding the mechanics of each model tells you a lot about who bears the risk when something goes wrong.
Hourly Billing: Risk Transfers to the Client
Hourly billing sounds transparent. You pay for exactly the time used. In practice, it’s the model most vulnerable to abuse — intentional or structural.
Under hourly billing, every hour of confusion, revision, internal back-and-forth, and project management is billable. An agency with a senior developer and two junior developers can staff your project with the junior team and bill you at blended rates. Estimates become meaningless because every change in direction resets the clock. And projects where the client is slow to give feedback don’t sit idle — they generate hours while waiting.
The core problem with hourly billing is misaligned incentives. The agency earns more when projects take longer. They do not earn more when projects go quickly, cleanly, and efficiently. This doesn’t mean every agency on hourly billing is padding hours — many aren’t. But the model structurally rewards slowness, and you have no protection against it.
If an agency tells you a project will take “approximately 200 hours,” ask what happens if it takes 280. You’ll get an answer that involves scope changes and unforeseen complexity. What you won’t get is an agency that absorbs that overrun. You will.
What Protects You Under Hourly Billing
If you must work with an agency on hourly terms:
- Require a written estimate with explicit assumptions
- Cap the total hours per phase with written approval required before exceeding the cap
- Request weekly time logs in tool-level detail — not “development work: 14 hours” but “WooCommerce product import script: 6 hours; payment gateway integration: 4 hours; bug fix on checkout flow: 4 hours”
- Assign one decision-maker on your side to reduce revision cycles
These protections reduce exposure. They don’t eliminate it.
Fixed-Price Projects: Risk Transfers to the Agency
Fixed-price models define the scope upfront and lock the price to that scope. The agency is on the hook if the build takes longer than estimated. The client is protected from scope-driven cost overruns — as long as the scope doesn’t change.
This model rewards agencies that are good at scoping. A well-scoped fixed-price project is clean and predictable. A poorly scoped one turns into a scope dispute that benefits neither party.
The most common fixed-price trap: an artificially low quote wins the project, then change orders on things that “weren’t in scope” bring the total to where the agency needed it to be. This is a sales tactic, not a billing model. When every small revision triggers a change order, the fixed price was effectively an hourly engagement with a misleading label.
Genuine fixed-price work requires rigorous scoping, documented exclusions, and a clear change order protocol stated before work begins. When it’s done honestly, it’s the best model for clients — you know what you’re paying and the incentive structure pushes the agency toward efficient execution.
Our fixed-price packages at /start are built around this model. The price is published. The scope is defined. What’s not included is listed as explicitly as what is.
Retainers: The Model With the Most Variance
A retainer is a recurring monthly fee for ongoing services. The problem is “retainer” covers an enormous range of arrangements — from clearly defined to deliberately vague.
Well-structured retainers specify exactly what’s included each month: a defined number of hours, specific deliverables (monthly reporting, x number of ad campaigns, content publication schedule), and an explicit process for handling work that exceeds scope.
Poorly structured retainers are priced on “what the client can bear,” include vague deliverables like “ongoing optimization,” and are difficult to exit because there’s no clear measure of whether the agency is delivering.
Carlos ran a professional services firm and had been on a $3,500/month “digital marketing retainer” for 14 months. When he finally asked the agency to document what the retainer included, they provided a list of activities — meeting attendance, account monitoring, content suggestions — but no measurable outcomes. $49,000 spent, no documentation of what it had produced. He had no leverage to exit gracefully because the contract auto-renewed quarterly and he’d missed the cancellation window twice.
A retainer where the agency controls both the deliverable definition and the reporting is a retainer where you can only evaluate them on terms they’ve chosen. That should not be acceptable.
Evaluating a Retainer Proposal
Before signing any retainer:
- What specific deliverables will be produced each month, expressed in measurable terms?
- What KPIs will be reported, and how often?
- What is the notice period to exit, and is it locked to billing cycles or calendar days?
- Who on your side will receive reports, and who on their side produces them?
- What happens to work that was started but not completed if you exit?
If you can’t get specific answers to these questions before signing, don’t sign.
Value-Based Pricing: Theoretically Sound, Practically Rare
Value-based pricing ties agency fees to measurable business outcomes. An agency rebuilds your e-commerce checkout and charges a percentage of the revenue uplift. A Google Ads agency charges based on leads generated, not hours worked.
In theory, this perfectly aligns incentives. In practice, it’s rare — and when it appears, the measurement methodology usually benefits the agency.
Attribution is where value-based pricing breaks down. If your revenue increased 30% after a website redesign, how much of that was the redesign? How much was a competitor going offline? How much was seasonal? How much was a sales hire you made at the same time? Agencies that bill on outcomes tend to claim credit broadly and accept blame narrowly.
We cover performance-based pricing in detail in a separate post — the mechanics, the risks, and when it can work. It’s not the model we default to for web development, but it’s worth understanding before any agency proposes it to you.
Hybrid Models and How They’re Used
Most agency engagements in practice use hybrid models: a fixed fee for the initial build, then a monthly retainer for maintenance and marketing. This can work well — fixed work is scoped clearly, ongoing work is defined by deliverables.
Where hybrid models get exploited is at the seam between the two phases. The initial build is scoped aggressively to win the work, the retainer is where the agency makes its margin, and the client is dependent on the relationship because they haven’t received a clean handoff.
Patricia hired an agency for a $12,000 WordPress build that came with a “complimentary six-month maintenance retainer.” At month seven, she received an invoice for $800/month to continue. She had no other hosting access, her WordPress credentials had never been handed over in full, and her domain was pointed at their servers. She wasn’t technically locked in — but she had been structured into dependency.
A clean handoff at project end breaks this dependency regardless of which pricing model was used. If you want to understand what that handoff should include, the website handoff guide covers every component.
What Pricing Model Tells You About an Agency
The model an agency offers is a signal about how they operate:
- Hourly-only agencies are often either small enough to not know how to scope (forgivable) or large enough to benefit from the ambiguity (not forgivable)
- Fixed-price agencies that publish their rates and scope clearly are telling you they’re confident enough in their process to commit to it
- Retainer-heavy agencies that front-load the relationship with a cheap project to get you on monthly fees are optimizing for ARR, not client outcomes
- Value-based agencies that can’t clearly explain how they measure attribution are using the framing as marketing, not as a genuine billing arrangement
The pricing model isn’t the whole picture. But it shapes what the agency is optimizing for — and that shapes every decision they make from kick-off to invoicing.
Frequently Asked Questions
Is hourly or fixed pricing better for web projects? Fixed pricing is better for clients in most cases. It transfers the risk of overruns to the agency, and it gives you a defined number to budget against before work begins. Hourly billing benefits from appearing transparent while shifting all cost risk to you. The exception is ongoing maintenance and iterative work — retainer or hourly arrangements are more practical when the scope genuinely can’t be defined in advance.
How do I know if a fixed price is legitimate or artificially low? Ask for a written scope document before signing. If the scope is vague — “a 5-page website with custom design” without explicit feature lists and exclusions — the price is likely artificially low, and change orders will follow. A legitimate fixed price comes with a detailed scope, documented exclusions, and a clear change order protocol.
What should a retainer agreement include to be fair? At minimum: a list of specific monthly deliverables, measurable KPIs that will be reported, reporting frequency and format, escalation paths when deliverables aren’t met, and a clear exit clause with defined notice periods. Any retainer without measurable deliverables is paying for activity, not outcomes.
What is a change order and when is it legitimate? A change order is a documented agreement to add or modify scope at additional cost. It’s legitimate when the new work is genuinely outside what was agreed — a new feature, a different page structure, a third-party integration that wasn’t in the original spec. It’s not legitimate when it applies to things a reasonable person would have considered included in the original scope, like making a form work correctly or ensuring the design matches the mockup.
Do agencies typically negotiate pricing? On custom projects, yes — but what you should be negotiating is scope, not rate. Negotiating a lower rate on an hourly engagement often means the agency assigns less experienced staff to make the numbers work. Negotiating a reduced scope on a fixed price is cleaner — you both know what you’re getting. Fixed-price packages like ours aren’t negotiated because the pricing reflects a defined scope. Asking for a lower price without removing scope just means something gets quietly dropped.