# The client feedback loop: comments on the page, closed in place · Stacktree

Source: https://stacktr.ee/client-feedback-loop

[Skip to content](#main) PFrom Product Hunt? Your first pages are free, no card. Code `PRODUCTHUNT` takes 50% off your first month of Studio.[Start free &rarr;](https://app.stacktr.ee/?join=1&from=producthunt)

&times;   A Stacktree customer sent you. Your first month is 50% off on any plan, taken off at checkout. [Start free &rarr;](https://app.stacktr.ee/?join=1&from=referral)

 &times;      [stacktr.ee](/)  [Examples](/#proof) [How it works](/#how) [Pricing](/pricing) [Security](/security) [Log in](https://app.stacktr.ee) [Publish one](https://app.stacktr.ee/?join=1)     By [Steve Smith](/about) · Founder, Stacktree Last updated September 23, 2026          use case

#  Client feedback, left on the page, closed on the page.

   No email chain, no screenshots, no login.  Your client selects the words they mean, or clicks the image, chart or moment in a video, and leaves a comment right there. You hear about it a few minutes later, fix it on the same link, and resolve it. The client sees where each comment stands.

  [ Start free ](https://app.stacktr.ee/?join=1&from=seo_client_feedback_loop)      No card · 3 pages free · about a minute

##  How do you collect client feedback on a page you sent?

Switch on comments for the page and send the link as usual. The client selects words and presses Comment, or presses Comment and clicks anything on the page, with no account. Only you see the comments. You get one email a few minutes after they finish, every comment is listed on the page's screen in your dashboard, and once the fix is on the same link you resolve each one, which the client sees next to their comment.

## On this page

  -   01  [ The loop, end to end ](#the-loop)
-   02  [ What a comment is pinned to ](#anchored)
-   03  [ Why this beats email, chat and PDF markups ](#vs-screenshots)
-   04  [ One bar on the page ](#reactions)
-   05  [ Guardrails on a comment box with no login ](#guardrails)
-   06  [ Honest scope ](#scope)
-   07  [ Turning it on ](#turn-it-on)

## The loop, end to end

 Most review rounds lose time in the gap between "the client has thoughts" and "you know exactly what to change". This closes it.

## 1. The client leaves a comment

 They open the link. The same private link you already sent, on a token link, a named address or your [own domain](/custom-domains). No account, nothing to install.

 They point at what they mean. Select a few words and a Comment button appears beside them. Or press Comment and click anything: an image, a chart, a section, a video. A video pauses on the frame they are talking about and the comment keeps the timestamp. There is a "Whole page" option too.

 They type, and post. The box says who will read it: "Only the page owner sees this." They can delete an open comment of their own if they change their mind.

          &pound;48,200   Text &middot; &ldquo;&pound;48,200&rdquo; &ldquo;This total is missing the May invoice&rdquo; Only the page owner sees this

## 2. It reaches you

 One email, a few minutes later. Clients tend to comment in a burst. You get one email about five minutes after the last comment, listing everything they left, not one email per comment.

 Everything on the page's screen. In the dashboard, "What came back" lists every open comment with what it is on: on the text "&pound;48,200", on the image "hero.jpg", on the video at 0:42. Resolve it or remove it from there.

 Or your agent picks it up. A connected agent reads the same comments with a precise target for each, so it knows which words, which image file and where on it, or which second of the video.

     What came back 2 open     &ldquo;This total is missing the May invoice&rdquo; On the text &ldquo;&pound;48,200&rdquo; &middot; 6 min ago  Resolve    &ldquo;Can we lose the stock photo here?&rdquo; On the video at 0:42 &middot; 5 min ago  Resolve

## 3. Fixed on the same link

 Republish in place. You, or your agent, fix the page and republish it to the same link. The link in the client's inbox does not change, so there is no "v2-final" to send.

 Resolve it. Press Resolve on the page's screen and add a line saying what changed, or let your agent do it. The client sees that line next to their comment.

 The client sees where things stand. Each of their comments reads open, resolved with your note, or "no longer on the page" when the words they commented on have been rewritten. Re-review is a reload.

   Your comments &middot; what the client sees  Resolved &ldquo;This total is missing the May invoice&rdquo; Note: total now includes the May invoice   Open &middot; waiting for the owner &ldquo;Can we lose the stock photo here?&rdquo;  Same link &middot; only this client sees their own comments

## What a comment is pinned to

 "The number looks wrong" is not much to go on. Which number, in which part of the page, in which version? So every comment carries what it is about, in terms you can find again:

  - Words: the exact text they selected, plus a little either side, so the same passage can be found again after the page is republished.
 - An image: the file, as named in the page, and the point on it they clicked.
 - A video or audio clip: the timestamp. The video pauses on that frame when they start typing.
 - A chart, embed, heading or section: the element and its label.
 - The whole page: for comments that are about the page rather than one part of it.
  That is what makes the loop quick to close. "On the text &pound;48,200: this total is missing the May invoice" is an instruction you, or an agent, can act on straight away. A screenshot with a red circle in a chat thread is a puzzle.

## Why this beats email, chat and PDF markups

 The usual review channels all separate the feedback from the work:

  - Screenshots in chat freeze a moment and lose the context. You work out which element and which revision they meant, and the thread lives somewhere nobody will find it next month.
 - PDF markups flatten a live page into paper. A comment about a video, a chart that responds to a filter, or a section on mobile has nowhere to land.
 - Email scatters the round: comments arrive as prose from three people, fixes go out as attachments, and every round re-sends the whole deliverable.
  Comments on the page fix all three. They point at the real thing in the real deliverable, they collect in one place for you, and because the fix goes to the same link, the corrected version is already where the client is looking. We wrote more about why feedback scatters, and how to tell comments from a sign-off, in [feedback is not approval](/blog/feedback-is-not-approval).

 Two honest concessions. If the conversation is about direction rather than details ("should this be a dashboard at all?"), a call still beats any comment box. And if the deliverable is a design file and your client already lives in Figma, Figma's comments are the right tool. This loop is for when the deliverable is a page.

## One bar on the page

 The page carries one small, calm bar in the corner. If you have switched on reactions as well, the emoji (🔥 ❤️ 👍 🎉 👀) and Comment sit together in that bar, so the reader sees one control rather than two. Reactions are for "how did this land"; comments are for "what should change". Both show on the page's screen next to opens and read depth; see [how your pages get read](/page-engagement).

## Guardrails on a comment box with no login

  - Switched on per page. Only pages where comments are on accept them.
 - Owner-only. Comments go to you. Each reader sees their own, never anyone else's.
 - Rate limits. 40 comments per connection per day, and 2,000 characters per comment.
 - Behind the page's gate. A passcoded or email-gated page keeps its comments behind the same gate.
 - You stay in control. Resolve or remove any comment. Resolving is yours, or your agent's when it is signed in as you.
 - Expiry is honoured. A page past its expiry stops taking comments along with everything else.

## Honest scope

  - It works on pages you host on Stacktree with comments switched on. It is not a browser extension for commenting on any website.
 - It is a channel from reader to maker, not a discussion between reviewers. If three stakeholders need to argue with each other in the margins, a shared document does that better.
 - A comment is not a sign-off. It tells you what to change; approval of a version is a separate step, and worth recording as one.
 - Comments cannot go on pages encrypted end to end, because the server cannot read those pages to put the bar on them.
 - The older developer mark-up toolbar is still available for teams that use it, but page comments are now the default.

## Turning it on

 When you publish from the dashboard, the switch is "Let them comment on the page". It is on already if you file the page under a [client](/client-spaces), since a page filed under a client is usually a deliverable. On a page you have already sent, flip the same switch on its screen. Turn it off once the review is done and the page goes back to being a clean deliverable. A connected agent can flip it too.

 If you work with an agent, connect it once (chat apps with [one-click sign-in](/claude-ai-connector), coding agents such as Codex and Cursor with `npx stacktree-install`) and it can read the comments, make the change, republish to the same link and resolve each comment with a note. The full tool list is on the [MCP page](/mcp-publish-html).

FAQ

## Frequent questions

     How do I collect client feedback on an HTML page? +  Put the comments on the page itself instead of collecting them in email and chat. On Stacktree you switch on "Let them comment on the page" for that page (it is on by default for a page filed under a client) and send the usual link. The client selects words, or presses Comment and clicks an image, a chart, a video or a section, and types. Every comment lands on the page's screen in your dashboard, pinned to what it is about.   Does my client need an account to comment? +  No. The client opens the link you sent, the same one they would read anyway, and comments from there. Nothing to install, nothing to sign up for. If the page has a passcode or an email gate, the comments sit behind the same gate as the page.   Can a client comment on a video or an image? +  Yes. Pressing Comment and clicking a video pauses it on the frame being discussed and saves the timestamp, so the comment reads "at 0:42" rather than "somewhere in the middle". On an image it keeps the file and the point they clicked. Charts, embeds, headings and whole sections work the same way, and there is a "Whole page" option for comments about the page in general.   Who can see the comments? +  Only you, the page owner. The comment box says so: "Only the page owner sees this." Each client sees their own comments and their status, and nobody else's. It is a channel from reader to maker, not a public discussion under the page.   How do I know when a client has commented? +  You get one email a few minutes after they stop. A client who leaves four comments in three minutes produces one email listing all four, not four emails. The same comments are listed on the page's screen in the dashboard under "What came back", each with what it is on.   What does the client see after I fix something? +  Their comment shows as resolved, with the line you left saying what changed, for example "total now includes the May invoice". Because the fix is republished to the same link, they are looking at the corrected page when they read the note. If the words they commented on have been rewritten, the comment shows as no longer on the page, so they know it changed rather than wondering if it was missed.   Can an AI agent act on the comments? +  Yes. A connected agent reads each comment with a precise target: the exact words, the image file and where on it, or the video and the timestamp. It can fetch the page, make the change and republish it to the same link. The republish reports which open comments no longer match the new version, so the agent knows which ones its change answered, and it resolves each with a note saying what changed. ChatGPT, Codex, Cursor or any agent connected over MCP can run it.   Is commenting free? +  Yes, on every plan. It is switched on per page, so a finished deliverable can stay clean and a page under review can take comments. Turn it off once the review is done.
Keep reading

## Related guides

   -  [ Feedback is not approval Why client feedback scatters, and how to close each round properly. ](/blog/feedback-is-not-approval)
-  [ Clients view without an account The link is the way in: no sign-up, optional passcode or email gate. ](/client-view-without-account)
-  [ Page video A one-minute silent video of the page, in its own design, that goes in your email as a picture and opens straight into the video. ](/page-video)
-  [ Client spaces One address per client, with every page you have sent them. ](/client-spaces)
-  [ See how your pages get read Opens, reactions and read depth on what you share. ](/page-engagement)
-  [ MCP server for publishing HTML All forty-one tools, including reading and resolving comments. ](/mcp-publish-html)

References

## Sources and further reading

   -  [ W3C Web Annotation Data Model: TextQuoteSelector ↗ The same shape a comment on words uses: the exact quote plus the text either side, so it can be found again after an edit. ](https://www.w3.org/TR/annotation-model/#text-quote-selector)
-  [ Model Context Protocol, spec ↗ The protocol a connected agent uses to read, act on and resolve comments. ](https://modelcontextprotocol.io/specification/2025-11-25)

##  Get the next round of feedback in one place.

 Publish the page, switch on comments, send one link. The client points at what they mean; you fix it on the same link. Free to start, no card.

 [ Sign up free → ](https://app.stacktr.ee/?join=1&from=cta_client_feedback_loop)   install npx stacktree-install
Copy
         stacktr.ee  [Page video](/page-video) [Ask this page](/ask-this-page) [Client feedback](/client-feedback-loop) [Client spaces](/client-spaces) [Templates](/templates) [Use cases](/use-cases) [Integrations](/agents) [Alternatives](/alternatives) [About](/about) [Blog](/blog) [Changelog](/changelog) [Pricing](/pricing) [Security](/security) [FAQ](/faq) [Made with Stacktree](/made-with)  Building with AI agents? See the [developer docs &rarr;](/developers)     [Send your first link free](https://app.stacktr.ee/?join=1&from=sticky_client_feedback_loop) No card · 3 pages free

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