DECISIONS
How to verify if an agency is worth the money before you sign
10 concrete checks. Under 30 minutes. They save you 8 months of regret.
How to verify if an agency is worth the money before you sign
Their site looks impressive. Logo-grid impressive. "Trusted by" quotes. Then they ship unsystematic code in 8 months with 23,000 USD over budget. Pattern.
A B2B HORECA client signed with an agency "with impressive portfolio". Logo-grid: 40 brands (all logos, no links). Trustpilot reviews: 5 stars, 12 reviews "Excellent service" without context. Agency site: GSAP animations, poetic copy.
Result: 4,000 EUR paid, 11-week delivery (instead of 6 promised), site that doesn't sell, max frustration.
The lesson: visual portfolio validates nothing. There are 10 concrete checks under 30 minutes that tell you the truth. All executable without asking the agency for permission.
Why "logo-grid + Trustpilot" is theatre
Two patterns hide everything:
"Trusted by 40 brands" with logos and no links. Logos can be: (a) real clients lost 2 years ago, (b) clients worked on for 4 hours via subcontract, (c) logos placed without permission hoping nobody verifies. Recognized pattern: RO agency 2018-2024 burned by community.
"5 stars Trustpilot, 47 'excellent service' reviews". Reviews without context (no numbers, no project duration, no verifiable name) are 70% automated review farms or paid. Trustpilot knows it, but can't filter efficiently.
Real trust requires something else: independently verifiable proof.
The 10 checks under 30 minutes
1. Verify the portfolio with clickable links
Open the agency site → Portfolio/Work section. Click each project.
You must be able to: (a) visit the client's live site, (b) see launch date, (c) compare with the mockup the agency declared.
Red flag: logos with no links, or links pointing to a "case study" on their site (not to the actual client). You can't validate anything if you don't reach the client's actual site.
Green: minimum 5-10 live projects with clickable link + concrete scope description.
2. Call 2 existing clients (the most important one)
Direct question to the agency: "Can I call 2 clients you delivered to in the last 12 months?". Ask for phone numbers, not just emails.
Serious answer: "Yes, here are 3 client phone numbers. Call them, ask what you want. I'll wait for your follow-up."
Bad answer: "we have many projects under NDA", "our clients don't want to be bothered", "I'll send you written testimonials".
Questions for the client: "Did they deliver on time?", "How much scope creep did you have?", "Would you recommend them to someone else?", "What would you change?".
3. Verify the founder's + team's LinkedIn
Search LinkedIn: agency name + founder name. Open the profiles.
Verify: (a) real years of experience in the field (not "over 10 years" generic), (b) listed employees have real profiles with activity, (c) technical posts (not just marketing), (d) recommendations from former clients with verifiable names.
Red flag: founder profile with stock photo, zero posts, under 500 connections. "25-person team" but you find 3 on LinkedIn.
4. GitHub + public code
Ask the agency: "Do you have public GitHub repos or open-source contributions?". Then verify.
Active repos (recent commits, projects), contributions to known libraries, public openings = real signal of technical capacity.
Total absence of GitHub = not necessarily a red flag (some agencies work only under NDA), but ask: "Can I see a delivered code sample?" with permission from an existing client.
5. Verifiable reviews (NOT generic Trustpilot)
Search the agency on: Clutch.co, Upwork (if they list freelance), Google Business reviews, dedicated industry forums (Shopify Community, WordPress Hosting Reviews).
Clutch.co is the best: reviews are verified through telephone cross-check with the actual client. Long reviews (200+ words) with concrete numbers (timeline, budget, result).
Red flag: only Trustpilot 5★ with short reviews "Great team, will work again".
6. Verify SimilarWeb on declared projects
SimilarWeb.com on client sites. See real traffic, ranking, age.
If the agency declares "we grew traffic from 5k to 50k visitors/month for client X", you verify independently.
Fraud pattern: declares numbers that don't match SimilarWeb reality. Or declares a "client" whose site doesn't exist.
7. Ask who concretely works (NOT generic team)
In the first meeting: "Who exactly is the PM? Who are the 2 allocated devs? Can I see their CVs?".
Serious answer: "PM with 5 years of experience, visible LinkedIn profile. Senior developer with 7 years Next.js, public GitHub. Designer with verifiable Behance portfolio. All allocated by percentage on the project."
Bad answer: "our expert team will be allocated". That's not an answer. That's marketing.
8. Formal SOW vs PDF quote
Ask for a formal SOW with the 9 sections (see our SOW article). See how they react.
Serious answer: "SOW is a standard part of our process, takes 3-5 days to deliver after briefing." Then ships 4-6 pages with detailed scope, change management, penalties.
Bad answer: "we work on simple quotes, the contract is standard at the end". You don't pay for improvisation.
9. The contractual terms they offer
Verify if the SOW includes:
- Provider penalty for delay (5% per week minimum)
- Code as your property from day 1 (NOT "after final payment")
- 30+ days free post-launch support
- Change management with written prices
- Reasonable force majeure clause
Anyone refusing all of these = not an agency, an opportunist.
10. How they answer uncomfortable questions
In the briefing, ask 5 uncomfortable questions:
- "What happened on the most problematic project last year?" (asks honesty)
- "In what case do you NOT recommend working with you?" (asks self-awareness)
- "What's the biggest mistake you ever made?" (asks maturity)
- "What percent of projects exceed budget?" (asks number honesty)
- "What's the average real timeline vs the average quote?" (asks transparency)
Honest answer on 4 out of 5 = serious candidate. Evasive answer on 3+ = not a candidate.
BEFORE vs AFTER: theatre agency vs serious agency
| Check | Theatre agency | Serious agency |
|---|---|---|
| Portfolio | 40-brand logo-grid | 8-15 live projects with clickable link |
| Reviews | Short Trustpilot 5★ | Clutch verified + 2-3 context paragraphs |
| Calling existing clients | "NDA, we can't" | "Here are 3 phone numbers" |
| Founder LinkedIn | Stock photo + 0 posts | Real profile, technical posts |
| GitHub | Missing | 5+ active repos or OS contribs |
| Who concretely works | "Our expert team" | "PM with 5 years experience, senior dev, designer with portfolio" |
| Quote vs SOW | 1-page PDF quote | Formal 4-6 page SOW with 9 sections |
| Contract penalty | Missing | 5%/week + bidirectional |
| Answer to uncomfortable questions | Vague | Concrete + numbers |
| Code ownership | "After final payment" | From day 1 in your repo |
Typical case study: B2B client, WordPress redesign, two pre-checks
Pre-check he DID NOT do (the one that burned him):
- Agency with impressive logo-grid. Signed without verifying.
- Cost: 4,000 EUR paid, 6,500 EUR final invoice, 11 weeks instead of 6, site that doesn't sell
- Loss: 2,500 EUR extra, 5 weeks lost, real frustration
Pre-check he did the second time (10 checks under 30 minutes):
- Agency 1: impressive logo-grid, but no links. NDA on "all clients". Founder LinkedIn with stock photo. ELIMINATED.
- Agency 2: 8 live projects with links, 2 clients answered the phone, active GitHub, SOW offered on request. SHORTLIST.
- Agency 3: SOW delivered in 2 days, 6% penalty per week of delay accepted in contract, code ownership from day 1, honest answers to uncomfortable questions. SELECTED.
Signed with Agency 3. Cost: 4,500 EUR fixed. Timeline: 7 weeks (1 week over, with automatic 5% discount applied). Site that converts.
Real difference: 30 minutes invested in checks means thousands of EUR saved, weeks of time recovered, zero frustration.
The 10 checks under 30 minutes are the best time investment in the project. Better than 4 hours of brief, better than 1 hour of quote review. Because they filter the decision BEFORE any contract.
Action plan before signing the contract
- Allocate 30-60 minutes for the 10 checks. Not 5 minutes. Don't skip any.
- Eliminate any agency that doesn't pass 7/10 checks. No "almost", no "but it has my style". Drastic filter.
- For those passing 7+/10, demand a formal SOW. Verify the 9 sections. The weak SOW eliminates the next candidates.
- Call 2 clients per final candidate. Ask concretely: real timeline, scope creep, post-launch support. Their answers decide.
- Negotiate bidirectional penalties BEFORE signing. Anyone refusing = not a candidate. Period.
Final lesson
The agency inspiring trust through impressive design and logo-grid isn't the agency that delivers. Real trust comes from concrete checks: public code, clients who answer the phone, formal SOW, written penalties, transparency on uncomfortable questions.
30 minutes of verification save you 8 months of regret.
Now: pull the last agency you're considering. Apply the 10 checks. Score each 1-10. Below 7/10 = walk away. Above 7/10 = ask for SOW. Math, not intuition.