# Do small agencies actually use a client portal? What agency owners say · Stacktree

Source: https://stacktr.ee/blog/do-small-agencies-use-client-portals

[Skip to content](#main) [Stacktree](/)[Developers](/developers)[Agents](/agents)[Docs](/docs)[Use cases](/use-cases)[Pricing](/pricing)[Blog](/blog)[Dashboard](https://app.stacktr.ee)[Sign in →](https://app.stacktr.ee)      By [ Steve Smith ](/about) · Founder, Stacktree  ·  Last updated September 13, 2026          blog · 13 September 2026

#  Do small agencies actually use a client portal?

   An agency owner asked the question in the open this week: do you actually use a portal, or is it email, Drive, Slack and WhatsApp? The replies from people who run small agencies and freelance practices were consistent, and they were not the answer the portal category wants. Here is what they said, why portals die, and the lighter pattern that gives clients what they were after.

  [ Get started free ](https://app.stacktr.ee/?join=1&from=seo_blog_do_small_agencies_use_client_portals)   install npx stacktree-install
Copy
     No card · 3 pages free · about a minute

##  Do small agencies use client portals?

Mostly not. When agency owners compared notes in September 2026, the one-to-one operators used email, Google Drive, Slack and WhatsApp and said no client had ever asked for a portal. The portals that survive are read-only views of work the team already tracks. A private link per deliverable gives a client that view with nothing to log into.

## On this page

  -   01  [ What the thread said ](#thread)
-   02  [ Why portals die ](#die)
-   03  [ When a portal starts paying ](#paying)
-   04  [ What clients were asking for ](#asking)
-   05  [ The link-per-deliverable pattern ](#pattern)
-   06  [ What to leave in Drive and email ](#leave)

## What the thread said

 The question, posted to a community of marketing agency owners on 10 September: do you actually use a client portal, or do you stick to email, Drive, Slack and WhatsApp, and if you use one, what for? The poster had noticed the split themselves: some people swear by portals, others think they are "another thing clients have to log into."

 The replies sorted into three camps. One camp likes the idea of Basecamp or Notion but only for clients with larger teams; for one-to-one work it felt like too much effort. A second camp does not use one at all, has never been asked to, and runs retainers on email with some Slack and WhatsApp. A third camp had the most useful answer, and it was about maintenance rather than features: the portals that die are the ones somebody has to update by hand.

 Two things stood out about the thread. Nobody defended the portal as a product. And nobody mentioned the option that sits between "a portal" and "an email attachment", which is the one we build, so this post fills that gap rather than arguing with anyone.

## Why portals die

 The mechanism described in the thread is worth spelling out because it is the whole story. Work gets tracked where the team already works: a board, a spreadsheet, a chat. The portal asks someone to retype the status into a second place. That becomes one more thing to do on a Friday. Then it stops getting done, the client opens the portal and sees stale information, the client stops opening it, and everyone concludes clients do not want portals.

 The conclusion is wrong; the design was. As the same reply put it, the ones that stick are a read-only view of whatever the team already works in. The team updates the board as normal and the client sees it. The only real decision is which fields the client gets to see.

 We wrote about the same failure from the other side in [clients never log into your portal](/blog/clients-never-log-into-your-portal): the recurring complaint in the category is not a missing feature, it is that the client never went in. A login is a cost the client pays every time, and a hand-updated portal gives them nothing for it.

## When a portal starts paying

 The thread was also clear about the case where a portal is right. It starts paying when the same "where are we on this" question arrives every week from four or five clients on four different channels. At that point a single read-only place to look saves real time on both sides. Below that threshold, and for one-to-one relationships in particular, nobody asks, and building one is effort spent on a problem the client does not have.

 There is a version of that need that is not really a portal at all: a client with several deliverables in flight who wants one address to find them. That is a folder with a link, not a login, and it is covered below.

## What clients were asking for

 Strip the category language away and the thread describes two client needs. Where is the work, and can I see it. Both are satisfied by a page the client can open, kept current by the people doing the work, without anyone typing a second status anywhere.

 Our own data says the same thing from the delivery side. In our last [snapshot of pages on Stacktree](/blog/what-ai-agents-publish), more than half had a passcode added on top of the private link, which is what a report, proposal or audit looks like when it is going to one client rather than to the internet. Those pages are the deliverables a portal was supposed to hold. Their owners skipped the portal and sent the page.

## The link-per-deliverable pattern

 Each deliverable becomes a private page with its own unguessable link. The client opens it in a browser, on their phone, from the email you sent, with no account. If the content warrants a gate, you add a passcode they type, or an email-domain gate so anyone at the client's company can open it and nobody else can. When the work moves on, you update the page in place and the link they bookmarked shows the new version. You see when it was opened, and on paid plans how far it was read, which is the status question answered without a portal.

 When one client accumulates several pages, a [client space](/client-spaces) gives them one address, on your domain if you want, that lists everything you have sent them. That is the read-only view the thread asked for, produced as a by-product of sending the work rather than as a second job. The full pattern, with costs, is on the [client portal alternative](/client-portal-alternative) page.

## What to leave in Drive and email

 The thread's best answer ended with a boundary worth keeping: leave files, invoices and chat out of it, because Drive and email already do those. A deliverable page is not a file system and should not try to be. It is the thing you would have sent as an attachment, made into something the client can open, that you can update, and that tells you it was read. Everything else stays where it already works.

     Fix it now

You've read why the public link is a problem. Paste the artifact here and get a
        private one, no account, and a passcode if you want it.

Paste HTMLDrop a fileno account · 24 h linkHTML to publishAdd a passwordPublish private link   The portal they will actually open

 Send each deliverable as a private page. No login, a passcode when it needs one, updated in place, and you know when it was read. Three pages free, no card.

  [ Send the next deliverable as a link →
](https://app.stacktr.ee/?from=blog_cta_do_small_agencies_use_client_portals&join=1) Free to try: 3 pages, each live for 7 days. Own domain from $19/mo.
FAQ

## Frequent questions

     Do freelancers need a client portal? +  Usually not. In a September 2026 thread of agency owners and freelancers, the one-to-one operators said no client had ever asked for one, and that email, Google Drive, Slack and WhatsApp covered the work. A portal starts to earn its keep when several clients ask "where are we on this" every week across different channels, not before.   Why do clients not use client portals? +  Because most portals have to be updated by hand. The status inside gets typed in after the work is already tracked somewhere else, it becomes a Friday chore, it stops being updated, and the client stops opening it. The ones that stick are a read-only view of whatever the team already works in, so nothing is maintained twice.   What do agencies use instead of a client portal? +  Email for the conversation, a shared drive for files, Slack or WhatsApp for quick questions, and a link for each deliverable. The link is the part most tools miss: a private page the client opens without an account, which the agency updates in place and which tells the agency when it was read.   Is a client portal worth it for a small agency? +  Worth it when it removes a recurring question, not when it adds a login. If four or five clients ask for status every week on four channels, a read-only view pays for itself. If the relationship is one-to-one and the work arrives as deliverables, a private link per deliverable does the same job with nothing for the client to adopt.   What should a client portal include? +  Less than the sales page says. The thread's working answer was: the status of the work, read-only, pulled from where the team already tracks it. Files, invoices and chat were explicitly left out, because Drive and email already do those well and a portal that tries to replace them is the one nobody updates.   Can clients see deliverables without logging in? +  Yes, if the deliverable is a page on a private link rather than a document behind a portal login. On Stacktree each report, proposal or audit gets an unguessable URL the client just opens, with an optional passcode or company email gate, and a client space collects every page for one client at one address, no account required to read.
Keep reading

## Related guides

   -  [ Client portal alternative for a small agency Gated links on your own domain, collected at one address per client. ](/client-portal-alternative)
-  [ Clients never log into your portal The login is the reason, and the category's own fix proves it. ](/blog/clients-never-log-into-your-portal)
-  [ Client spaces One address per client that lists everything you have sent them. ](/client-spaces)
-  [ Clients view without an account Why the link should be the credential when the reader is a client. ](/client-view-without-account)
-  [ Monthly client reports without the deck The report as a page that updates, not a PPT rebuilt every month. ](/blog/monthly-client-reports-without-the-deck)

References

## Sources and further reading

   -  [ Do you actually use a client portal? (r/marketingagency, 10 September 2026) ↗ The thread this post is built on: the question, the three camps, and the read-only-view answer. ](https://www.reddit.com/r/marketingagency/comments/1wcewx4/do_you_actually_use_a_client_portal/)
-  [ Built a simple client portal for freelancers (r/SideProject, 1 September 2026) ↗ A freelancer who built a lightweight portal to stop drowning in email chains, the other side of the same problem. ](https://www.reddit.com/r/SideProject/comments/1w3x0c8/built_a_simple_client_portal_for_freelancers_so_i/)

##  Nothing for the client to log into

 A private page per deliverable, a passcode when it needs one, one address per client, and a read on who opened what.

 [
Sign up free →
](https://app.stacktr.ee/?join=1&from=cta_blog_do_small_agencies_use_client_portals)   install npx stacktree-install
Copy
       Private hosting for the HTML your agents make.

[](https://betalist.com/startups/stacktree?utm_campaign=badge-stacktree&utm_medium=badge&utm_source=badge-featured)[Featured on](https://devhunt.org/tool/stacktree)[](https://buildlist.io)[Get started free](https://app.stacktr.ee/?join=1)

## Product

- [Example deliverables](/examples)
- [Custom domains](/custom-domains)
- [Client feedback](/client-feedback-loop)
- [One-time links](/one-time-view-links)
- [See how pages get read](/page-engagement)
- [Made with Stacktree](/made-with)
- [Security](/security)
- [Watch the demo](/demo)

## Agents

- [All integrations](/agents)
- [Claude Code](/claude-code)
- [OpenAI Codex](/codex)
- [Cursor](/cursor)
- [Claude.ai connector](/claude-ai-connector)
- [MCP server](/mcp-publish-html)
- [Deploy from Claude Code](/deploy-html-from-claude-code)
- [Skills](/skills)
- [Slack app](/slack)
- [n8n node](/n8n)
- [Agent payments (x402)](/x402)

## Alternatives

- [All comparisons](/alternatives)
- [Head-to-head comparisons](/compare)
- [Tiiny Host](/tiiny-host-alternative)
- [GitHub Pages (private)](/github-pages-private-alternative)
- [Vercel](/vercel-alternative-for-agents)
- [ngrok](/ngrok-alternative-for-html)
- [Display.dev](/display-dev-alternative)
- [Static.app](/static-app-alternative)
- [OpenAI Codex Sites](/openai-codex-sites-alternative)
- [here.now](/here-now-alternative)
- [Shippage](/shippage-ai-alternative)
- [Best private hosting](/best-private-html-hosting)

## Use cases

- [All use cases](/use-cases)
- [Share with clients](/share-with-clients)
- [Send a file to a client](/share-html-file-with-client)
- [Share Claude artifacts](/share-claude-artifacts)
- [Share Jupyter notebooks](/share-jupyter-notebook-html)
- [Host Storybook privately](/host-storybook-privately)
- [Architecture diagrams](/share-architecture-diagrams)
- [AI-generated reports](/host-ai-reports)
- [Internal HTML tools](/internal-tool-hosting)
- [Private HTML hosting](/private-html-hosting)
- [Vibe-coded page hosting](/vibe-coding-hosting)
- [Leave a website builder](/website-builder-migration)

## Learn

- [Blog](/blog)
- [Glossary](/glossary)
- [FAQ](/faq)
- [Agent-loop hosting](/agent-loop-hosting)
- [Why agents need a publish primitive](/blog/why-agents-need-a-publish-primitive)
- [MCP servers explained](/blog/mcp-servers-explained-for-developers)
- [What changed in the 2026-07 MCP spec](/blog/mcp-2026-spec-changes)
- [Sites in Codex explained](/blog/sites-in-codex-explained)
- [Private-by-default hosting](/blog/private-by-default-html-hosting)
- [An agent paid us $1 (x402)](/blog/agent-paid-to-provision-itself)
- [When a loop hits a paywall](/blog/loop-engineering-paywall)
- [Pricing](/pricing)
- [Self-host (new)](/self-host)
- [Changelog](/changelog)
- [Docs](https://stacktr.ee/docs)
- [About](/about)
© 2026 Stacktree · stacktr.ee

[Privacy](/privacy)[Terms](/terms)[Security](/security)[Dashboard](https://app.stacktr.ee)[npm](https://www.npmjs.com/package/stacktree-mcp)[Sitemap](/sitemap.xml)[llms.txt](/llms.txt)[API spec](/openapi.json)

---
Full markdown summary of the Stacktree marketing surface: https://stacktr.ee/llms-full.txt
