Experimentation
Server-side tests
For changes that never belonged in the browser: pricing logic, search ranking, anything decided before the page is built.
Some changes cannot be made by editing a rendered page. Ranking a search result differently, changing what a pricing endpoint returns, or swapping a recommendation model all happen before any HTML exists. A server-side experiment covers those: your own code shows each variant, and Pertento holds the experiment, decides who gets which variant and does the measurement.
Who picks the variant is a setting. With browser assignment the Pertento snippet picks it by weight, exactly as for a visual test, and your page code shows it: no server key, no backend change, and URL, device and cookie targeting work as usual. With server assignment your backend asks the server SDK before it renders, so the first render is already the right variant and nothing changes after the page loads.
Server assignment brings what a backend needs. Each experiment has a flag key and each variant a key your code switches on, with an optional JSON payload for the values that variant uses. Attribute rules on your own data, such as plan or country, decide who is enrolled, and an experiment can bucket on your own customer ID so a signed-in customer sees one variant on every device. Pertento never stores that ID.
Results land on the same statistics screens as every other test. The page counts the visitor under the ID your server decided for, and conversions come from the browser or only from your backend, never both. Deploying a winner works as it does elsewhere: every decision then names the winning variant, so your code serves it to everyone without a release.