Platform · Feature flags

Feature flags and gradual rollouts

A feature flag is a release that is not a test. Turn a change on for a share of your traffic, widen it on a plan, and turn it off in one click if something is wrong.

How a flag runs

From a draft to fully on

Raising the share only ever adds people.

Two kinds of flag, a rollout you widen by hand or on a plan, and who gets it before everyone else.

  • Code flags your server or your page asks for, each side with an optional JSON payload
  • Editor flags: changes made in the visual editor that go live as a release, not a test
  • Any share from 0 to 100% by hand, and Turn off as the kill switch
  • Rollout plans of up to ten steps that only ever widen
  • Sticky: nobody who has the change on loses it as the share grows
  • A holdback of up to 50% that always stays off, so a comparison group remains
Code flagsEditor flagsRings
The feature flags list: five flags with their kind and state, one rolling out at 25%, one fully on, one paused at 10%, one off and one still a draft, beside the rollout of the selected flag.

Two kinds

Flag the code, or flag a change made in the editor

A code flag is whatever your code does when it is on: the server SDK, the decide endpoint or the browser asks for it by key and gets on or off, with a payload if you set one. An editor flag carries changes made in the visual editor, applied on the page like a variant, live straight away and with a kill switch and a schedule.

  • Read a code flag on the server, over HTTP or in the browser
  • A JSON payload on each side, for a value rather than a switch
  • A reminder when an editor flag has been fully on for 30 days, to build it into the site and archive the flag
A code flag’s Use it in your code card, with the server SDK, the browser and the HTTP call that read it, and the payload sent on each side.

Rollouts

Widen it on a plan, stop it in one click

Set the share by hand, or lay out a plan of up to ten steps, each with a minimum time or a date it may not start before, and the scheduler moves it on. Pause and resume it whenever you like: a resumed plan never narrows. Schedule a draft to publish, or a live flag to turn off, at a set time.

  • A change made by hand pauses a running plan
  • Publish and turn off on a schedule
  • Notified when the scheduler moves a flag, finishes a plan or turns one off
A rollout plan of four steps that only widen: 5% for a day, done; 25% for two days, current; 50% not before a set date; then 100%, with Turn off beside it.

Who gets it

Decide who gets it before everyone else

A visitor has to be eligible first, by the same URL, device, cookie and activation targeting your experiments use, or by attribute rules for a code flag on the server. Rings come next: up to ten groups with a fixed side, such as staff and a beta list on and key accounts off. Everyone else falls into the rollout.

  • Rings match on attribute rules or a list of up to 1,000 IDs, and the first match wins
  • Server rules for code flags, matched on the attributes your SDK call passes
  • A holdback set before publishing, always off, even at 100%
A flag’s rings: staff on by an email rule, a beta list of 412 IDs on, 38 key accounts off, and everyone else in a 25% rollout with a 5% holdback.

Kept apart

A release, not an experiment

Flags stay out of everything that reads experiments: the library, the statistics, Learnings and the monitor. They live in their own list under Experiments, from draft to running to ended, and an ended flag serves off for good. An editor flag still counts in the overlap checks, because it changes pages your experiments run on.

  • Their own list, with a kind column and the next step
  • Every change on the flag page, in its activity log
  • Billed in sessions, like experiments, on every plan
A flag’s activity log: the scheduler widening it from 25% to 50%, a person pausing the plan, and the reminder to build a fully-on editor flag into the site.

Everything in the box

The full feature set

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.

01 / Snippet

One-line snippet

Paste one tag in your head and you are live: a 0.9 KB loader, no build step, no dependencies.

Paste it before </head>
02 / Tag manager

Google Tag Manager

Deploy and manage experiments straight through GTM. No developer time required.

Add it as a Custom HTML tag
03 / Server

Server-side API

Run tests beyond the browser: pricing, search and routing, flicker-free.

Install the SDK
  • 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 ↗

Better experiments, better conversions

Test on all visitors with the world’s lightest script and make confident decisions powered by real-time reporting.Start trialRequest a demo