Widget Documentation
Embed TestiPro testimonials on any website with our lightweight JavaScript widget.
Quick Start
Add this code snippet to any page where you want testimonials to appear:
<div id="testipro-widget" data-slug="your-slug" data-style="carousel"></div> <script src="https://your-domain.com/embed.js" async></script>
Replace your-slug with your workspace slug found in the dashboard.
Widget Styles (13 layouts)
One script tag. Pick the layout that fits each page.
carouselCarousel
Swipeable single review, auto-advance.
Best for: Homepage hero, landing pages
gridGrid
Multi-column review cards.
Best for: Features or pricing section
listList
Vertical stack of full reviews.
Best for: Dedicated proof page block
badgeTrustScore badge
Compact rating pill with count.
Best for: Header, footer, or sidebar
microMicro
Tiny stars + score inline.
Best for: Inline next to a CTA button
stripStar strip
Horizontal rating bar.
Best for: Below your headline or nav
quoteFeatured quote
One highlighted testimonial.
Best for: Case study or about page highlight
miniMini card
Compact avatar + quote.
Best for: Blog posts and email landers
marqueeMarquee
Scrolling quote ticker.
Best for: Scrolling ticker under navigation
popupPopup
Floating button opens modal.
Best for: Corner button on long pages
sidebarSide tab
Fixed edge tab with panel.
Best for: Fixed tab on scroll-heavy pages
hellobarHello bar
Top banner with score (Trustpilot-style).
Best for: Site-wide top announcement
testiboxTestiBox
Framed grid with header score.
Best for: Embedded reviews block on any page
Configuration Options
Configure the widget using data attributes on the container element:
| Attribute | Required | Description |
|---|---|---|
data-slug | Yes | Your workspace slug |
data-style | Yes | carousel, grid, badge, popup, marquee, and 8 more |
data-limit | No | Max testimonials to show (default: 10) |
data-theme | No | light or dark (default: light) |
data-eager | No | Set to true to load immediately (popup, hellobar, sidebar). Default lazy-loads near viewport. |
Example: Grid Widget
<div id="testipro-widget" data-slug="testipro" data-style="grid" data-limit="6" data-theme="light" ></div> <script src="https://your-domain.com/embed.js" async></script>
Performance
The embed script is lightweight (~5KB gzipped) and loads asynchronously. It fetches testimonials from our API and renders them client-side. No jQuery or other dependencies required.
Troubleshooting
- Ensure your workspace slug is correct
- Only approved testimonials appear in widgets
- Check browser console for CORS or network errors
- The widget container must exist before the script loads