Platform · Experimentation
AI-enabled web experimentation
Visual multi-variant tests, URL redirects and server-side tests, launched straight from a Chrome extension on your live site. Describe a change to the AI editor, or point at an element and change it yourself, then save the variant.
How a test runs
From a hypothesis to a shipped change
Point at the page, describe the change, and test it on real visitors.
Who sees it, what to run next, and what engineering gets handed when you are done.
- An AI editor that builds changes from plain words, no-code editing and ready-made components, plus custom CSS and JS
- Targeting by URL, device and cookie, with sticky assignment so returning visitors see a consistent experience
- Anti-flicker rendering with four independent fail-safes, so visitors never see the original page flash into the test
- Every eligible visitor enters every eligible experiment, so running ten tests at once costs no sample size
- One-click winner deployment to 100% of traffic, and an implementation hand-off for hard-coding winners
- Hypothesis tracking with PXL prioritisation scoring to rank your backlog
AI editor
Describe the change, and watch it get built
Tell the editor what you want in plain words, or point at an element and ask. The AI reads the page, proposes the changes and previews them on your live site. Nothing is saved until you apply it.
- A word or a whole sectionFix one headline, or rework a whole hero, menu or pricing table from a single prompt. Each change is listed on its own, so you keep the ones you want.
- JavaScript only when it is neededMost tests are copy, styling and markup, and that is what it writes. When a test needs behaviour, such as something that reacts to a click or a scroll, it writes the code too, and the code waits for its own approval.
- It reads the page for youThe AI works from an outline of the page you are on: its structure and its copy. You describe the outcome, and it finds the elements to change. No selectors, no developer.
- A preview before anything is savedProposed changes appear on your live page, each with its own checkbox. Apply them and they become ordinary changes in the variant, with undo, until you save.
- Strong experiments without codeAnyone who can describe a better page can build the variant for it. The AI answers in the language you write in, and keeps the page's copy in the page's own language.
- You see the cost firstEach request uses AI credits, and the panel shows an estimate before you send it. Form values and personal details on the page are masked before anything is sent.
Targeting
Show it to exactly who you meant to
Three dimensions, combined per experiment: the address, the device, and a cookie your own site already sets. Assignment is sticky, so a returning visitor keeps the variant they were given.
- URL rules on seven conditions, including regex and two negative ones
- Desktop, mobile or tablet, detected before the visitor is entered
- Cookie targeting for logged-in or segmented traffic, matched against a list of values
- Sticky assignment, held in browser storage rather than a cookie
- Force any variant by URL to review it, without a test account
Shipping the winner
One click to 100%, or a hand-off to engineering
Deploy the winning variant to all traffic from the result page. When it should live in the codebase instead, Pertento writes the hand-off with the exact change.
- One-click deployment with a record of who deployed it
- Implementation hand-off with the selector and the change
- Roll back to the original at any time
Prioritisation
A backlog ordered by PXL score, not by opinion
Log every hypothesis, score it on the PXL model, and let the ranking decide what runs next. The three scores resolve into one number, because a backlog needs to be orderable and three numbers is a discussion.
- Potential, exposure and level of effort, scored one to five each
- Resolved into a single importance from nought to ten, which the list sorts on
- Hypotheses linked to the experiment that tested them
- The highest-scoring draft surfaced when nothing else needs you
Implementation
Hand the winner to engineering, with the change
A winner can stay served by Pertento indefinitely, but most teams eventually want it in the codebase. The implementation dashboard tracks which winners are still running on the platform and which have been hard-coded.
- The selector and the exact change, ready to paste
- Status per winner: awaiting, in progress, hard-coded
- The experiment keeps serving until the code ships
Pipelines
Decide the order, then stop scheduling by hand
A pipeline is an ordered run of stages, and a stage is a set of experiments that run together. Experiments that would collide go into different stages and each stage runs at full traffic in turn, which is the opposite of making them mutually exclusive and splitting the audience.
- Stages arm themselves in order, so nothing waits on somebody remembering
- Advance when every experiment concludes, on the first significant result, or on a person
- A stage arms all or nothing, so a partly-started stage is never left running
- Automation and auto-deploy are separate switches, both off until you turn them on
- With automation off the engine still logs what it would have done, using the same code
Visual editor
Point at it, change it, or drop in a whole section
The editor opens from Chrome's side panel, on your live site. Style anything in the inspector, edit text where it sits, or drag in a ready-made component that takes on your site's own fonts and colours. Every change is saved against the variant: no deploy, no ticket, no staging copy of the page.
- Component libraryHeroes, FAQs, trust rows, sticky bars and pop-ups, dropped in by click or drag in your site's own style.
- Dynamic contentEach page fills in its own campaign, visitor, product or cart data, from one change.
- Data feedsReviews, event dates or campaign copy from a feed you already publish, fetched by our servers.
- Hover, focus and activeInteractive states styled in the inspector, next to every CSS property the browser knows.
- Text in placeDouble-click any text on the page to rewrite it, with bold, italic and underline.
- Every matchA selector changes every matching element, including the ones that load later.
- Changes in plain wordsMoved, Added button, Heading text: every edit listed, with undo you can rely on.
- Preview on any phoneA shareable link opens the saved variant on a real phone or in another browser.
- Code when you want itHTML, CSS and JavaScript on the variant, reading the same page data.
Building the test
The parts that make a second experiment cheaper than the first
Most of what a programme spends its time on is not the first test. It is rebuilding a setup, checking a variant before it goes out, and keeping a record somebody can read next year.
While it runs
What the runtime is doing on your visitors' pages
Everything below is decided in the browser, from a file compiled for your website alone. There is no call to Pertento before the page renders and nothing waiting on a response to decide what a visitor sees.
Questions
What teams ask before they switch
How long before we could have a test running?
One script tag in the head is the whole installation, and it is the only change to your site. From there a variant is built by pointing at elements on your live pages, so the first experiment is limited by how long it takes you to decide what to test rather than by anything that has to be procured, built or scheduled. Nothing goes live by accident while you are learning: a new experiment is a draft until you start it.
Will it slow the site down or hurt our Core Web Vitals?
Each website gets its own compiled file with its experiments baked into it, so the runtime already knows what to run when it loads and nothing waits on a call to us before the page renders. The loader in your page is under 1 KB, and the heavier features, such as page data and data feeds, only load on websites whose tests use them. The page is briefly held back while changes are applied, which is what stops visitors seeing the original flash into the test, and it is revealed from four independent code paths so a failure shows the unmodified page rather than a blank one. Tracking loads last, after the page is visible, so measurement never delays rendering.
What can the editor actually change, and where does it stop?
Text, styling, layout and position are edited by pointing, hover and focus states included, and whole sections are added from a library of components that take on your site's own fonts and colours. A change can carry the page's own data, such as each product's price, or values from a feed you already publish, and a selector can apply it to every matching element. You can also describe the change in plain words and let the AI editor propose it, previewed on the page before anything is saved. Past that it stops honestly rather than badly: anything the inspector cannot express you write as custom CSS or JavaScript on the variant, which means a test is never blocked on the tool. The genuine limit is a change that happens before the page exists, ranking, pricing logic, a recommendation model. Those are server-side experiments, and they need your engineers.
How many experiments can we run at once?
As many as you have ideas for, and this is the answer worth checking against whatever you use today. Each experiment randomises independently, so an eligible visitor enters every experiment they qualify for and each one measures against the full eligible audience. Concurrency does not divide your sample here, which is why the platform checks whether two tests would interfere rather than rationing how many may run. Throughput is usually the difference between a programme that pays for itself and one that does not.
What happens to the work if we stop using Pertento?
Winners you have hard-coded are already in your own codebase and are unaffected, which is what the implementation queue exists to push you towards: it lists every winner still being served by us and keeps flagging it until your engineers have room. Winners still served by the platform stop when it does, the same way any variant stops. The experiments, the hypotheses and the written history stay in the account rather than in tooling of ours.
Can AI help us set up an experiment?
Yes. Pertento AI helps with the set-up: describe the change you want to test and the AI editor builds the variant on your live page. Once the experiment has run, it explains the result in plain language, so the next decision does not wait for someone who reads statistics.
Everything in the box
The full feature set
Experimentation
- AI editor
- No-code visual editor
- Visual multi-variant tests
- URL redirect tests
- Server-side tests
- Server SDK
- Anti-flicker rendering
- Concurrent tests without splitting traffic
- One-click winner deployment
- URL targeting on seven conditions
- Pipelines of staged experiments
- Run length plan
- Chrome extension launcher
- Component library
- Dynamic content
- Data feeds
- Custom CSS and JS
- Replace, insert, append, before and after
- Device targeting
- Cookie targeting
- Activation targeting
- Traffic weights per variant
- Automatic weight rebalancing
- Variant screenshots
- Duplicate an experiment
- Test runs before launch
- Sticky variant assignment
- Implementation hand-off
- Hypothesis tracking
- PXL prioritisation scoring
- Library search, filter and results
- Library timeline
Statistics
- Frequentist results
- Bayesian results
- Sequential testing
- Sample-ratio-mismatch alarms
- Ask about this experiment
- Revenue per variant
- Power analysis
- Minimum detectable effect
- Lift and confidence intervals
- Multiple-comparison correction
- Probability variant is best
- Expected loss
- Holm-Bonferroni, Benjamini-Hochberg and Šidák
- Primary and secondary goals
- Average order value per variant
- Multi-currency
- Days-remaining projection
- Combination reporting
- Per-variant time series
- Plain-English explainers
Monitoring
- Health monitor
- Attention queue across accounts
- Program report
- Experiment debrief
- Scheduled starts and stops
- Stop on significance
- Slack alerts
- Collision detection
- Trust gates on broken data
- Roles and permissions
- Minimum runtime guard rails
- Interaction detection
- Overdue and no-data alarms
- Email alerts
- In-app alerts
- Per-event preferences
- Activity log
- Client roster view
- Saved console layouts
- GA4 and Matomo tracking
Voice of customer
- On-site NPS
- CSAT
- CES
- Custom surveys
- AI sentiment analysis
- Surveys inside experiments
- Results by variant
- Exit-intent triggers
- 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
- Scroll triggers
- Event triggers
- Four widget positions
- Frequency capping
- Per-question results
- Responses over time
- Answers tied to variant
- Validated responses
- Free-text themes
- Response export
- Loaded only where a survey runs
Learnings
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 ↗