New: identify your users & unlimited tags on ProGet started →
Website feedback tool, one script

Collect website feedback with one script.

Add a feedback button to any page and hear from the people actually using your site — ideas, issues, and notes in one sortable inbox. No forms to build, no tools to wire up.

Works on any site · live in 60 seconds

www.yoursite.com

Inbox

AllIdeasIssues
IdeaHomepage2m

Pricing was hard to find from the top nav.

IssueForms2m

Newsletter signup throws an error.

NotePraise2m

Cleanest site in your space, honestly.

Live widget

This one’s really live.

Give it a tap — this is the exact tool on your site.

“Feedback from real visitors.”★★★★★“One script, done.”say.so“Looks built-in.”any website“The inbox is so calm.”1 script · 0 deps“Feedback from real visitors.”★★★★★“One script, done.”say.so“Looks built-in.”any website“The inbox is so calm.”1 script · 0 deps
Built for any website

One script. Every page.

Drop the snippet once and collect feedback site-wide, or anchor a button to specific pages. It matches your brand and stays out of the way.

One-line install

Paste a single script tag. It renders in a Shadow DOM, so it never collides with your site's styles or slows it down.

A sortable inbox

Ideas, issues, and notes in one place. Filter by type, search the text, tag, and resolve.

Matches your brand

Set an accent color and the whole widget adapts — it looks built-in on any site.

Three steps, that’s it

From copy-paste to clarity.

Need a hand installing? Ask the team
01

Embed

Create a project, copy the snippet, drop it before </body>. You're live in under a minute.

02

Collect

Visitors tap the launcher, pick a type, and say their piece. It's that low-friction — so they actually do.

03

Triage

Read, tag, and resolve from your dashboard. Turn scattered comments into a ranked to-do list.

// drop this before </body>
<script src="https://trysay.so/w.js" data-sayso="PROJECT_ID" defer></script>

Launch it your way

One snippet, three ways to open it. Use whichever fits — or mix them.

Default

Floating button

A tidy launcher sits in the bottom-right corner. Works out of the box — nothing to wire up.

<script src=".../w.js" data-sayso="PROJECT_ID" defer></script>
Anchored

Your own button

Add data-sayso to any link or button and the panel opens right next to it.

<button data-sayso>Feedback</button>
Headless

No floating button

Hide the default launcher and open only from your own triggers.

<script … data-sayso-launcher="false">
Honest pricing

Start free. Upgrade when it clicks.

No seats, no metered surprises. One flat plan when you outgrow free.

Free

For your first project.

$0

  • 1 project
  • 50 lifetime submissions
  • 3 color tags
  • Email notifications
Get started free
Most popular

Pro

For when one project isn’t enough.

$100 /year

$8/mo billed yearly · save 58%

  • Unlimited projects
  • Unlimited submissions
  • Unlimited tags
  • Identify your users
  • Email notifications
Start with Pro

Enterprise

Custom

For teams that need more than the basics.

WhitelabelingService-level agreementsLive chat support
Talk to us
Good questions

Things people ask.

How do I add it?

One line of HTML. Create a project, copy the <script> tag, and paste it before your closing body tag. The widget renders in a Shadow DOM so it never collides with your styles.

Will it slow my site down?

No. w.js is a tiny vanilla script with zero dependencies, served with long cache headers. It loads after your page is interactive and stays out of the way.

Where can I put the button?

Anywhere — a floating launcher site-wide, or anchored to a specific link or button with data-sayso. You choose per page.

What kinds of feedback can people leave?

Ideas, issues, and general notes by default, each with an optional email so you can reply. You tag and triage them all from your dashboard.

Hear from the people
using your site.

One script away from real feedback in a calm inbox.