Skip to content

Turn happy customers into proof everywhere.

Collect testimonials with one link, show them on your site with one snippet of code, and make them readable by Google and AI assistants.

Free for your first 15 testimonials. No card.

Example: a HappySaid wall on the website of Juniper Bookkeeping, a fictional business, next to its collection form on a phone.

Collect testimonials, approve them, show them

Three steps, and the second one is yours alone. Nothing goes on your site until you approve it.

  1. Step 1: Collect

    Send one link, or print the QR code for your counter. Customers write a testimonial in under a minute, on their phone, without an account.

  2. Step 2: Approve

    Every testimonial waits in your inbox. Fix a typo, keep the original, highlight the best line, approve 20 at once.

  3. Step 3: Show

    Paste one snippet of code. Wall, carousel, single quote or rating badge, styled to your site.

Import the testimonials you already have

Paste a post from X or LinkedIn, a Product Hunt comment or a G2 review. Upload a CSV, including exports from Senja and Testimonial.to.

Example: a post by Aiko Tanaka pasted into HappySaid becomes a testimonial card with the source kept.

Paste a link

  • X
  • LinkedIn
  • Product Hunt
  • G2

Upload a CSV

  • Any spreadsheet
  • Senja export
  • Testimonial.to export

Moving from another tool? Compare HappySaid with Senja, Testimonial.to, Famewall or Testivo.

Testimonial widgets that look like your site, not ours

  • Wall. Your wall of love: every approved testimonial in a masonry grid. Example with fictional testimonials.
  • Carousel. A row that slides, for tight spaces. Example with fictional testimonials.
  • Single quote. One strong testimonial next to your call to action. Example with fictional testimonials.
  • Rating badge. Your average rating and count in a small badge. Example with fictional testimonials.
  • Shadow DOM, so your CSS can't break it.
  • Under 15 KB and loads after your page.
  • Works on HTML, Webflow, Framer, WordPress, Next.js and Dorik.

Want a single quote as an image for social posts? Make one with the free testimonial card generator.

Testimonials that search engines and AI assistants can actually read

Many testimonial walls are built in the browser, so crawlers that don't run JavaScript see an empty page. HappySaid's proof page is rendered on the server, with review schema in the HTML and a plain-text version for AI assistants.

What a crawler sees

A wall built in the browser

No testimonial text in the HTML

<body>
  <div id="root"></div>
  <script src="/wall.bundle.js"></script>
</body>
A HappySaid proof page

Text, names and schema in the HTML

Juniper Bookkeeping: what clients say

  • “Mira found expenses I'd never claimed. I finally understand my own numbers.”

    Tom Adeyemi, joiner

  • “Quarter-end used to eat a whole weekend. Now it's a 20-minute call.”

    Lucía Ferraro, ceramicist

<script type="application/ld+json">
{ "@type": "AggregateRating",
  "ratingValue": 4.9, "ratingCount": 26 }
</script>

Simplified example.

Check your site's AI readability

We don't promise review stars in Google. We give you valid structured data and a page AI can read.

Need review schema for a page you built yourself? Try the free review schema generator.

Pricing you can predict

  • Unlimited text testimonials on every paid plan.
  • No view limits. Your widgets never go dark because of traffic.
  • If you downgrade, your widgets keep showing what you've approved.
  • Cancel in two clicks, in the billing portal.
  • Export everything, any time, as JSON, CSV and files.

Questions people ask first

Do my customers need an account?

No. They open your link, write, and tick a consent box.

Will it slow down my site?

The widget is under 15 KB, loads after your page and runs in a Shadow DOM.

What is a wall of love?

A section of your site that shows what customers say about you, in their own words. In HappySaid it's the Wall widget, or a hosted proof page you can link to.

Can I bring testimonials I already have?

Yes. Paste a post from X or LinkedIn, a Product Hunt comment or a G2 review, or upload a CSV.

Do you get me stars in Google?

No one can promise that. We add valid review schema for testimonials you collected yourself and keep it visible on the page, which is what Google's rules require.

Can I leave?

Yes. Export everything first, then cancel in two clicks.

More answers in the help centre

Your first wall takes about 10 minutes.

Start free

Free for your first 15 testimonials.