Clients keep requesting edits on a mockup. How do I get approval on the real thing instead?

By Ranjit Bhinge, founder of Blur Studio · Updated · 5 min read

Short answer: Share a real, working preview of the actual site, not a static mockup, protected by a password so only your client can see it before it's public. A client who clicks through an actual working page catches far more real problems than one approving a flat image, and asking for changes on the real thing cuts out an entire round of "wait, that's not what I meant" once the live version doesn't match what they imagined from a picture.

Ranjit Bhinge

You're tired of a client approving a Figma mockup and then being surprised when the real, live page doesn't feel exactly the same.

I'm Ranjit, and I run Blur Studio: 15+ years building software, 120 apps taken live, and clients who have gone on to raise $10M+. I build AI systems and processes that help businesses do a lot more with a lot less time. I also work differently from most of what else is out there, more on that further down this page. Say hello.

This page may contain affiliate links from which Blur Studio earns commissions.

A mockup is a promise about what a page will look like. It can't show how a form actually behaves, how slow or fast something feels, or what the page is like on a client's own phone, which is usually the device they'll actually judge it on. Clients sign off on mockups all the time and then are genuinely surprised by the real thing, not because anyone lied, but because a flat image and a working page are different experiences.

Give the client the real page, not a picture of it

If your site is built from a connected code repository, Netlify generates a Deploy Preview automatically for every proposed change: a genuine, fully working version of the site running at its own private URL, before anything merges into the live site. The client isn't looking at a representation of the page; they're using the actual page, clicking actual links, scrolling on their actual phone.

These previews are already excluded from search engine indexing by default, which matters if the content is confidential or simply not ready for the public yet. For most client-approval situations, that's enough privacy on its own, since the link isn't something a search engine will ever surface.

Adding a password for sensitive work

If you want an extra layer, specifically that the link itself can't be opened by anyone it's forwarded to without a password, Netlify supports turning on password protection at the project level, on the credit-based Pro plan or Enterprise. This is worth using for anything genuinely sensitive, a rebrand before announcement, pricing changes, or work for a client who's particular about confidentiality, where "not indexed by Google" alone doesn't feel like enough. If you're on Free or Personal, you don't get this specific option, and the noindex privacy that already comes with every Deploy Preview is what you're working with instead.

Step by step: how to run this with a client

  1. Make the proposed changes in a branch or pull request, not directly on the live site. This is what triggers a Deploy Preview to generate automatically.
  2. Turn on password protection if the content needs that extra layer of privacy. Decide this before sharing the link, not after.
  3. Send the client the actual preview link, with the password separately if you've set one. Ask them specifically to click through pages and try things, not just look at the homepage.
  4. Collect feedback directly on the preview where possible. Netlify's own in-preview comment tool lets a client leave notes and screenshots right on the page, which keeps feedback attached to the exact thing it's about, rather than scattered across emails describing a screenshot from memory.
  5. Only merge and publish once the client has actually approved the real version they used, not an earlier mockup from weeks before.

What this actually costs

Deploy Previews themselves don't use Netlify's credit system and are included on every plan at no extra charge. Password protection, if you want it, is a Pro-plan ($20 a month billed monthly) or Enterprise feature, not something Free or Personal includes. The only other cost that applies is the eventual production deploy once the client approves and the change goes live, the same 15-credit cost as any other deploy.

The alternatives, and when they fit better

A Figma prototype is still useful earlier in a project, for agreeing on layout and flow before any real code exists. It's the wrong tool for final sign-off specifically because it can't show real behavior, which is exactly the gap this whole approach is meant to close.

Password-protected staging on a normal host achieves something similar, usually as one shared staging environment rather than a separate preview generated per change, which works fine for a single ongoing project but doesn't scale as cleanly once several changes are in review at once.

A plan detail worth checking before you promise it

Some in-preview collaboration features may depend on your specific Netlify plan and the access level given to whoever's reviewing. Before you promise a client a specific collaboration feature (commenting directly in the drawer, for instance), confirm it's actually available on your plan and that the client has whatever access level it requires, rather than assuming it just works for anyone with the link.

A worked example: a rebrand sign-off that almost went wrong

Say an agency is rebranding a client's site, new colors, new typography, a redesigned navigation menu, and sends over a polished Figma mockup for approval. The client signs off; it looks great. Once the real page goes live, the client calls, unhappy: the navigation menu that looked clean and simple in the static mockup turns out to be genuinely hard to tap on a phone, since the mockup showed one frozen state and never revealed how the menu actually opens, closes, or behaves with a thumb on a small screen. The client's complaint isn't really about the colors or the typography they approved; it's about something a flat image was never capable of showing them.

Had the same approval happened on a password-protected Deploy Preview instead, the client would have opened the actual menu, on their own phone, before signing off, and either caught the problem then or genuinely approved it with full knowledge of how it behaves. The agency isn't at fault for the mockup looking right; the format itself was incapable of surfacing the one thing that mattered most once the page went live. This is the core argument for previews over mockups: it's not that mockups lie, it's that they can't show the thing clients actually judge a finished site on.

Common mistakes with preview-based approval

  • Sending the preview link without asking the client to actually use it. A client who just glances at the homepage and replies "looks good" hasn't really tested anything differently than they would with a mockup. Explicitly ask them to click through specific pages, try the form, check it on their phone.
  • Forgetting to tell the client the password separately from the link. Sending both together in the same message defeats the point of the extra privacy layer, since anyone who sees the message has both pieces.
  • Letting feedback happen over email instead of on the preview itself. Comments made directly on the page, through Netlify's in-preview tool, stay attached to the exact element they're about. The same feedback given over email, days later, often loses the specific context of what exactly looked wrong.

How I'd approach this

I run every client project this way as a default, not an upgrade: real, working previews for sign-off, never a static mockup standing in for the final approval step. It genuinely cuts down on the "this isn't what I approved" conversation, because what they approved and what goes live are the same actual page. If your current process still runs on mockup sign-off and you're tired of the surprises that causes, this is a quick, low-cost thing to fix. Get in touch if you want it set up properly.

Questions people ask

Is a Deploy Preview the same as the final live site?

Functionally yes, it's running the exact same code the live site would run if the change were approved and merged. It just lives at a separate, private URL until that happens, so clients can test the real thing before it's public.

How do I keep a preview link private from anyone who isn't my client?

Deploy Previews are already excluded from search engine indexing by default. For stronger privacy, specifically against anyone who gets the link, turn on password protection at the project level, which requires the Pro plan or Enterprise, not Free or Personal.

Can my client leave feedback directly on the preview page?

Yes, using Netlify's own in-preview comment tool, which lets someone leave notes and screenshots right on the page they're looking at. This keeps feedback tied to the exact spot it's about, rather than a separate email describing a screenshot.

Why is this better than a Figma mockup for final approval?

A mockup can't show real behavior: whether a form submits, how a page responds on an actual phone, or how something feels to actually use. A real preview removes that gap, since the client is testing the genuine working page, not a static representation of it.

Does this cost extra on top of normal hosting?

Deploy Previews themselves are included at no extra charge on every plan. Password protection specifically requires the Pro plan or Enterprise, not Free or Personal. The only other cost involved is the normal production deploy once a change is approved and goes live.

What if my site isn't built from a code repository?

Deploy Previews only generate for sites connected to a repository with continuous deployment set up. A plain file-drop site has nothing for this system to attach to, so client review would need a different approach, like a separate staging copy of the files.

Why do clients sometimes dislike a real page even after approving the matching mockup?

Because a mockup can't show interactive behavior, a menu's actual tap target on a phone, how a form feels to fill out, how fast or slow something feels. Those are exactly the things that surface once someone uses the real, working preview instead of looking at a static image.

Sources

Ready for the next step?

A 30 minute call. No pitch. If you do not need me, I will tell you.

Ranjit Bhinge You talk to me, Ranjit. I reply within a few hours.

Not sure what you need? Tell me what is going on. I will point you the right way, even if it is not me.

Blur Studio · 30 minute call

Book a 30 minute call

You talk to me, Ranjit. No pitch. If you do not need me, I will tell you.

  • We talk about your business and what is going on.
  • You leave with a clear next step, even if it is not me.
  • I reply to every message within a few hours.
Loading the calendar…