TL;DR
Five diligence checks before you sign: tracked-revenue proof, named staff on your account, a 90-day numeric plan, a 6-month cap with 30-day out, and asset own
→ See how this applies to your business (free 30-min call)Hiring a website marketing agency comes down to five checks, in this order: verify they own a channel that produces tracked revenue (ask for a client's Google Analytics or CRM screen share, not a PDF), confirm who actually does the work (get the names and hours of the people on your account), demand a 90-day plan with numeric targets before you sign, cap the contract at 6 months with a 30-day out, and own every asset — domain, hosting, ad accounts, GA4, GBP, and CRM data — in your own name. Expect to pay $2,500–$10,000/month for a real retainer on a US service business. Below is the diligence process, the pricing math, the contract clauses that matter, and an honest section on when hiring an agency is the wrong move.
What a Website Marketing Agency Actually Sells
The category name is vague on purpose. Three different businesses use it:
Ask which one they are in the first five minutes. An agency that answers "all three" for $1,500/month is subcontracting to a 4-person team overseas at $12/hour and marking it up. That isn't automatically bad — plenty of good work happens that way — but you should know it before you sign, not after month four when the writing sounds like nobody who has ever been to a job site wrote it.
The Diligence Process, In Order
1. Ask for one client's live dashboard on a screen share. Not a case study. Not "results may vary." A real GA4 or CRM view with dates and dollar figures. Roughly 3 out of 4 agencies will decline or stall. That's your filter. The ones who share will usually anonymize the client name — that's fine and normal.
2. Get the org chart for your account. Names, roles, hours per month. The single most common failure in agency relationships is the bait-and-switch: you're sold by a founder or a senior strategist, then handed to a coordinator 18 months into their career. Write the named people into the contract, or at minimum write in "client will be notified 14 days before any change to account lead."
3. Require a 90-day plan with numbers before signing. Not deliverables — outcomes. "Publish 8 pages" is a deliverable. "Move 12 target keywords from page 3 to page 1, producing 40+ organic form fills/month by day 90" is a target. Good agencies push back on your specific numbers and propose their own. Bad agencies agree to whatever you say.
4. Call two references they did NOT give you. Find former clients through the agency's own case studies page or old footer credits ("Site by ___"), then contact those businesses. Ask one question: *"Would you sign again?"* The hesitation before the answer tells you more than the answer.
5. Read the exit clause first. Skip to the termination section before you read anything else.
What This Actually Costs
Real numbers for a US service business — HVAC, law, dental, home services, med spa:
Run your own break-even before any call. If your average closed job is $1,200 at a 40% gross margin, a $4,000/month retainer needs about 9 additional closed jobs a month just to break even, and if you close 25% of leads, that's ~36 net-new qualified leads a month. Is that plausible in your market? Our ROI calculator does this math with your numbers, and pricing shows where our own tiers land.
If an agency won't tell you what the plan is until you pay, the plan is to figure it out after you pay.
When Hiring an Agency Is the Wrong Move
This is the part most agency websites leave out, so here it is plainly.
Don't hire if your ad budget is under about $2,000/month. Combined with a $1,500 management fee, you're paying 43% of total spend to management. Run Google Ads yourself on 3–5 exact-match service keywords, or spend that money on Google Business Profile reviews and a $600 site fix instead. The math simply doesn't work at that level, and any agency that takes you on at that budget is either losing money on you or not doing the work.
Don't hire if you can't answer "what's a lead worth?" If you don't know your close rate and average job value, no agency can optimize toward anything. You'll spend 3 months arguing about whether 60 leads was good. Fix your intake tracking first — even a spreadsheet works.
Don't hire if you can't answer the phone. This kills more engagements than bad marketing does. If your team takes 4+ hours to call back a web lead, conversion drops off a cliff — a lead contacted in under 5 minutes converts several times better than one contacted an hour later. An agency can send you 80 leads and you'll close 6, then blame the agency. Fix intake and speed-to-lead before you buy traffic. (This is exactly why we push AI voice and instant-response setups before spend — see lead generation agency.)
Don't hire if you're planning to sell or pivot within 12 months. SEO and content compound over 9–18 months. You will pay for the investment period and someone else will collect.
Don't hire an agency for something one contractor can do. Need Google Ads only, on $8k/month spend? A good freelance PPC specialist at $1,200/month will often outperform a mid-tier agency's junior account manager. The tradeoff is bus factor and vacations. We wrote the honest comparison at ai agency vs freelancer.
Failure modes to expect even with a good agency:
Contract Terms Worth Fighting For
Questions That Separate Real Operators From Salespeople
Ask these on the first call and listen for specificity, not confidence:
The last one matters more than people expect. A page written by someone who has never priced a panel upgrade reads like a page written by someone who has never priced a panel upgrade — and after 2024's helpful-content updates, that gap shows up in rankings, not just in tone.
Making the Decision
Shortlist 3 agencies, no more — 5+ turns into comparison paralysis and adds 3 weeks. Run the same 90-day-plan request past all three, and compare the *plans*, not the pitches. The best proposal usually tells you something uncomfortable about your business: your site is slow, your reviews are stale, your service pages don't exist for half your revenue.
If you want a baseline before you talk to anyone, the free marketing audit shows what's actually broken, and case studies has the numbers behind the claims. Whether you hire us or the shop down the road, go in with the five checks in the first paragraph — they're what separates a $48,000/year expense from a $48,000/year investment.
Frequently Asked Questions
How much does a website marketing agency cost per month?
A real retainer for a US service business runs $2,500–$10,000 per month, excluding ad spend. Below $2,500 you are usually buying a junior generalist or offshore labor splitting time across many accounts. Above $10,000 you should expect a named senior strategist and channel specialists dedicated to your account.
What should I ask an agency before signing a contract?
Ask for a live screen share of a client's Google Analytics or CRM showing tracked revenue, not a PDF case study. Ask for the names and monthly hours of everyone on your account. Then require a written 90-day plan with numeric targets before you sign anything.
How long should a marketing agency contract be?
Cap the initial term at six months with a 30-day termination clause. Six months is long enough for SEO and paid campaigns to produce signal, and the 30-day out means a non-performing agency costs you one month instead of a year. Refuse 12-month lock-ins with no exit.
Who should own the accounts, the agency or me?
You should own every asset in your own name: domain, hosting, Google Ads, Meta Business Manager, GA4, Google Business Profile, and all CRM data. Grant the agency user access instead. Agency-owned accounts mean losing your ad history, tracking data, and reviews when the relationship ends.
Free Weekly Briefing
One AI Marketing Tactic.
Every Tuesday. Free.
What's actually working across our client accounts right now — ROAS moves, follow-up sequences, creative angles. The stuff that isn't in any blog post yet.
No spam. Unsubscribe anytime. 1,200+ business owners already in.