rapidlaunchcode.app
Enterprise StarterAdvisoryEngineeringProductsWritingAbout
Book a call
rapidlaunchcode.app

Independent technology advisory and engineering. København, Denmark.

Njalsgade 21F, 2. sal, København

CVR 45 44 13 93

Nicklas@rapidlaunchcode.app

WhatsApp +45 31 33 25 99

Work

  • Enterprise Starter
  • Advisory
  • Engineering
  • Products
  • Contact

Resources

  • Writing
  • Guides
  • Free tools
  • About

Elsewhere

  • HourIQ
  • Translately
  • NomadWorld
  • Privacy

© 2026 Rapid Launch Code ApS. All rights reserved.

Built in København with Next.js, Contentful, and zero consultancy bullshit.

Back to writing
2023-12 · 4 min

What agencies don't tell you about their margins

A transparent look at how Danish digital agencies actually price their work, where the markup hides, and the silent cost lines nobody puts in the proposal.

On this page
  • What gets left out of the proposal
  • How the markup actually works
  • Where the real cost hides
  • What a transparent shop actually looks like
  • Questions that expose the margin
Updated 2023-12
TL;DR
  • A typical Danish agency bills 2–2.5× the developer's real cost. That part is fine. The hidden lines are where it gets expensive.
  • "Responsive" usually means three breakpoints, not a fluid layout that survives every viewport.
  • CMS link fields are almost always plain text — your authors will silently break the navigation when slugs change.
  • Tracking, copy, and small UI changes get billed as tickets forever, because the system was never designed to absorb them.
  • A transparent shop tells you these things up front, in the proposal, before you sign.

What gets left out of the proposal

Agencies don't lie to clients. They just leave things out of the proposal that would make the proposal look more expensive. The markup is not the scandal. The scandal is the architecture decisions that guarantee you'll keep paying long after launch, on top of the markup.

How the markup actually works

The math is not a secret. A senior developer in Denmark costs an agency something like 600–750 DKK/hour, fully loaded. They get billed at 1.250–1.500 DKK/hour. That gap pays for the people you don't see on your project: sales, account management, designers between contracts, the partner who reviewed the statement of work, the office, the bench.

That ratio is normal. It is not the problem. The problem is what gets layered on top of it:

  • Discovery hours that produce a deck instead of a working prototype.
  • Contingency baked into every estimate, never returned if unused.
  • Rate cards by role where every meeting has four people in it because four people are billable.
  • "Project management" as a percentage on top of the build, not as a part of it.

None of that is illegal. Most of it is industry standard. All of it is negotiable if you know it's there.

Where the real cost hides

The markup is on the invoice you can see. The expensive part is the architecture decisions you can't. These are the lines that turn a one-time build into a five-year retainer.

"Responsive" doesn't mean fully responsive

When the proposal says "responsive design," what most agencies ship is two or three fixed breakpoints — usually mobile, tablet, desktop — pulled from the design file. Open the site on a 1024px Android tablet, a 13" ultrawide split-screen, or a foldable in cover mode and the layout falls apart. Fully responsive means the layout works at every width, with fluid type, fluid spacing, and components that reflow rather than snap. Ask, in writing, which one is in scope.

CMS link fields are almost always plain text

This is the silent killer. In most CMS implementations, an author who wants to link to another page is given a text input. They type or paste a URL. There is no validation, no autocomplete, and no referential integrity. When marketing renames a campaign and the slug changes, every link to it in the navigation, the homepage, and the email footer breaks at the same time, and nobody notices until traffic does.

Every tracking change is a ticket, forever

If analytics events are hard-coded in components, every new event — every campaign, every A/B test, every funnel change — is a developer ticket. That's revenue for the agency and a permanent line item for you. The fix is a CMS-driven event model.

"Performance optimization" sold as a phase two

A site that ships with a 5MB JavaScript bundle and uncompressed hero images is not a finished site. It is a half-built site that will be sold back to you as a 'performance audit' six months after launch. Performance is part of the build or it is a recurring invoice.
The markup is on the invoice you can see. The expensive part is the architecture you can't.

What a transparent shop actually looks like

You can spot a transparent shop in the proposal stage, before any money has changed hands. The proposal reads differently:

  • Fixed scope or capped time-and-materials, with a written change-order process. Open-ended T&M is an invitation to overrun.
  • Specific examples of what is and is not included. "Responsive design (three breakpoints; widths above 1440px and below 360px not in scope)" beats "responsive design."
  • Named people on the build, with rates per role. Not a single blended rate that hides who is actually doing the work.
  • A handover plan — documentation, runbooks, repo access, CMS author training — that does not require their retainer to use.
  • An honest answer when you ask "what would make this cheaper?" A shop that can't answer is optimizing for revenue, not for you.

Questions that expose the margin

You don't have to be hostile in the sales call. You just have to ask things that are uncomfortable to deflect. The four that move the conversation fastest are:

  1. What is your blended rate, and what is your real cost per role?
  2. When you say "responsive," what viewports are in scope, and what happens at the ones that aren't?
  3. How does an author link from one page to another in the CMS? Walk me through the field, not the concept.
  4. After launch, what kind of changes can my team make without filing a ticket with you?

The answers to those four questions will tell you more about the next two years of your invoice than any portfolio piece will.

What to actually do
  • Treat the markup as fine. Treat the hidden architecture lines as the real negotiation.
  • Get "responsive" defined in writing, with viewports, before signing.
  • Insist on reference-based CMS link fields, not text inputs.
  • Demand a CMS-driven model for tracking and copy so your team can ship without theirs.
  • Ask for a handover plan that makes their retainer optional, not mandatory.

Want this kind of judgment on your project?

I read every email within one working day. Bring a project, a quote, or a system you're stuck on.

Book a 30-min callSee the Enterprise Starter
More writing
  • 2026-05

    The 5 unbilled months hidden in every Contentful enterprise build

    Every Contentful enterprise build I have audited carries the same five hidden months: link references, redirects, i18n, schema-driven forms, and type safety. None of them are on the SOW. All of them are on the timeline.

  • 2024-03

    Why simple architecture always wins

    Complex systems fail in complex ways. The most successful projects I've seen are the ones that resisted the urge to over-engineer.

  • 2024-02

    The microservices trap

    How the industry convinced everyone they needed distributed systems, and why most companies would be better off with a modular monolith.