This walks one flag from nothing to live. You need the dev environment of your org and a signed-in app user.

1In the console open Feature flags in the sidebar and choose New flag. Name it "New checkout". The key new-checkout is filled in for you. Leave the kind as On / off and choose Create flag. It starts off.
2In your app, read the flag with a default, so it works even if flags cannot be loaded: const on = flags.variation('new-checkout', false); (See In your app for the client and the React, Vue and Angular versions.)
3Back in the console, turn the switch on. People who open your app after a moment get the new behaviour. Turn it off and they get the old behaviour again.
4Roll it out gradually: open the flag, under Everyone else choose Split between values and set 10%. People are chosen by who they are, so the same person always gets the same answer. Raise it to 50% and then 100% whenever you are ready.
5Test it: open the flag's Test tab, enter a user id and see exactly what that person would get, and why.

What you just did

You created a flag definition in your organization. Every tenant now has the flag, following your settings. A tenant that wants something different can change it for itself under Tenants → the tenant → Feature flags.

If something looks wrong

You seeCheck
Everyone gets the defaultIs the switch on? Is the flag archived? Is there a window that has ended?
One user does not get itOpen the Test tab with their id and attributes. The reason tells you whether a rule matched, they were listed, or they fell outside the percentage.
One tenant differs from the restThat tenant has changed the flag for itself: open the flag under Tenants → the tenant → Feature flags; changed parts are marked.
Your Glyph sees no flagsThe Glyph runtime must be rebuilt once after upgrading; ask your platform admin.