New: identify your users & unlimited tags on ProGet started →
Feedback that actually ships

The website feedback widget for product teams.

Say So is a tiny embeddable widget that turns scattered comments into a calm, sortable inbox — so the right things get built, and nobody opens another support queue.

Free forever for one project · live in 60 seconds

app.yourproduct.com

Inbox

AllIdeasIssues
IdeaMobile2m

Dark mode for the dashboard would be lovely 🌙

IssueBilling2m

Export button 404s on the invoices page.

IdeaRoadmap2m

Slack notifications when new feedback lands.

Live widget

This one’s really live.

Give it a tap — the panel opens in the corner, and it actually sends.

“Finally killed our feedback spreadsheet.”Ship it →“Setup took one coffee.”★★★★★“Our roadmap writes itself now.”say.so“The inbox is so calm.”no support queue“Tags changed everything.”1 script · 0 deps“Finally killed our feedback spreadsheet.”Ship it →“Setup took one coffee.”★★★★★“Our roadmap writes itself now.”say.so“The inbox is so calm.”no support queue“Tags changed everything.”1 script · 0 deps
Everything, nothing extra

Small surface area. Big signal.

No bloated suite to learn. Just the few things you need to hear your users and act on it.

One script, zero fuss

Paste a single <script> tag and the widget mounts in a Shadow DOM — your CSS stays untouched, your bundle stays tiny.

A calm, sortable inbox

Ideas, issues, and notes land in one place. Filter by type, search the text, and resolve with a click. No new tab, no Jira.

Tag the signal

Color-coded tags turn a pile of feedback into a roadmap. Slice by theme and see what people actually keep asking for.

Locked to your origins

Per-project allow-lists and built-in rate limiting keep spam out. Your widget only answers to domains you trust.

Know who said it

Call SaySo.identify() and every submission carries the user's id and email — context without a single extra question.

Email when it matters

Get a ping the moment feedback arrives, and a heads-up before a free project hits its limit. Stay in the loop, not the weeds.

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.

$20 /month

or $100/year — 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 long does install really take?

One line of HTML. Create a project, copy the <script> tag, 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.

What counts against the free limit?

Free gives you one project and 50 lifetime feedback submissions, plus 3 tags. We email you before you hit the wall, and Pro lifts the caps entirely.

Can I control who can submit?

Yes. Each project has an allowed-origins list, so only the domains you name can post. There's also per-IP rate limiting to keep things tidy.

Do you do more than one project?

Pro covers unlimited projects, submissions, and tags. Need white-labeling or an SLA? Enterprise has you covered — just reach out.

Hear your users.
Ship the right thing.

One script away from a feedback loop your whole team will use.