Docs
Explorar la documentación

Wall of Love

Build a Wall of Love, a hosted page of your testimonials with a header and a button: its address, layout, search settings, and how to link or embed it.

Ver como Markdown

A Wall of Love is a page of your testimonials that we host for you. It has a header, your testimonials as cards, and a button that takes visitors where you want them. You link to it from your site, your emails and your profiles, with nothing to paste. Open Testimonials in the site's sidebar, then the Walls tab.

Walls are on every plan, and a site can have as many as it needs. When a site has exactly one wall, the tab opens that wall's builder directly. Press Walls above the builder's title for the list.

The list#

New wall (key N) opens the builder. Removal requests opens the requests people made for a testimonial to come down, with the number that are open. See Removal requests.

Column What it shows
Name The wall's name and its address, which opens the page
Fed by The collection, shared view, tags or number of hand-picked testimonials behind it, or "Not fed yet"
Showing How many testimonials it shows right now
Views The total for the last 30 days

Search covers the name and the address. Sort by Name or Newest. The menu at the end of a row has Edit, Open the page, Link and embed, Duplicate and Move to trash. A wall in the trash is not listed. It is on the Trash page of Testimonials.

When you start Testimonials with "find testimonials on my website" in the Inbox, the site gets a wall named Wall of Love, titled "What people say about" your site, with an address made from the site's name and a Visit our website button to your domain. It is fed by a shared saved view named All approved, so it fills as you approve testimonials, on every plan.

The builder#

The builder has five tabs, Page, Content, Style, Search and Embed, beside a live preview. The Embed tab appears once the wall is saved, and the first save opens it. The preview works the same way as the widget's: see The live preview. Nothing is live until you press Save.

The wall builder on the Page tab: name, address and language, the three layouts, the header and call to action fields, and the live preview beside them.
The wall builder on the Page tab: name, address and language, the three layouts, the header and call to action fields, and the live preview beside them.

The header of a saved wall has Open the page and a More menu with Duplicate, Removal requests and Move to trash.

Page#

Setting What it does
Name Up to 100 characters. Only your team sees it. A new wall starts as "Wall of Love"
Address The last part of /w/<slug>. 3 to 60 lowercase letters, numbers and hyphens, unique across Privatus Analytics. Left empty on a new wall, it is made from the name. When you change it, the old address keeps working and sends visitors to the new one
Language The language of the page's own words. Shown when the site has more than one language
Layout Masonry (the default), Grid or List
Layout options Masonry: Columns (2 to 5, default 3) and Space between cards. Grid: Columns (1 to 5, default 3), Space between cards and Same height in each row. List: Person left of the words or above them, and Lines between, no boxes
Title The heading, up to 120 characters. "Wall of Love" unless you change it
Subtitle The line under the heading, up to 300 characters
Logo On by default. Shows the brand kit's logo above the title, when the brand kit has one
Average rating and count On by default. Worked out from everything that feeds the wall, never typed. Shown once at least one testimonial has a rating
Button text and Button link Your call to action, shown in the header and again at the foot of the page. The text is up to 40 characters and the link must start with https://. The button needs both
"Add yours" opens Adds a second button, "Add yours", that opens one of your forms. No "Add yours" button leaves it out

Content#

The Content tab is the same as a widget's. Choose what feeds the wall (a collection, a shared saved view, tags or a hand-picked list of up to 100), the Order, and what each card shows. A wall has no "Show at most": it shows 24 testimonials a page.

The rule for what is shown, and what never is is the same too.

Style#

The same settings as a widget's Style tab, with two differences. The page background is the brand kit's background unless you set another. And on a page we host there is no site to match, so the font choice "Match my site" means the brand kit's fonts. No font file is loaded.

Custom CSS is part of Business and Enterprise, and hiding the "Collected with Privatus Analytics" badge is part of Business. See the styling reference.

A hosted wall always asks search engines not to list it, and there is no switch for that. The tab says so: "This page asks search engines not to list it. To have the words found in search, show the wall or a widget on your own site."

Setting What it does
Title in search results Up to 70 characters. The wall's title unless you write one
Description in search results Up to 160 characters. The subtitle unless you write one, and without a subtitle "What customers say about" your site, "in their own words."
Picture when the page is shared An image you upload, about 1200 by 630 pixels. Without one, your logo is used
Add review markup The same switch as on a widget. It is part of Business. See Review markup

Embed#

The link and the code. See Link to it or embed it.

The public page#

The wall is at https://privatus.page/w/<slug>. It, and every public page, form and widget of the site, is shown only once the site is verified.

A hosted Wall of Love: the title, the average rating from 284 reviews, a Visit our website button and three columns of testimonials.
A hosted Wall of Love: the title, the average rating from 284 reviews, a Visit our website button and three columns of testimonials.
Part Detail
The words Written into the page itself, so visitors without JavaScript read them
More testimonials "Load more" adds the next 24 cards under the ones already shown, and disappears after the last page. It is a real link to the next page (?page=2), so without JavaScript, or if the cards cannot be fetched, it opens that page instead. Later pages show the cards without the header
Light or dark Follows the visitor's device, unless the wall is set to always light or always dark
An empty wall Shows its header and "Nothing here yet."
"This is mine, remove it" Every card has a small More that opens this link. It leads to the removal form for that testimonial
Search engines The wall's page, its embed frame and every other page we host for you are served with noindex and are not in the Privatus Analytics sitemap. Search engines index your customers' words on your own site (the pasted HTML embed, and review markup), never on ours
Framing The page itself cannot be shown in a frame. Use the frame code below. The frame and the embedded wall ask search engines not to list them

Privacy: The page sets no cookie, reads none, stores nothing in the browser and loads nothing from any other company. Photos, videos and audio come from media.privatusanalytics.com, which is ours.

A view is counted when the wall is seen, a click when a link on it is pressed and a play when a video is started, as totals per day with the page and the country. No IP address, no User-Agent and no identifier is stored. See What the script does on your site.

Other languages#

On Business, a wall has an address for each of the site's other languages: /w/<slug>/<code>, for example /w/<slug>/de. On Free and Pro it has one for each of those languages the site holds stored translations in, so the addresses keep working after a downgrade. There the page's own words are in that language, and each testimonial shows its stored translation when it has one, marked "Translated". Each page tells search engines about the others.

The language always comes from the address, never from a cookie or the visitor's browser. An address with a language the wall does not offer sends the visitor to the wall's main address.

The Embed tab of the builder has three ways, each with a copy button. Link and embed in the list opens the same tab.

Way Use it when
Link You want a page of its own. This is the usual way
Inside your own page Your site lets you add a script, and you want the wall as part of one of your pages
Frame Your site builder allows nothing else
html
<div data-pa-testimonial-wall="wal_..." style="min-height:480px"></div>
<script src="https://privatus.page/embed/widget.js" async></script>

Inside your own page shows the wall with its header and buttons. For the cards alone, add data-header="off" to the first line. The tab gives you both versions ready to copy. The script is the same one widgets use, so a page with a wall and several widgets loads it once.

html
<iframe src="https://privatus.page/embed/walls/wal_..." title="Wall of Love" loading="lazy" width="100%" height="900" style="border:0"></iframe>

A Frame shows the cards without the header, at a fixed height. Change the height to fit your page.

An embedded wall, by script or by frame, shows 24 testimonials and a "Load more" button that shows 24 more each time, up to 72. A wall with more than that ends with a "See all" link to the wall's own page.

For the steps in common site builders, see Install on your site.

When your changes show#

The wall page and its embeds are kept on Cloudflare's servers close to your visitors. They are cleared for the same changes as a widget: the wall, a testimonial on it, a person shown on it, a tag, collection or shared view that feeds it, the brand kit, the site's languages or name, and the workspace's plan. A change shows within about ten seconds. An embedded wall is kept by a visitor's browser for five minutes like a widget, so a testimonial you unapprove or trash is gone from new visits within about ten seconds, and from a browser that already loaded the embed within 5 minutes. The wall's own page is not kept by browsers. See When your changes show.

A browser keeps an embedded wall (the script or the frame) for five minutes. The wall's own page is never kept by browsers.

Duplicate copies every setting under the name "Name (copy)" and a free address. Move to trash keeps a wall for 30 days. While it is there, its page says "This page has been taken down." and its embeds show nothing. Restoring the wall from the Trash page brings the page and the embeds back at the same address.

API and MCP#

Action MCP tool Permission
List, read one testimonial_walls_list, testimonial_walls_get analytics.read
Create, change testimonial_walls_create, testimonial_walls_update content.write
Duplicate testimonial_walls_duplicate content.write
Move to trash, restore testimonial_walls_trash, testimonial_walls_restore content.write
The link and the code to embed it testimonial_walls_embed analytics.read

A create call with only a name makes a working wall: the title "Wall of Love", the masonry layout and an address made from the name. It shows testimonials once you choose what feeds it. A change that is not allowed responds with 422 and names the input: an address that is malformed or in use (the message suggests a free one), a button link that does not start with https://, a language the site does not have, or a form or image that is not the site's. A change the plan does not include responds with 402 and the code plan_limit. Inputs and response fields are in the API reference and the MCP reference.

An AI assistant cannot delete anything or move anything to the trash. The MCP tool testimonial_walls_trash runs nothing: it responds with human_only and the address of the wall's page, and the assistant hands you that link. The API call runs as usual, and testimonial_walls_restore runs over both.

Good to know#

  • Locked options say why. On Free and Pro the badge menu is fixed on "Show the badge", Add review markup cannot be ticked and the custom CSS field cannot be typed in. Each has a line naming the plan and a link to the plans.
  • After a downgrade nothing is deleted. The badge comes back, custom CSS is not applied and review markup is left out, all within about ten seconds. Stored translations keep being shown, and a language address the site holds no translation in sends visitors to the main address. The settings stay as you saved them and work again when the plan includes them.
  • An address stays yours. An address a wall used to have keeps redirecting to it and cannot be taken by another wall.
  • A wall always counts views. Unlike a widget, it has no switch for it.
  • The public page takes 120 requests a minute from one connection, then responds "One moment." for the rest of that minute.
  • A custom domain for a wall is part of Business and is set up on request. See Custom domain.