Skip to content
How to Brief a Web Agency Properly
Strategy7 min read

How to Brief a Web Agency Properly

Most web projects fail because of miscommunication, not bad code. Here is what to prepare before your first call with a web agency or development team.

Enes Öz

The Email That Started Everything

A few months ago we got a brief from a potential client. The entire message was: "We need a website. Modern design. How much?"

We get messages like this often. We can't give a meaningful answer, because "a website" could mean anything from a one-page brochure to a full-blown e-commerce platform with multi-currency support.

That one email led to three weeks of back-and-forth before we even had a clear picture of what they needed. Three weeks.

So I decided to write down what we actually need from clients to give them a fast, accurate estimate and to make the project run more smoothly from day one.

Step 1: Know Your "Why" Before Your "What"

Before you think about features, ask yourself: Why does this project exist?

"We need a new website" is not a reason. These are reasons:

  • "Our current site loads in 8 seconds and we're losing mobile customers"
  • "We're launching a new product line and our existing site can't handle it"
  • "Competitors in our space all look better than us; we're losing credibility"
  • "We're spending 4 hours a week on manual processes that should be automated"

When you share the why, your agency can suggest solutions you haven't considered. Maybe a landing page and a better checkout flow would do more than a new website. Or maybe you also need an API integration with your inventory system.

The why changes everything. For more on why a professional website matters, read our guide: Why Every Business Needs a Website.

Step 2: Define Your Audience (Be Specific)

"Everyone" is not an audience. The more specific you can be, the better decisions we can make about design, content, and technical architecture.

Good examples:

  • "B2B procurement managers in the DACH region, ages 35-55, who currently compare suppliers via phone calls"
  • "Young parents in urban areas looking for organic baby products, primarily on mobile"
  • "Existing customers who need a self-service portal to manage their subscriptions"

This information directly affects technical decisions. A B2B audience in Germany likely needs GDPR-compliant forms, German-language support, and a design that prioritizes trust. A mobile-first consumer audience needs fast load times, large touch targets, and probably an Instagram-friendly aesthetic.

Step 3: Bring Examples (But Explain Why)

"I want it to look like Apple's website": we hear this a lot. And it tells us almost nothing.

What would help:

  • "I like this competitor's site because their pricing page is very clear" → you value transparency
  • "This brand's colour palette feels right for our industry" → you have a visual direction
  • "I hate this website because I can never find the contact form" → you care about navigation

Screenshots with annotations are worth more than paragraphs of description. Circle what you like. X out what you don't. Tell us why.

Step 4: Be Honest About Budget

This is the part nobody likes. Knowing your budget doesn't mean we'll charge more. It means we can tell you what's possible.

There's a big difference between:

  • €5,000 → Clean, professional one-pager with a contact form
  • €15,000 → Multi-page site with CMS, multilingual support, and SEO optimisation
  • €40,000+ → Custom web application with user accounts, dashboards, and integrations

If we don't know your range, we might spend two weeks preparing a proposal for a €30,000 solution when your budget is €8,000. That's time wasted for both of us.

A range is fine. "Between €10,000 and €20,000" gives us everything we need. Check our pricing page for an overview of our packages.

Step 5: Timeline (Real Talk)

"As soon as possible" is not a timeline. But neither is an arbitrary date.

What actually helps:

  • "We're launching the product on September 15, so the site needs to be live by September 1"
  • "There's no hard deadline, but we'd like to have something by Q4"
  • "We have a trade show on March 20 and need at least the landing page by then"

Business context helps us prioritize. If your deadline is tight, maybe we launch with 80% of the features and add the rest post-launch. If you have time, we can invest more in animation, custom illustrations, or SEO groundwork.

Step 6: Content Readiness

This one surprises most clients: content is almost always the bottleneck.

The most common cause of project delays is waiting for copy, images, and product data. If you come to the first meeting with:

  • Your company description (who you are, what you do)
  • A rough outline of the pages you need
  • High-quality photos or a photography plan
  • Product data (if e-commerce)

...you'll shave weeks off the timeline.

Don't have content yet? That's fine. Tell us upfront. We can work with a copywriter in parallel, but we need to plan for it.

The Ideal First Meeting

When a client comes prepared, the first meeting goes from "what do you need?" to "here's how we'd build it." In 60 minutes, we can:

  1. Confirm scope and priorities
  2. Identify technical requirements
  3. Give a ballpark estimate
  4. Propose a timeline
  5. Agree on next steps

No back-and-forth. No "we'll get back to you in a few weeks." Just clarity.

It's Not About Being Perfect

Plain answers are enough. You don't need a 40-page requirements document or any knowledge of the technical stack and responsive breakpoints.

You need to know what problem you're solving, who you're solving it for, and roughly how much you're willing to invest. We'll handle the rest.

That's what you're hiring us for. Get in touch; we'd love to hear about your project. Take a look at our past work to see what we've built for businesses like yours.

Want this applied to your site?

We use these methods on client projects. Send us your site and we will tell you where to start.

Book a free intro call
We reply within 24–48 hours
Based in Germany, GDPR-ready
Accessible and fast by default