Platform · Voice of customer
Ask inside the experiment
On-site NPS, CSAT, CES and custom surveys with a guided builder. Tie one to an experiment and the answers arrive split by variant, right beside 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
- Results split by variant, with small samples flagged
- A separate bundle, requested only by sites that have a survey to show
The builder
A survey in a few minutes, not a project
Five steps: pick an instrument or start a custom survey, write the questions, choose who sees it, choose when it fires, and match the widget and its wording to your site. 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, or a custom survey of your own
- Score, single choice, multiple choice and open text, up to five questions shown one at a time
- A live preview of the widget as you build it, with your own button texts and scale labels
- 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 page rules, devices and a share of visitors. 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
- Page rules with seven conditions, three device types, and a share of the visitors who qualify
- 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
Tie a survey to an experiment and only its visitors are asked, narrowed to chosen variants if you like. The results then split by variant, views, respondents, response rate and every question, which is usually where the explanation for a lift turns out to be.
- Every response carries the variant the visitor was shown
- Views, respondents, response rate and every question, read per arm
- 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.
Four question kinds
Score, single choice, multiple choice and open text, up to five questions shown one at a time. Any of them can be optional, except the score that defines an NPS, CSAT or CES survey.
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
Your accent colour and corner radius, and your own wording on every button and message. 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.
Every question, over time
Every scale step and every option with its count, the ones nobody picked included, plus responses and the score by day or by week. One visitor’s answers stay together on one card.
Asked of the right visitors
Page rules, devices and a share of visitors, or tie the survey to an experiment so that only its visitors, or only chosen variants, are asked.
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. And when the question is none of the three, a Custom survey takes your own questions in any mix.
Everything in the box
The full feature set
Experimentation
- Visual multi-variant tests
- URL redirect tests
- Server-side tests
- No-code visual editor
- AI editor
- Chrome extension launcher
- Component library
- Dynamic content
- Data feeds
- Custom CSS and JS
- Replace, insert, append, before and after
- URL targeting on seven conditions
- Device targeting
- Cookie targeting
- Activation 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
- Run length plan
- Pipelines of staged experiments
- Library search, filter and results
- Library timeline
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
- Ask about this experiment
Monitoring
- Health monitor
- Attention queue across accounts
- Program report
- Experiment debrief
- 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
- Custom surveys
- Guided survey builder
- Score, choice and text questions
- Custom texts and scale labels
- Page and device targeting
- Share of visitors
- Page-view and delay triggers
- Exit-intent triggers
- Scroll triggers
- Event triggers
- Four widget positions
- Frequency capping
- Per-question results
- Responses over time
- AI sentiment analysis
- Surveys inside experiments
- Results by variant
- Answers tied to variant
- Validated responses
- 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 one tag in your head and you are live: a 0.9 KB loader, 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.