Easiest
Ask the AI assistant
Visual
Drag a prebuilt section
Dynamic
Pull from a database table
Option 1: Ask the AI Assistant
Option 2: Use a Pre-Built Section
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.
Configure
Click the section to open the inspector. Replace the placeholder quotes with real ones. Upload customer photos.
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.Seed with real quotes
Add rows for every testimonial you already have. Set
status = 'approved' and featured = true for your best ones.Testimonial Types
- Quote cards
- Star ratings
- Video testimonials
- Case studies
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:- Customer buys → workflow delays 3 days → asks for a review
- Customer submits on
/reviews/new→ writes totestimonialstable withstatus = 'pending' - You review pending testimonials in admin → mark
status = 'approved'on the good ones - 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
testimonials table.
Featured vs Recent
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.
ORDER BY featured DESC, created_at DESC. Featured ones lead, recent ones fill in after.
Verify It Worked
- Add 3 test testimonials (or approve real ones)
- Visit the live site and confirm they render
- Test on mobile — long quotes often break layout there first
- Click through any linked case studies to confirm URLs work
Troubleshooting
Photos aren't loading
Photos aren't loading
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.
Carousel isn't auto-advancing
Carousel isn't auto-advancing
Open the section’s settings in the visual editor. There’s usually an “auto-advance” toggle and a delay setting (default 5s). If it’s enabled but still not moving, there may be a JS error — check browser console.
Draft or unapproved reviews showing live
Draft or unapproved reviews showing live
Your query isn’t filtering on status. Add the filter:And verify the render component uses that query.
Long quotes break the layout
Long quotes break the layout
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).Google Review sync stopped working
Google Review sync stopped working
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