Peerbound for Web Setup - Integrating the embed code
Last updated: April 7, 2026
To enable Peerbound for Web for your organization, please contact your CSM.
Overview
Peerbound for Web makes it easy to bring your customer proof directly onto your website. Showcase moments, reviews, and stories that build credibility and help drive conversions.
The widget pulls content directly from Peerbound and displays it in a responsive, customizable grid that matches your brand. Content updates automatically—new proof appears in real time, and any removed or anonymized content is instantly reflected on your site.
This guide covers how to implement the widget, including configuration options, filtering, and styling.
Quick Start
Add the widget script to your page and place the <pb-embed> element where you want customer proof to appear:
<pb-embed embed-id="your-embed-id"></pb-embed>
<script async src="<https://embed.peerbound.com/v1/widget.js>"></script>Replace your-embed-id with the embed ID from the Peerbound Embed Settings page.
Content Security Policy
If your site uses a Content Security Policy (CSP), add embed.peerbound.com to the following directives:
script-src: To load the widget scriptconnect-src: For API requests to Peerboundimg-src: For images served by Peerbound (also addmedia.brand.devfor customer logos)
Configuration Options
Configure the widget using attributes on the <pb-embed> element.
Attribute | Required | Description |
| Yes | Your unique embed ID (UUID) from the Peerbound dashboard |
| No | Maximum number of items to display initially |
| No | Set to |
| No | Set to |
| No | JSON string to filter displayed content (see Filtering) |
Example:
<pb-embed embed-id="your-embed-id" count="10" hide-photos="true"></pb-embed>Styling
The widget uses Shadow DOM for style isolation, ensuring your page styles won’t affect the widget and vice versa. You can customize the widget appearance using CSS custom properties or the ::part() selector.
CSS Custom Properties
Apply these CSS variables to the pb-embed element to customize colors, spacing, and border radius:
Variable | Description |
| Background color of cards |
| Border color for cards and dividers |
| Primary text color |
| Secondary/muted text color |
| Star rating color |
| Star rating size |
| Spacing between cards in the grid |
| Internal padding of cards |
| Border radius of cards |
Dark Mode Example
pb-embed {
--pb-card-background-color: #1f2937;
--pb-card-border-color: #374151;
--pb-text-primary-color: #f9fafb;
--pb-text-secondary-color: #9ca3af;
--pb-review-star-color: #fbbf24;
}Advanced Styling with ::part()
For granular control over specific elements, use the CSS ::part() selector. This allows you to style individual components within the widget.
Card Components
Part | Description |
| Individual card wrapper |
| Card title/headline |
| Card body text |
| Question text (for review Q&A format) |
| Card footer section |
| Show more button |
| Link to original source |
Attribution
Part | Description |
| Attribution section wrapper |
| Person’s name |
| Job title |
| Company name |
| Avatar container |
| Avatar image |
| Company/account logo |
Miscellaneous
Part | Description |
| “Verified by Peerbound” badge |
| Load more pagination button |
| Loading spinner |
| Empty state container |
| Empty state title text |
| Empty state description text |
Part Styling Example
pb-embed::part(card) {
border: 2px solid #3b82f6;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
pb-embed::part(card-title) {
font-family: "Georgia", serif;
font-size: 1.5rem;
}
pb-embed::part(attribution-name) {
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
}
pb-embed::part(source-link) {
display: none;
}