Skip to main content
Social proof is one of the highest-leverage conversion lifts available — studies consistently show sites with visible testimonials convert around 34% higher than those without. This guide covers three ways to add them.

Easiest

Ask the AI assistant

Visual

Drag a prebuilt section

Dynamic

Pull from a database table

Option 1: Ask the AI Assistant

1

Open the AI chat

Click the AI tab in your project.
2

Describe what you want

Add a testimonials section to my homepage with 3 customer quotes, 
each with a name, company, and photo.
Or paste real testimonials you already have.
3

Review and refine

The AI adds the section. Ask for tweaks — carousel vs grid, styling, layout.
4

Deploy

Click Deploy.

Option 2: Use a Pre-Built Section

1

Open the visual editor

Click Edit on the page where you want testimonials.
2

Open the Sections panel

In the left sidebar, click Sections. Scroll to Testimonials / Social Proof.
3

Drag and drop

Drop the section where you want it. Most high-converting spots: above the fold, right before the CTA, on the pricing page.
4

Configure

Click the section to open the inspector. Replace the placeholder quotes with real ones. Upload customer photos.
5

Save and deploy

Click Save, then Deploy.

Option 3: Dynamic from Database

If you have many testimonials or want customers to submit them, store testimonials in a table and render them dynamically.
1

Create the table

In Database > Tables, create testimonials:
CREATE TABLE testimonials (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  customer_name text NOT NULL,
  customer_company text,
  customer_role text,
  customer_photo_url text,
  rating integer CHECK (rating BETWEEN 1 AND 5),
  quote text NOT NULL,
  video_url text,
  featured boolean DEFAULT false,
  status text DEFAULT 'pending',
  created_at timestamptz DEFAULT now()
);
2

Seed with real quotes

Add rows for every testimonial you already have. Set status = 'approved' and featured = true for your best ones.
3

Build the render component

Query approved testimonials:
SELECT * FROM testimonials 
WHERE status = 'approved' 
ORDER BY featured DESC, created_at DESC 
LIMIT 6
Render as a carousel or grid.
4

Deploy

Click Deploy. New testimonials added to the table appear on next page load.

Testimonial Types

Short customer quote + name + photo + company. The most common and versatile format. Works well in grids of 3-6.

Display Patterns

  • Carousel — rotating, saves space, good when you have 5+ and want them all visible
  • Grid — all visible at once, strong “social proof stacking” effect
  • Featured section — hand-pick your best 3-5, give them prime real estate
  • Sprinkled — one testimonial per section throughout the page, quotes reinforcing the claim right above them

Collecting New Testimonials

Pair this page with automation that asks customers for reviews after purchase. See Workflow: Auto-Request Reviews. Flow:
  1. Customer buys → workflow delays 3 days → asks for a review
  2. Customer submits on /reviews/new → writes to testimonials table with status = 'pending'
  3. You review pending testimonials in admin → mark status = 'approved' on the good ones
  4. Approved testimonials render on the site

Import from Google / Trustpilot

If you already have reviews elsewhere, pull them in:
  • Google Business Profile — reviews API returns your recent reviews with star rating
  • Trustpilot — public API, free tier covers low volume
  • Yelp — Fusion API
  • Amazon — Seller Central has review exports
Write a daily workflow that syncs new reviews into your testimonials table.
Include specific numbers or outcomes in quotes (“saved me 10 hours a week”, “2x our conversion rate”). Vague praise like “great product!” converts far worse than concrete, quantified claims. When collecting new testimonials, ask customers for specifics.
Two common display strategies:
  • Featured — you pick the best, they stay put. More work to curate, better quality control.
  • Recent — latest approved reviews show first. Less curation, always fresh, risk of a weaker review leading.
Hybrid: ORDER BY featured DESC, created_at DESC. Featured ones lead, recent ones fill in after.

Verify It Worked

  1. Add 3 test testimonials (or approve real ones)
  2. Visit the live site and confirm they render
  3. Test on mobile — long quotes often break layout there first
  4. Click through any linked case studies to confirm URLs work

Troubleshooting

Check the image URLs. If you uploaded photos, confirm they’re in project assets and the URL is the public CDN path, not a local path. Try opening the image URL directly in a new tab — if it 404s, the upload didn’t land correctly.
Your query isn’t filtering on status. Add the filter:
WHERE status = 'approved'
And verify the render component uses that query.
Add a CSS max-height with overflow hidden and a “Read more” expand toggle. Alternatively, set a character limit in the form that collects testimonials (200-300 chars is plenty).
The Google Business Profile API token expired, or the account lost access. Go to Settings > Integrations > Google Business Profile and reconnect. See Connect GBP.

What’s Next?

Request Reviews

Automate asking for reviews after purchase

Connect Google Business Profile

Sync your Google reviews into your site