How to Embed Testimonials on Squarespace (3 Methods That Work)
Squarespace has a Quote block. It renders a large italic quote with an attribution line. It looks beautiful in isolation and is completely useless for building a testimonial section.
The Quote block is designed for editorial pull-quotes — a single highlight from an article. It has no support for photos, no carousel behavior, no way to display multiple testimonials in a grid or slider. If you try to stack five Quote blocks vertically, you get a wall of text that looks like a poetry anthology, not social proof.
This is the frustration that every Squarespace user hits when they try to add testimonials. The platform is polished and opinionated about design, but it has no native testimonial component. You have to work around it.
Here are three methods that actually work.
Method 1 — Manual Layout with Squarespace Blocks
The most straightforward approach is to build a testimonial section using Squarespace's existing block types: Text blocks, Image blocks, and layout sections.
How to build it
- Add a new Section to your page
- Choose a layout with columns (2 or 3 columns works best)
- In each column, add:
- An Image block for the person's photo (set to circular crop)
- A Text block for the testimonial quote
- A Text block (smaller) for their name and company
- Style using Squarespace's section settings (background color, padding, spacing)
- Repeat for additional testimonials
Making it look good
Squarespace's design system handles the typography and spacing. A few things that improve the result:
- Use the same photo dimensions for all testimonials (square, 200x200px minimum)
- Keep quotes to 2-3 sentences — long testimonials in a grid layout cause uneven column heights
- Use Squarespace's built-in spacer blocks to create consistent vertical rhythm
- Apply a subtle background color to the section to visually separate it from surrounding content
When this works
Best for sites with 3 to 6 static testimonials that rarely change. If you are a freelancer, consultant, or small agency with a handful of strong client quotes, this is the simplest setup.
The problems
No carousel or slider. Squarespace does not have a native carousel block that works with custom content. The Gallery block supports image carousels, but not testimonial cards. Displaying more than 6 testimonials means a very long section or a separate page.
Manual updates only. Adding a new testimonial means editing the page in Squarespace's editor, adding new blocks, matching the styling to existing ones, and repositioning content. There is no content management layer — it is direct page editing every time.
No social media context. You are typing quotes into text blocks. There is no link to the original source, no profile verification, no timestamp. Visitors have no way to verify that these testimonials are real.
Method 2 — Blog Posts as a Testimonial Database
This is a lesser-known technique that uses Squarespace's Blog feature as a content management system for testimonials, then displays them using a Summary block.
How to set it up
- Create a new Blog page (this will not be in your navigation — it is a backend content source)
- Name it something like "Testimonials" and remove it from your site navigation
- For each testimonial, create a blog post with:
- Title: The person's name
- Excerpt: The testimonial quote
- Featured Image: Their photo
- Category or Tag: Optional — use to group testimonials by type
- On the page where you want testimonials displayed, add a Summary block
- Connect the Summary block to your Testimonials blog
- Choose a layout (Wall, Carousel, or Grid)
- Configure display settings: show excerpt, show featured image, hide date and read-more link
The carousel option
The Summary block's Carousel layout is the closest thing Squarespace has to a native testimonial carousel. It auto-scrolls through items with navigation arrows. Combined with the blog-as-database approach, you get a functional testimonial slider without any custom code.
When this works
This method is strong when:
- You want a carousel without writing JavaScript
- You want to manage testimonials separately from page design
- You need to categorize testimonials (by product, service, or client type)
- Multiple pages need to pull from the same testimonial library
The problems
It is a hack. You are using a blog system as a testimonial CMS. The blog post fields do not map perfectly — "title" is "name," "excerpt" is "quote," and there is no dedicated field for company or role. You have to embed that information in the excerpt or title.
Limited styling control. The Summary block has preset layouts. You can adjust fonts and colors through Squarespace's Design panel, but you cannot control individual element positioning, card aspect ratios, or hover states without custom CSS.
Still no social proof verification. Same limitation as Method 1 — these are text entries that could say anything. There is no connection to the original source of the testimonial.
Method 3 — Iframe Embed from an External Service
The third approach is to use a dedicated testimonial tool that handles collection, curation, and display, then embed the result into Squarespace.
How it works with LaunchWall
- Paste the URL of an X post that received customer replies
- LaunchWall fetches all public replies
- Select the ones you want to feature
- Publish and copy the iframe embed code
- In Squarespace, add a Code block and paste the embed
The result is a responsive carousel of real tweets embedded on your Squarespace page — with profile photos, real usernames, and links to the original posts.
Adding to Squarespace step by step
- Open the Squarespace page editor
- Click the + button to add a new block
- Under "More," select Code (not "Embed" — the Code block accepts raw HTML)
- Paste the iframe embed code
- Make sure "Display Source" is unchecked
- Click outside the block to save
- The testimonial carousel renders directly in the editor preview
Important Squarespace notes
Use the Code block, not the Embed block. Squarespace's Embed block uses oEmbed to parse URLs, which does not work with custom iframe code. The Code block accepts raw HTML and renders it directly.
Set the section to full-width. For the best visual result, place the Code block inside a full-width section. The iframe automatically fills its container, so a wider section means a more impactful carousel.
Squarespace's AJAX loading. Some Squarespace templates use AJAX page transitions (pages load without a full refresh). This can prevent iframe embeds from rendering when navigating between pages. Fix: In Design > Site Styles, disable "Enable AJAX Loading" if you experience issues. Alternatively, the embed will always work on the first page load and on direct URL access.
When this works
This is the best method when:
- Your testimonials are public X replies
- You want social proof that visitors can verify with one click
- You need a carousel that works responsively out of the box
- You want to update testimonials without touching Squarespace's editor
- You care about page performance — one iframe versus multiple script loads
When this is not the right fit
If your testimonials are from private sources (emails, internal surveys, phone calls), you need Method 1 or 2, or a tool that lets you create testimonial cards from typed quotes. The iframe approach works specifically with publicly posted content.
Which Method Should You Use?
Small number of static quotes, full design control needed: Use Method 1 (manual blocks). Build it once, style it exactly how you want.
Growing list of testimonials, need carousel without code: Use Method 2 (blog + Summary block). It is a workaround, but it works and it scales.
Social media testimonials, need verifiable proof: Use Method 3 (iframe embed). It is the only method that preserves the authenticity chain from source to display.
High-traffic landing page with conversion goals: Use Method 3. Verified social proof converts better than anonymous quotes, and the single iframe loads faster than multiple embedded scripts.
Squarespace-Specific Issues to Watch
Template compatibility
Squarespace 7.1 templates handle Code blocks consistently. If you are on an older Squarespace 7.0 template, the Code block behavior may differ slightly — test in preview before publishing.
Mobile rendering
Squarespace's mobile layout system automatically stacks sections vertically. Iframe embeds respect this behavior — the carousel adapts to the mobile container width. No additional mobile-specific configuration is needed.
Custom CSS for fine-tuning
If you want to adjust the spacing around an embedded testimonial widget, add custom CSS in Design > Custom CSS:
.sqs-block-code {
padding: 20px 0;
max-width: 900px;
margin: 0 auto;
}
This centers the testimonial block and adds vertical breathing room without affecting other Code blocks (add a more specific selector if needed).
The Recommendation
Squarespace users building service-based business sites, SaaS landing pages, or product pages should use the embed approach for their primary testimonial section. It solves the three problems that plague native Squarespace methods: no carousel support, no content management, and no proof that the testimonials are real.
Build your page layout in Squarespace. Let an external tool handle the social proof. The result is a polished page with testimonials that visitors actually trust.