Embedding Testimonials
Learn how to embed and display testimonials on your website
BAPTCOM.TS provides multiple ways to embed and display your testimonials on your website or application.
Widget Embed
The easiest way to display testimonials is using our JavaScript widget:
Basic Widget
<div id="nowts-testimonials"></div>
<script>
(function (w, d, s, o, f, js, fjs) {
w["NowtsTesmonials"] = o;
w[o] =
w[o] ||
function () {
(w[o].q = w[o].q || []).push(arguments);
};
((js = d.createElement(s)), (fjs = d.getElementsByTagName(s)[0]));
js.id = o;
js.src = f;
js.async = 1;
fjs.parentNode.insertBefore(js, fjs);
})(
window,
document,
"script",
"nowts",
"https://widget.nowts.com/testimonials.js",
);
nowts("init", "YOUR_WIDGET_ID");
nowts("embed", "#nowts-testimonials");
</script>
Customization Options
nowts("embed", "#nowts-testimonials", {
layout: "grid", // 'grid', 'carousel', 'masonry'
columns: 3, // Number of columns (grid layout)
theme: "light", // 'light', 'dark', 'auto'
showRating: true, // Show star ratings
showCompany: true, // Show company names
maxTestimonials: 12, // Maximum testimonials to display
autoplay: false, // Auto-rotate testimonials (carousel)
interval: 5000, // Rotation interval in ms (carousel)
});
React Component
For React applications, use our official React component:
Installation
npm install @nowts/react-testimonials
Usage
import { Testimonials } from "@nowts/react-testimonials";
function App() {
return (
<div>
<h1>Customer Testimonials</h1>
<Testimonials
widgetId="YOUR_WIDGET_ID"
layout="grid"
columns={3}
theme="light"
showRating={true}
maxTestimonials={12}
/>
</div>
);
}
API Integration
For custom implementations, use our REST API to fetch testimonials:
Fetch Testimonials
const response = await fetch("https://api.nowts.com/v1/testimonials", {
headers: {
Authorization: "Bearer YOUR_API_TOKEN",
},
});
const { testimonials } = await response.json();
Custom Display
testimonials.forEach((testimonial) => {
const element = document.createElement("div");
element.className = "testimonial";
element.innerHTML = `
<blockquote>${testimonial.content}</blockquote>
<cite>
<strong>${testimonial.author.name}</strong>
${testimonial.author.company ? `, ${testimonial.author.company}` : ""}
</cite>
${testimonial.rating ? `<div class="rating">${"★".repeat(testimonial.rating)}</div>` : ""}
`;
document.getElementById("testimonials-container").appendChild(element);
});
Styling Guidelines
CSS Classes
Our widget adds these CSS classes for custom styling:
.nowts-testimonials- Main container.nowts-testimonial- Individual testimonial.nowts-content- Testimonial content.nowts-author- Author information.nowts-rating- Star rating.nowts-company- Company name
Custom CSS Example
.nowts-testimonials {
font-family: "Your Brand Font", sans-serif;
}
.nowts-testimonial {
border: 1px solid #e2e8f0;
border-radius: 8px;
padding: 1.5rem;
background: #ffffff;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.nowts-content {
font-style: italic;
margin-bottom: 1rem;
color: #374151;
}
.nowts-author {
font-weight: 600;
color: #1f2937;
}
.nowts-rating {
color: #fbbf24;
margin-top: 0.5rem;
}
Performance Tips
- Lazy Loading: Use the
lazyoption to load testimonials only when they come into view - Caching: Enable caching to reduce API calls
- Image Optimization: Testimonial avatars are automatically optimized
- CDN: Our widget is served from a global CDN for fast loading