Clients choose an agency based on proof: what exactly you did, under what conditions and what result the business got. That's exactly what they look for on Google, Behance and in recommendations. We break down how to build a portfolio that doesn't just display work but brings leads: the case study skeleton, proof with numbers, handling NDAs, SEO for individual cases and how to measure which cases actually sell.
01 In short: what you need to know
- A portfolio is not a gallery. A client wants to see the process and the result, not just pretty screenshots.
- The case study skeleton: client context → goals → constraints → solution (design / development / SEO) → before/after metrics → testimonial → "similar project" CTA.
- Without numbers, a case study is just a gallery. Add screenshots, process fragments and analytics data. If numbers aren't possible (NDA), replace them with verifiable qualitative proof.
- Every case study gets its own URL with a clear title, internal links to services and its own target queries. Case studies are landing pages for commercial queries.
- Show similarity, not just scale. A client looks for "a project like mine", so you need filters by industry and type of task.
- Don't invent. Fake numbers, testimonials and logos destroy trust faster than their absence does.
02 Why a portfolio is an agency's main sales tool
For a service business that sells a result invisible until purchase (a site, a system, SEO), the portfolio acts as "the product on the shelf". It removes the client's main objections:
| Objection | How a case study handles it |
|---|---|
| "Can you do this?" | A shown project of similar complexity |
| "Do you understand my business?" | A case in my industry, with the context described |
| "What will the result be?" | Before and after metrics |
| "How do you work?" | Process, stages, roles, timelines |
| "Can I trust you?" | A client testimonial, real names, links |
| "How much does it cost?" | A reference by scale and complexity (where possible) |
A client usually views 2–4 case studies before writing. If none resembles their situation or contains a result, they move on.
03 What clients look for in a portfolio
People choosing an agency care not about "pretty or not" but about the predictability of the result.
- Similarity: have you done something in my industry, with my task, at my scale?
- Result: what changed for the business (leads, sales, speed, rankings)?
- Process: how do you work, and will it be clear to me what's going on?
- Team: who exactly will work on my project?
- Freshness: are you active, or is the portfolio outdated?
- Scale and complexity: can you handle my volumes and integrations?
They search on Google (queries like "website development for a medical clinic", "online store case study"), on Behance and Dribbble (visual search), in directories and through recommendations. So a portfolio has to work both as a page for people and as a set of pages for search.
04 Structure of the "Projects" section
/projects — hub: all case studies with filters
/projects/<case-slug> — an individual case study
/projects?industry=medicine — an industry filter (as a separate page if needed)The "Projects" hub:
- Filters by industry (manufacturing, e-commerce, medicine, SaaS), type of task (site, store, platform, CRM, SEO), platform (WordPress, MODX, Laravel).
- Case card: an image, the client name (or "industry"), the task in one line, the main result figure.
- Priority: the strongest cases and those most similar to target clients first.
- A short intro on how you work on projects, and a CTA.
- Indexing: the hub has a unique title, an intro text and links to the cases.
How many cases to show: 6–12 quality ones are better than 40 "gallery" ones. Hide old and weak cases.
05 The case study skeleton: seven blocks
The skeleton: client context → goals → constraints → solution (design / development / SEO) → before/after metrics → testimonial → "similar project" CTA.
| # | Block | What's in it | Example wording |
|---|---|---|---|
| 1 | Client context | Who the client is, what they do, the market, the starting situation | "A door manufacturer with its own dealer network in Kyiv. The site wasn't bringing leads" |
| 2 | Goals | Business goals, not "make a website" | "Increase organic leads, shorten the path to order" |
| 3 | Constraints | Timelines, budget, platform, integrations, content, rules | "Launch before the season, preserve rankings, integrate with 1C" |
| 4 | Solution | What exactly was done: design, development, SEO, integrations, with explanations of why | "A new catalog structure for queries, a fast mobile UX, filters with clean URLs" |
| 5 | Before/after metrics | Numbers with period and source | "Organic leads: 38 → 71 per month; LCP: 4.8 s → 2.1 s" |
| 6 | Testimonial | A client quote with name and position | "…" |
| 7 | "Similar project" CTA | A call to discuss a similar task | "Need the same result? Describe your task" |
The figures in the examples are illustrative. In your own case studies use only real data.
How to write each block
1. Context. 2–4 sentences. Who the client is, what situation they came in with, what wasn't working. No praising epithets.
2. Goals. 2–4 goals in the form of measurable results. This is the base against which the reader judges the solution.
3. Constraints. The most often skipped block, yet it's what shows your expertise: you solved it not "in ideal conditions" but in real ones.
4. Solution. Not a list of work but the logic: what was decided, why, what was rejected. Split into design, development, SEO, integrations. Show process fragments (see below).
5. Metrics. A "before / after" table with the period and data source.
6. Testimonial. Specific, with a name, position and, where possible, a link to the source.
7. CTA. Not a generic "contact us" but "similar project": repeat the task in the client's wording.
An example metrics table
| Metric | Before | After | Period | Source |
|---|---|---|---|---|
| Organic leads / month | value | value | 3 months after launch | GA4, CRM |
| LCP (mobile, field data) | value | value | 28 days | CrUX / Search Console |
| Mobile conversion | value | value | period | GA4 |
| Rankings for key queries | value | value | period | Search Console |
06 Proof: screenshots, process, numbers
Without numbers, a case study is just a gallery.
Proof comes in three types, and the strongest case studies combine them.
1. Visual proof
- Screenshots of key screens (desktop + mobile), in context, with captions.
- Before / after: the old and new versions side by side.
- Details: interface fragments, micro-interactions, the design system, animation (short videos or GIFs).
- Real use: screens on real devices, photos of the client's team with the product (with permission).
2. Process proof
It shows how you work. That's your difference.
- Research fragments: site structure, query map, interviews, competitor analysis.
- Prototypes, moodboards, options and the rationale for the choice.
- The design system, components, tokens.
- Technical decisions: architecture, integrations, speed optimization (a diagram, a profiling screenshot).
- Stages and timelines: what happened and how long it took.
3. Result proof
- Analytics numbers: leads, conversion, traffic, rankings, speed, cost per lead.
- Business result: sales, payback, time saved (with the client's consent).
- Technical metrics: Core Web Vitals, accessibility score, number of issues fixed.
- Qualitative proof: a testimonial, changes in the client's processes, new capabilities.
The truthfulness rule. All numbers must be real, with a stated period and source. "Grew several times over" without a comparison base is not proof.
07 How to gather numbers for a case study
Numbers must be recorded before the project starts, otherwise "before" will have nothing to compare to.
Before work begins:
- Record baseline metrics: leads, conversion, traffic by source, rankings, Core Web Vitals, bounces.
- Agree with the client on access to analytics (GA4, Search Console, CRM) and permission to publish results.
- Define goals and success metrics in the contract or brief.
After launch:
- Wait for a sufficient period (usually 2–3 months, longer for SEO), compare periods of equal length and seasonality.
- Account for other factors: advertising, seasonality, changes in the client's business, so you don't take credit you haven't earned.
- Write down the methodology: what was measured, how, over what period.
- Ask the client to confirm the numbers or provide their own.
| Source | What you can take |
|---|---|
| GA4 | Traffic, conversions, events, funnels |
| Search Console | Impressions, clicks, rankings, Core Web Vitals |
| CRM | Leads, qualified leads, deals, revenue |
| PageSpeed Insights / CrUX | Speed from field data |
| Ad accounts | Cost per lead, CTR |
| Testimonials and interviews | Qualitative changes |
08 NDA cases and cases without numbers
Not every client allows publishing numbers or even the name. That's no reason to give up on a case study.
Options:
| Situation | What to do |
|---|---|
| The client can't be named | Describe it as "a building materials manufacturer (B2B)", with no logo or domain |
| Absolute numbers can't be published | Show relative changes ("+X% leads", "twice the speed") and ranges, if they're real |
| There are no numbers at all | Show the process, technical metrics (Core Web Vitals, accessibility), a qualitative testimonial, changes in the client's work |
| The project is entirely closed | Create a generalized case-methodology without specifics, or show your own projects |
| The client doesn't respond | Don't publish. Better fewer cases, but with permission |
How to agree on publication with a client:
- Build the right to publish into the contract (with the option of anonymizing).
- Offer the client a chance to review the text before publication.
- Explain the benefit: a mention, a link, social proof for their brand.
- Agree on what exactly may be shown: the name, screenshots, numbers.
09 Testimonials: how to get and show them
How to get them:
- Ask for a testimonial right after the result is achieved, when the impression is freshest.
- Ask specific questions: what problem they came with, why they chose you, what changed, what they liked about the process.
- Offer an interview or a video testimonial, because it's more convincing than anonymous text.
How to show them:
- Name, position, company, photo, and where possible a link to a profile or review on an external platform (Google, Clutch, LinkedIn).
- A quote with specifics ("cut the response time to a request from 4 hours to 15 minutes"), not generic words ("all great").
- The testimonial in the context of the case study, next to the result.
What not to do:
- Invent or edit testimonials in a way that changes their meaning.
- Show "testimonials" without authors.
- Use client logos without permission.
10 Case study SEO: landing pages for commercial queries
Case studies are landing pages for commercial queries. Separate URLs, clear titles, internal links to services.
Why it works
A person searching for "website development for a door online store" or "medical clinic website case study" is ready to choose a contractor. A case study that matches this query hits their intent exactly.
What to do
- A separate URL for every case study:
/projects/door-online-store-berezha, not a modal window or an anchor on one page. - A unique, clear title by the formula:
[Project type] for [industry/client]: [result] | CROPEExamples (insert real numbers): "Door online store: +X% organic leads in 3 months | CROPE", "A manufacturer's website: LCP X.X s and lead growth | CROPE".
- H1 and intro aligned with the query, with the key industry and type of task.
- Meta description of 140–160 characters: task + result + a call to action.
- Internal links from the case study to services ("Online store development", "SEO promotion", "MODX", "Laravel") and from service pages to relevant case studies.
- Topic clusters: case studies by industry and service are linked to each other ("Similar projects").
- Breadcrumbs: Home → Projects → Case study.
- Unique content: don't copy descriptions from Behance or other sources.
- Images: meaningful
alt, file names, light formats, an OG image for social networks. - The "Projects" hub links to all cases, and the cases link back to the hub.
Key queries for case studies
| Query type | Examples |
|---|---|
| Service + industry | website development for a medical clinic, turnkey furniture online store |
| Platform + task | MODX online store, Laravel CRM for an agency |
| Result | how to increase leads from a website, website speed case study |
| Case study + type | online store development case study, website redesign case study |
| Local | web studio Kyiv, website development Vinnytsia |
An example case study template in Markdown (for a CMS)
# [Project type] for [client/industry]: [main result]
**Client:** … · **Industry:** … · **Services:** design, development, SEO · **Platform:** …
**Timeline:** … · **Team:** …
## Context
…
## Goals
- …
## Constraints
- …
## Solution
### Design
### Development
### SEO and analytics
## Results (before / after)
| Metric | Before | After | Period |
|---|---|---|---|
## Client testimonial
> "…" — Name, position, company
## A similar project?
[Describe your task] → form / contacts
## Similar case studies
- …11 Schema.org markup for case studies
Markup helps search engines understand the page structure. Use JSON-LD and mark up only what's visible on the page.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Door online store: growth in organic leads",
"description": "A case study on developing and SEO-optimizing an online store",
"image": "https://example.com/assets/projects/case-cover.jpg",
"datePublished": "2026-07-14",
"dateModified": "2026-10-15",
"author": { "@type": "Organization", "name": "CROPE" },
"publisher": { "@type": "Organization", "name": "CROPE" },
"mainEntityOfPage": "https://example.com/projects/door-online-store"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/" },
{ "@type": "ListItem", "position": 2, "name": "Projects", "item": "https://example.com/projects" },
{ "@type": "ListItem", "position": 3, "name": "Door online store" }
]
}
</script>Nuances:
- For testimonials on your own site, don't mark up a star rating as reviews of your own organization. Search engine rules restrict such rich results, and incorrect markup is risky.
- Don't invent ratings or review counts.
- Check the markup in the Rich Results Test.
12 Visual presentation and speed
Visual presentation:
- Case hero: the title, one key figure, a main image, a short task.
- Contrast of rhythm: alternate text, screenshots, numbers and quotes.
- Device mockups help show responsiveness, but don't overdo the effects.
- A video overview (30–60 s) increases engagement, but it must not autoplay with sound.
- A unified case style: a template and grid. Then the hub looks cohesive and cases are easy to create.
- Real screenshots, not "template mockups" where it's visible the work isn't from a real project.
Speed:
A portfolio is image-heavy, and it's the one that's most often slow. That hurts both conversion and SEO.
- AVIF/WebP formats, responsive
srcset,width/height. - The hero image without
loading="lazy", withfetchpriority="high"; the rest lazy. - Video on user action, with a poster.
- Core Web Vitals benchmarks: LCP up to 2.5 s, INP up to 200 ms, CLS up to 0.1.
- Mobile version: convenient sliders with controls, large tap targets, fast loading.
An agency that sells speed and quality can't have a slow portfolio. It's the first thing an attentive client will check.
13 Behance, Dribbble, Clutch: where to distribute
Clients also search outside your site. Distribute case studies, but keep your own site as the primary source.
| Platform | Purpose | How to use |
|---|---|---|
| Your own site | Conversion, SEO, full control | Full case studies with process, numbers and a CTA |
| Behance | Visual search, a design audience | A visually strong version of the case with a link to the full case on the site |
| Dribbble | Visual details, the design community | Individual screens, components, animations |
| Clutch and similar | Reviews, ratings, B2B trust | Verified client reviews |
| B2B audience, expertise | Short posts with case results, a link to the site | |
| Google Business Profile | Local search | Reviews, photos, a link |
| Medium / blog / DOU / VC | Extended expertise | "How we did it" articles with a link to the case |
Rules:
- Don't copy one to one: adapt for the platform and keep the full version on your site.
- A link to your own site in every placement.
- Agree materials with the client, especially when publishing numbers.
14 The funnel: from case study to lead
A case study shouldn't just "show", it should lead to action.
Funnel elements:
- Entry: search, social networks, ads, a recommendation.
- The case study: context, solution, result.
- A CTA inside the case: "Need a similar project? Describe your task" at the start, in the middle and at the end.
- Similar case studies: a path to the next relevant projects.
- A related service: a link to the service page with prices and process.
- A form or messenger: minimum fields, a quick reply.
- Follow-up: confirmation, response time, next steps.
CTA principles:
- Word it in the client's terms: not "Contact us" but "Discuss a project like this".
- Tie it to the case: the email subject or a "similar to case X" field is passed into the form.
- Pass the source to the CRM (UTM, case page) to see which cases bring leads.
// A click event on a case study CTA
document.querySelectorAll('[data-case-cta]').forEach((el) => {
el.addEventListener('click', () => {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'case_cta_click',
case_slug: el.dataset.caseSlug,
cta_position: el.dataset.ctaPosition // top | middle | bottom
});
});
});15 Portfolio metrics
| Metric | What it shows |
|---|---|
| Organic traffic to case studies | SEO effectiveness, which queries bring visitors |
| Case scroll depth | Whether people reach the results |
| Clicks on the CTA in a case | What share of readers are ready to act |
| Leads from sessions with case views | The portfolio's effect on conversion |
| Which cases preceded a lead | Which cases "sell" best |
| Case → service transition | Effectiveness of internal links |
| Time on page and bounces | The quality and interest of the material |
| Speed (Core Web Vitals) | Technical quality |
| Client remarks on a call | "I saw your case about…": a qualitative signal |
How to improve:
- See which cases bring leads and make more like them, expand them.
- Rework or hide weak cases (little traffic and few leads).
- Experiment with the title, the main figure, the CTA position.
- Add to client surveys: "What convinced you?"
16 Common mistakes
- A case without a result: just screenshots and "we made a website".
- The language of process instead of the client's language: "markup, backend" instead of "shortened the path to a lead".
- One template phrase for all cases.
- No numbers and no period. "Grew significantly", "+300%" without a comparison base.
- Invented cases, numbers, testimonials and logos.
- Cases without their own URLs (a gallery with modal windows), so SEO doesn't work.
- No internal links to services and similar cases.
- Old and weak projects next to strong ones.
- A slow hub with heavy images.
- No CTA, or only a generic "Contact us".
- Everything about you, little about the client and their task.
- No client permission to publish.
- Not updated: the latest case is two years old.
17 Checklist before publishing a case study
Content
- All seven blocks are present: context, goals, constraints, solution, metrics, testimonial, CTA
- Goals are worded as business results
- It's described why decisions were made, not only what was done
- Before/after metrics with period and source (or an honest substitute if the numbers are under NDA)
- A testimonial with name and position, agreed with the client
- All figures, logos and testimonials are genuine
Proof
- Desktop and mobile screenshots, in context
- Process fragments (research, prototypes, design system, architecture)
- The client's permission to publish is in place
SEO
- A separate URL with a clear slug
- Unique title, H1, meta description
- Internal links to services and similar cases
- Breadcrumbs, JSON-LD (Article, BreadcrumbList)
altfor images, an OG image
Speed and UX
- AVIF/WebP images, hero without lazy,
width/height - LCP ≤ 2.5 s, INP ≤ 200 ms, CLS ≤ 0.1 on mobile
- Readable on a phone, large tap targets
- Accessibility: contrast,
alt, keyboard
Conversion
- A "similar project" CTA at the start, in the middle and at the end
- The source (UTM, case page) is passed to the CRM
- Analytics events are set up
Distribution
- An adapted version for Behance / Dribbble / LinkedIn with a link to the site
- A review request on Clutch or Google
18 FAQ
What should be in an agency case study?
Client context, goals, constraints, the solution (design, development, SEO), before and after metrics, a client testimonial and a "similar project" call to action. Add screenshots, process fragments and analytics data.
How many case studies does a site need?
6–12 strong ones that show your specialization are better than dozens of weak ones. Show cases of different task types and industries you want to work in, and hide outdated ones.
How do I write a case study if the client doesn't allow publishing numbers?
Use relative changes or ranges, technical metrics (Core Web Vitals, accessibility), a description of the process and challenges, a qualitative testimonial. You can anonymize the client: "a building materials manufacturer (B2B)".
Do I need separate pages for each case study?
Yes. A separate URL lets you index the case for specific commercial queries, link to it and build internal linking with services and similar projects.
How do I measure a project's result for a case study?
Record baseline metrics before the start (leads, traffic, conversion, rankings, speed), agree on analytics access with the client and compare periods of equal length after launch. Account for other factors such as advertising and seasonality.
Can I use case studies without naming the client?
Yes, if there's no permission. Describe the industry and the task, with no logo or domain. But cases with names and links inspire more trust, so agree on permission at the start of the project.
How do I SEO-optimize a case study?
A separate URL, a unique title by the formula "project type for industry: result", H1 and intro with the key topic, internal links to services and similar cases, breadcrumbs, JSON-LD, optimized images with alt.
Do I need to post case studies on Behance?
It's useful as an additional channel for visual search, but keep your own site as the primary source: it has the full case, SEO and conversion. Add a link to the case page from Behance.
What if I have no big clients?
Show quality projects of the scale you really work at, and your own projects or products. Trust is built by specifics, process and result, not by loud logos.
How often should I update the portfolio?
Add new cases regularly (for example once every 1–2 months), remove weak and outdated ones, and check the relevance of links and figures.
19 Summary
An agency portfolio sells when it shows not "what we did" but "what changed for the client". That takes structure, truthful proof and technical quality: a case study with context and goals, a solution with logic, before/after numbers, a testimonial and a clear CTA, that opens fast and can be found in search.
The order of action:
- Record metrics before the project starts and agree on permission to publish.
- Write cases by the skeleton: context → goals → constraints → solution → metrics → testimonial → CTA.
- Back them up with numbers, screenshots and process fragments. Without numbers a case is just a gallery.
- Give every case its own URL, title, internal links to services and markup.
- Add filters by industry and task and show similar projects.
- Measure which cases bring leads and develop them.
- Don't invent: trust matters more than any figure.
Want a portfolio that brings leads, not just looks good?
We'll build a projects section with a case template, an SEO structure and analytics, and help you gather the numbers and format cases so they sell.