Platform · Voice of customer
Ask inside the experiment
On-site NPS, CSAT and CES surveys with a guided builder, and they can run within a variant, so qualitative feedback arrives alongside the numbers.
Asking
The question, the moment, and the answer
Building a survey in minutes, firing it when it is worth asking, and reading the reply beside the number it explains.
- One trigger per survey, from page view, delay, exit intent, scroll depth or your own event
- Frequency capping, with one survey per session across everything you are running
- AI sentiment on every written answer, so a few hundred replies stay readable
- Answers attributed to the variant the visitor saw
- A separate bundle, requested only by sites that have a survey to show
The builder
A survey in a few minutes, not a project
Four steps: pick the instrument, edit the question and its follow-up, match the widget to your site, choose when it fires. NPS, CSAT and CES arrive with their scales and their standard wording already right.
- NPS, CSAT and CES templates with the correct scale and the standard phrasing
- Score, open text and single choice, up to five questions
- A live preview of the widget as you build it
- An internal name for the library, which visitors never see
Triggers
Asked at the moment it is worth asking
One trigger per survey, chosen from five, plus the same URL and device targeting an experiment uses. Exit intent watches the pointer leaving the viewport on desktop and fast upward scrolling on touch, so it means the same thing on a phone.
- Page view, a delay, exit intent, a scroll depth, or an event your own site emits
- The same seven URL conditions and the same device values as an experiment
- One survey per session across everything running, not one per survey
- Answered once means never asked again, with no re-ask window at all
Inside the experiment
The quote next to the number
A survey attached to an experiment records which variant of which experiment the visitor was in when they answered. The same question can then be read per variant, which is usually where the explanation for a lift turns out to be.
- Every response carries the variant the visitor was shown
- The same question read per arm, sentiment and all
- Every classification opens the reply that produced it
- Sentiment stamped once per answer, so a reply nobody could classify stays visible as one
The widget
What a visitor sees, and how rarely they see it
A survey is a small prompt on your own site, and everything about it is built around not wearing out its welcome. The caps below are the defaults, not the ceiling of what you can configure.
Three question kinds
A scored question, open text, and single choice from a list you write. Up to five questions in one survey, though the shape that gets answered is almost always two: a score, then why.
Four positions
Bottom right, bottom left, bottom centre, or centred over the page. The first three are a prompt; the fourth is an interruption, which is occasionally what you want and usually not.
Matched to your site
Accent colour, background, text colour, corner radius and font. The widget renders inside its own shadow root, so your styles cannot leak into it and it cannot leak into your page.
One survey per session, ever
A global cap, not a per-survey one. Two widgets in one visit is how you teach people to dismiss on sight, so the second never appears however many surveys are running.
Answered once, never asked again
Somebody who replied is not asked that question again, with no re-ask window at all. Somebody who dismissed it is held off for a cooldown you set, up to a maximum number of prompts.
Loaded only where a survey runs
The survey code is a separate bundle, requested last and only when the website has a survey to show. A site with none never asks for the file at all, so it costs nothing rather than a little.
The answers
Reading a few hundred replies without reading a few hundred replies
Scores roll up into one number per instrument. Written answers are classified so the pile stays navigable, and both are attributable to the variant the person was in.
The right headline per instrument
Net promoter score on minus a hundred to a hundred, average satisfaction on one to five, average effort on one to seven. One shared "score" field would be a lie about two of the three.
Sentiment on every written answer
Each comment is classified positive, neutral or negative, and the response feed filters on it. That is what keeps several hundred free-text replies readable rather than merely archived.
Tied to the variant that was shown
A response records which variant of which experiment the visitor was in when they answered. Reading the same question per variant is usually where the explanation for a lift turns out to be.
Response rate you can trust
Impressions are counted separately from responses, so the rate is measured rather than estimated. When nothing has been shown yet the console says so instead of printing nought per cent.
Responses outlive the survey
Ending a survey stops collection and keeps everything collected. Deleting one removes it from the library and still keeps the answers, so a past result stays readable after somebody tidies up.
Targeted like an experiment
The same URL conditions and the same device values an experiment uses, so a survey aimed at mobile checkout means the same thing as a test aimed at mobile checkout.
Questions
Before you put one on your site
Will this annoy our customers?
It is the right thing to worry about, and the caps are built around it rather than bolted on afterwards. At most one survey is shown per session across every survey you are running, not one per survey, because two widgets in one visit is how you teach people to dismiss on sight and that damage is permanent. Somebody who has answered is never asked that question again, with no re-ask window at all. Somebody who dismissed it is left alone for a cooldown you set, and after a small number of prompts is left alone regardless. If the browser cannot tell whether they have been asked before, nothing is shown at all.
Why not just buy a dedicated feedback tool?
If all you want is a score, a dedicated tool is fine. What you cannot get from one is the thing this exists for: every response records which variant of which experiment the visitor was in when they answered, so the same question can be read per arm. An experiment tells you variant B converted better and cannot tell you why. Read the answers per variant and it often can, and the why is what decides what you test next. It also catches the case a conversion metric hides entirely, a variant that wins on conversion while scoring worse on effort.
Will it slow the site down?
Not on pages with no survey running, because nothing is requested at all. The survey code is a separate file from the experiment runtime, and a website with no survey never asks for it: the flag that would trigger the request is simply absent rather than set to false. Where it does load, it loads last, after the page is already visible and after measurement has been requested, so a failure inside it cannot cost you a render or a conversion event.
What do we actually do with a few hundred written answers?
This is the honest failure mode of most feedback programmes: the free-text answers are the valuable part and nobody reads them past the first fifty. Every written answer is classified positive, neutral or negative and the response feed filters on it, which makes the negative bucket reachable, and that is where the specific, actionable complaints are. It is per answer rather than an overall mood, so a high score sitting next to negative comments shows up as the disagreement it is instead of being averaged away.
Which instrument should we start with?
Each one is defined by its scale and by the moment it belongs in. NPS asks about loyalty on nought to ten, after a completed purchase or a support interaction. CSAT asks about satisfaction on one to five, immediately after a specific interaction. CES asks how easy it was on one to seven, after checkout or a self-service task, and it is usually the most useful to conversion work because it finds friction rather than feeling. All three arrive with the standard wording already in place, because an NPS question that does not ask about recommending is not NPS whatever scale it renders.
Everything in the box
The full feature set
Experimentation
- Visual multi-variant tests
- URL redirect tests
- Server-side tests
- No-code visual editor
- Chrome extension launcher
- Custom CSS and JS
- Replace, insert, append, before and after
- URL targeting on seven conditions
- Device targeting
- Cookie targeting
- Traffic weights per variant
- Automatic weight rebalancing
- Concurrent tests without splitting traffic
- Variant screenshots
- Duplicate an experiment
- Test runs before launch
- Sticky variant assignment
- Anti-flicker rendering
- One-click winner deployment
- Implementation hand-off
- Hypothesis tracking
- PXL prioritisation scoring
- Pipelines of staged experiments
Statistics
- Frequentist results
- Bayesian results
- Lift and confidence intervals
- Probability variant is best
- Expected loss
- Sequential testing
- Multiple-comparison correction
- Holm-Bonferroni, Benjamini-Hochberg and Šidák
- Sample-ratio-mismatch alarms
- Primary and secondary goals
- Revenue per variant
- Average order value per variant
- Multi-currency
- Power analysis
- Minimum detectable effect
- Days-remaining projection
- Combination reporting
- Per-variant time series
- Plain-English explainers
Monitoring
- Health monitor
- Attention queue across accounts
- Scheduled starts and stops
- Stop on significance
- Minimum runtime guard rails
- Trust gates on broken data
- Collision detection
- Interaction detection
- Overdue and no-data alarms
- Email alerts
- Slack alerts
- In-app alerts
- Per-event preferences
- Activity log
- Client roster view
- Saved console layouts
- GA4 and Matomo tracking
- Roles and permissions
Voice of customer
- On-site NPS
- CSAT
- CES
- Guided survey builder
- Score, open text and single choice
- Page-view and delay triggers
- Exit-intent triggers
- Scroll triggers
- Event triggers
- Four widget positions
- Frequency capping
- AI sentiment analysis
- Surveys inside experiments
- Answers tied to variant
- Free-text themes
- Response export
- Loaded only where a survey runs
Pertento is a conversion-rate-optimisation platform for websites and online stores, built for both in-house teams and CRO agencies running experimentation programmes across a client roster.
Integrations
Works with the stack you already run
One snippet drops into any site, or go fully server-side. Nothing to re-architect.
One-line snippet
Paste a single 0.9 KB tag in your head and you are live. No build step, no dependencies.
Google Tag Manager
Deploy and manage experiments straight through GTM. No developer time required.
Server-side API
Run tests beyond the browser: pricing, search and routing, flicker-free.
- Shopify
- BigCommerce
- Shopware
- Centra
- Geins
- Saleor
- WordPress
- Optimizely CMS
- Storyblok
- Next.js
- Vue
- Astro
- Matomo
- Amplitude
- RudderStack
- Slack
- WooCommerce
- Salesforce
- Wix
- Litium
- commercetools
- Medusa
- Drupal
- Contentful
- Webflow
- Nuxt
- Angular
- Remix
- Piwik PRO
- Mixpanel
- Tag Manager
- Webhooks
- Adobe Commerce
- PrestaShop
- Squarespace
- Norce
- Shopify Hydrogen
- Vendure
- Umbraco
- Sanity
- Framer
- React
- SvelteKit
- GA4
- Adobe Analytics
- Segment
- Klaviyo
Not on the list? If it renders HTML, Pertento can test it:read how each one connects.