Testimonial carousel

Add a Testimonial Carousel to Any Website

One quote at a time, rotating, in a strip that fits where a full grid will not. It pauses when someone is reading it and stops entirely if they have asked their system to reduce motion. The carousel below is running now.

One flat price. Unlimited views. Your widget never switches off.

A live carousel

Hover it, or tab into it, and it stops. That is the behaviour, not a description of it.

A live widget, rendered by the same code that runs on your site. The quotes are examples.

How it behaves

Most of these are the difference between a carousel people read and one they scroll past.

It stops when you are reading

Hovering pauses it, and so does focusing it with the keyboard. A quote that slides away mid-sentence is worse than no quote, because the visitor now knows they missed something.

It respects reduced motion

If the visitor has asked their operating system to reduce motion, it does not auto-advance at all. The controls still work, so nothing is lost — it just waits for them.

The controls are real buttons

Reachable by keyboard, announced by screen readers, and operable without a mouse. Most carousels get this wrong and it is invisible until somebody cannot use your page.

It only costs what it uses

Carousel behaviour is a separate chunk that downloads only when the widget is a carousel. A page carrying a wall never fetches it.

On a phone

The same widget, not a second one to configure.

The carousel is already the narrow-screen answer — one quote at a time is what a phone has room for. It sizes itself to whatever container you put it in, so there is no mobile breakpoint to set and no separate mobile widget to keep in step with the desktop one.

If you want a grid on desktop and a carousel on mobile, build both and show each with your own CSS. Two widgets on one page is fine; they share the same loader.

Installing it

Change one attribute and it is a carousel.

What you paste into your page
<div data-praisesnap-widget="YOUR_KEY"
     data-praisesnap-type="carousel"
     data-praisesnap-height="220"
     style="min-height:220px"></div>
<script async src="https://praisesnap.com/embed/v1.js"></script>

The only difference from a wall is data-praisesnap-type and a shorter height. Same loader, same key, same installation on every platform.

Questions people ask

What is the difference between a testimonial carousel and a slider?

Nothing meaningful — they are two names for the same thing, and people search for both. Either way it shows one testimonial at a time and moves to the next, rather than displaying them all at once.

When should I use a carousel instead of a wall?

When vertical space is tight. A wall is the stronger argument because a visitor sees many quotes at once, so use the carousel where a grid will not fit — a sidebar, a pricing page, or between two sections that need to stay close together.

Does it rotate automatically?

Yes, and it pauses when someone hovers over it or focuses it with the keyboard, so it never moves a quote out from under a person part-way through reading it.

Is it accessible?

The controls are real buttons, reachable and operable by keyboard, and the rotation stops on focus. If the visitor has asked their system to reduce motion, it does not auto-advance at all — they page through it themselves.

Does the carousel code load on every page?

No. Carousel behaviour is a separate piece that downloads only if the widget you built is actually a carousel. A page with a wall on it never pays for it.

Can I change how fast it moves?

Yes, in the builder, along with which testimonials it includes and whether it adopts your site colours or uses a light or dark preset.

Related

Testimonial widgets

The three widget types, what each is for, and how the one script tag works.

Testimonial wall

A grid of your best praise, embedded on your site or hosted as its own page.

Collecting testimonials

The hosted form you send customers. No account needed on their side.

Try it without an account

The builder needs no sign-up. Choose a widget, style it, copy the snippet, and paste it into your page to see how it sits before you decide anything.