The first page of Google for PPC agency pricing is fee-structure listicles, aggregator averages, and a Reddit thread. None of them publish what actually happens when an agency switches its pricing model on an active client book. Three years ago we ran 12 active client accounts on hourly billing at $85 to $125 per hour. Average monthly revenue per client sat at $1,940. Within 90 days we transitioned all 12 accounts to flat retainer pricing anchored to four spend tiers. Twelve months later, monthly revenue had doubled to roughly $4,200 per client without losing a single engagement. This is the ledger of the seven decisions that made the transition work, the two transition mistakes that nearly broke client trust, and the math underneath the revenue lift.
What PPC agency pricing actually means at the model-transition layer
Most PPC agency pricing content frames the question as “which fee structure: flat retainer, percentage of ad spend, hourly, performance-based, or hybrid.” That framing works for agencies starting from scratch and edits out the harder operational question.
A real PPC agency pricing decision once an agency has an active book isn’t “which model” but “which model at which moment in the agency’s lifecycle.” Hourly works in year one because billable transparency feels safe to clients who don’t yet trust the agency’s results. Flat retainer works once the agency has produced enough results to anchor pricing to outcomes rather than to time. Percentage of spend works in narrow contexts and creates perverse incentives in most others, the same kind of pattern the programmatic SEO essay on this site covers when describing tactics that print money in narrow conditions and poison the well in most. The transition between models matters more than the choice of any single one, because a poorly executed transition can break client relationships that took years to build.
Across our 12-account book during the hourly era, average senior strategist time ran 18 to 24 hours per month per account. At $85 to $125 fully-loaded billable rate, monthly revenue per account ran $1,530 to $3,000 with most clustering at the lower end. Margins were thin because hourly billing rewards accounts that consume more time, which is exactly the wrong economic incentive. The transition to retainer fixed the incentive problem and produced the revenue lift. The math underneath the transition is reproducible. The execution discipline is what made it work without churn.
Why most PPC agency pricing content fails the operator considering a model change
Three patterns make the SERP unreliable for the agency-side decision to switch pricing models on an active book.
The first is the model-listicle framing. Every educational piece on the first page structures content as “here are 3 to 5 fee structures, choose one.” The framing is true and operationally thin. Choosing a model is the easy part. Switching from one model to another across 12 to 30 active client engagements is the hard part. Most pieces edit out the transition entirely.
The Reddit thread problem
The second is the Reddit thread that ranks position 2 on this SERP. Reddit threads are useful for surfacing real practitioner perspectives, and the thread on this query produces good anecdotal data. The format is structurally limited because nobody publishes the full operational arc of a pricing transition in a comment. The thread captures what individual agencies charge, not how they got there or what they had to change to get there. The same operational-discipline-versus-comfort-marketing trade we covered in the no-PMs essay 11 months later on this site shows up here. Anecdotal data looks like transparency and isn’t.
The third is the missing transition documentation. Almost no agency publishes the model-change story with the math underneath. Pieces that mention transitions stay generic (“communicate value, give notice, frame the increase positively”). None of them describe what week 4 of a transition feels like when a client pushes back on the new structure or what happens to senior strategist time when the incentive structure changes. Both of our transition mistakes came from filters we’d weighted wrong on the first pass. Documenting them is the only way the picture gets complete.
The seven decisions that made the hourly-to-retainer transition work
The framework below ran across an 8-week preparation runway and a 90-day rollout. Each decision pairs with a specific document update, conversation discipline, or operational change. Skipping any of them would have produced churn during the transition.
1. Document the cost-stack math at the per-account level before the transition. Before any conversation with clients, we ran the seven-component cost stack on each of the 12 active accounts. Senior strategist time, junior support, tooling allocation, reporting and synthesis, communication, agency overhead, margin. The math showed margin sitting at 14 to 22% under hourly billing, well below the 28 to 38% we needed to sustain the practice. Without the cost-stack math documented, the case for transition would have been a feeling rather than a defensible position. Settings live in our Notion-based pricing tracker.
2. Anchor retainer rates to four spend tiers based on client ad budget. Tier 1 ($5K to $15K monthly ad spend, $1,200 to $1,500 retainer). Tier 2 ($15K to $40K, $1,800 to $3,800). Tier 3 ($40K to $80K, $4,200 to $6,500). Tier 4 ($80K+, $6,500 to $8,000). Tier-anchored pricing made the conversation about scope and complexity rather than about hours, which moved the discussion from “are you charging more for the same time” to “are we delivering against the right complexity tier.” The tier structure lived in the proposal template that went out to all 12 accounts.
3. Build the off-ramp for clients whose budget couldn’t absorb the new rate. Every transition conversation included an explicit acknowledgment that the new retainer might not work for their budget, with a clean transition timeline if they wanted to find a different agency. The off-ramp removed implicit pressure on clients to accept rates they couldn’t afford. None of the 12 used it. Offering it changed the tone of conversations enough that negotiations stayed collaborative rather than adversarial. The same pipeline-not-schedule discipline that the editorial pipeline essay on this site argues for content workflows applies to client conversations too.
4. Stagger the transition rollout across renewal anniversaries instead of doing it all at once. The 12-account rollout happened across a 90-day window keyed to each engagement’s annual renewal date rather than as a single agency-wide announcement. Rate changes that arrived at renewal felt operationally normal. Rate changes that arrived as a separate event would have read as economic pressure. The rollout schedule lived in the agency’s renewal calendar with each conversation date anchored to a specific anniversary.
5. Frame the model change as scope clarification, not as price increase. Each transition conversation included an explicit scope review. Where we’d been over-delivering against tier scope on specific accounts, the conversation became “your engagement should price up because your account complexity has grown.” Where we’d been under-delivering, the conversation became “let’s recalibrate scope and hold the equivalent rate flat.” The discipline turned 4 of the 12 conversations into scope renegotiations rather than price increases, which served the same margin-recovery goal without the friction.
6. Move the senior strategist time floor into the new model so quality stays predictable. Under hourly, senior time per account drifted between 14 and 28 hours depending on what clients flagged. Under retainer, we calibrated a floor of 9 to 16 hours per Tier 2 account per month, with structured optimization queues replacing reactive client-flag responses. The discipline change took 60 days for the senior team to internalize. By month 4 of the new model, senior time was running consistently inside the floor band. The shift to structured queues was the cultural change that made the retainer math actually work, and the same kind of team-restructuring that the Meta creative-team essay on this site argues for in response to algorithmic shifts applies inside agency operations when the pricing model changes.
7. Set the annual rate review clause for all new engagements signed under retainer. Every contract from the transition forward included language stating that retainer rates would be reviewed annually with reasonable notice. The clause normalized future rate changes as scheduled events rather than surprises. The 22% rate increase we ran across the active book 18 months later landed cleanly because every contract signed during and after the transition included this language.
The hardest sub-problem, calibrating retainer rates per account during the transition
The trickiest part of the hourly-to-retainer transition wasn’t deciding to switch. It was setting individual retainer rates for each of the 12 accounts during the conversion.
The principle we settled on was that the retainer should approximate what hourly billing would have produced at the right time floor, not at the actual time being billed under hourly. Some accounts had been consuming 28 senior hours per month under hourly because clients flagged work reactively. Setting the retainer at the equivalent of 28 hours would have locked in dysfunctional patterns. We set the retainer at 14 to 16 hours per Tier 2 account, which was the calibrated floor for that tier, and adjusted the operational discipline to make that floor work.
Two accounts pushed back on the math during the transition. Both had been consuming senior time at the upper end of hourly because of operational drift. The first account renegotiated the retainer 12% lower in exchange for tighter scope. The second accepted the floor-anchored retainer and we tightened scope unilaterally over the first 60 days. Both engagements stabilized by month 4 of the new model.
The conversation script for these cases held to a consistent structure. Acknowledge that hourly history showed higher consumption. Frame the new rate as anchored to scope rather than to history. Offer the off-ramp explicitly. Surface the scope review opportunity. Wait for the client to choose. The script worked across all 12 conversations. The two pushbacks resolved within two follow-up conversations each.
The contract and rollout document stack
Notion as the system of record for the per-account cost stack analyses, the new engagement agreement template with the annual rate review clause, the rollout calendar keyed to renewal anniversaries, and the conversation playbook.
A 4-page transition conversation playbook documented the standard arc: opening framing, tier-floor justification, scope review trigger, off-ramp acknowledgment, and renewal anniversary documentation. The playbook stayed consistent across all 12 conversations. Senior strategists adapted tone to relationship depth on each account but held the structure tight.
Loom recordings of the first three transition conversations served as training for the rest of the senior team. Watching a peer run the conversation cleanly was more useful than reading the playbook in isolation.
Total tooling cost on the transition rollout was zero beyond existing seats. The cost was preparation time, not tools.
What actually moved revenue from $1,940 to $4,200 per client
Measured at the 12-month mark post-transition. Average monthly revenue per client climbed from $1,940 under hourly to $4,200 under retainer. Total monthly revenue across the 12-account book climbed from approximately $23,300 to approximately $56,000. Engagement count grew from 12 to 18 across the same 12 months because the new pricing model produced enough margin to support 6 additional onboardings without proportional headcount expansion.
The biggest predictor of revenue growth wasn’t the rate change itself. It was the operational discipline that came with it. Under hourly, senior strategist time was consumed by reactive client flags across the 12 accounts. Under retainer with structured optimization queues, senior time freed up by 5 to 7 hours per week per strategist, which became the capacity for new account growth.
What changed in month four of the new model
The compounding shift showed up in month 4. By that point, senior strategists had internalized the floor-anchored time discipline. Reactive work patterns had given way to queue-driven work patterns. Client flags that would previously have produced ad-hoc senior-time spikes now slotted into the structured queue with clean priority scoring. Senior strategist hours per account stabilized at 9 to 14 hours for Tier 2 accounts, well below the hourly-era 18 to 24 range, while client outcomes stayed stable or improved.
What didn’t move revenue as much as expected
Per-account margin expansion was material but smaller than the absolute revenue lift suggested. Tier 1 accounts went from 18% margin to 22%. Tier 2 went from 14% to 26%. The bigger driver of revenue growth was the capacity unlock at the senior team level, which let the agency add 6 new clients across 12 months without adding senior headcount.
What moved revenue: capacity unlock through queue discipline, retainer rate calibration, new client onboarding capacity. Roughly in that order.
What we thought would work but didn’t during the transition
Two transition decisions shipped in the first 60 days of the rollout and got revised within 4 to 6 months.
Pure flat retainer with no quarterly review
We launched the new model with flat retainers and no quarterly check-in structure, on the theory that simpler was better. The execution surfaced a problem within 4 months. Two clients had grown in account complexity (one added a second product line, one expanded geographic targeting) and the flat retainer no longer matched the scope. Both clients pushed back at month 5 when senior strategist time had drifted higher to absorb the scope creep. We added quarterly scope reviews to the engagement structure starting from month 6, with explicit conversation about whether scope had shifted enough to recalibrate retainer. The change recovered margin on the affected accounts and prevented the pattern from spreading. The lesson was that flat retainers without scope review drift in the same direction hourly always drifts, just more invisibly.
Charging the same retainer for under-utilized accounts
Two accounts had been billing under 12 senior hours per month under hourly, suggesting their actual scope was tighter than other Tier 2 accounts. We charged them the same Tier 2 retainer floor anyway because we hadn’t calibrated tier definitions tightly enough to capture the tighter scope. Both clients asked within 60 days why their rate had risen more than other accounts. We renegotiated both down to a sub-Tier 2 rate that better matched their actual scope. The lesson was that tier definitions need scope criteria, not just spend criteria. We added scope-based tier modifiers to the pricing structure in month 4.
What this hourly-to-retainer transition actually cost
The 8-week preparation runway before the rollout actually started cost approximately 110 hours of senior strategist time at fully-loaded $85 per hour, distributed across cost-stack analysis on the 12 accounts, contract template development, conversation playbook drafting, and rollout calendar planning. Preparation cost was approximately $9,350.
The 90-day rollout itself ran 12 client conversations averaging 70 minutes each (40 minutes preparation + 30-minute conversation), totaling roughly 14 hours of senior strategist time. Plus another 8 hours on follow-up conversations for the two pushbacks. Rollout cost was approximately $1,870.
Total agency-side investment in the transition across 8 weeks of preparation and 90 days of rollout was approximately $11,220. Net annualized revenue lift in the 12 months following the transition was approximately $392,000 across the 12 retained accounts plus the 6 new clients onboarded with capacity freed up by the operational shift. Year-one ROI on the transition investment was roughly 35x.
The math worked because the transition held without churn. Had even 2 of the 12 accounts churned during the transition, revenue lift would have dropped to approximately $200,000 net of churned accounts and onboarding ramp time. The discipline of holding all 12 accounts through the model change is what made the math actually pay back.
How our shop sets PPC agency pricing today
The agency runs paid acquisition for ecommerce and lead-gen brands across the US, UK, UAE, and Australia. Pricing across the four spend tiers stayed consistent through subsequent rate adjustments, with quarterly scope reviews running on every engagement and annual rate review clauses standard in all new contracts. The hourly-to-retainer transition framework above gets reused for any agency we mentor that’s considering the same model shift on their own active book. The growth pattern that supports this kind of structural pricing discipline, growing a PPC agency from 3 to 30 clients without a sales team, covers how the demand pipeline shapes pricing leverage as the agency scales.
What to take from this
Most PPC agency pricing content frames the question as choosing a fee structure. The harder question is how to switch fee structures on an active book without breaking client relationships. The seven decisions above aren’t proprietary or clever. They’re discipline applied to a transition that most agencies handle reactively and lose clients through.
The number worth tracking on a PPC agency pricing transition isn’t margin or revenue per account. It’s senior strategist hours per account per month across the 90 days following the model change. Hours dropping into a stable band by month 4 means the new model’s operational discipline is working. Hours staying volatile or climbing means the new model is failing to fix the incentive problem the old model had. Most agencies that switch from hourly to retainer see hours stabilize within 90 days when the operational queue discipline is in place. The agencies that don’t see stabilization usually shipped the rate change without the queue change underneath it. The pricing model is downstream of the operational model. Both have to change together for the transition math to actually pay back