Adding feature flag code

Last updated:

|Edit this page

Once you've created your feature flag in PostHog, the next step is to add your code:

Boolean feature flags

Web
if (posthog.isFeatureEnabled('flag-key') ) {
// Do something differently for this user
// Optional: fetch the payload
const matchedFlagPayload = posthog.getFeatureFlagPayload('flag-key')
}

Multivariate feature flags

Web
if (posthog.getFeatureFlag('flag-key') == 'variant-key') { // replace 'variant-key' with the key of your variant
// Do something differently for this user
// Optional: fetch the payload
const matchedFlagPayload = posthog.getFeatureFlagPayload('flag-key')
}

Ensuring flags are loaded before usage

Every time a user loads a page, we send a request in the background to fetch the feature flags that apply to that user. We store those flags in a cookie.

This means that for most pages, the feature flags are available immediately – except for the first time a user visits.

To handle this, you can use the onFeatureFlags callback to wait for the feature flag request to finish:

Web
posthog.onFeatureFlags(function () {
// feature flags are guaranteed to be available at this point
if (posthog.isFeatureEnabled('flag-key')) {
// do something
}
})

Reloading feature flags

Feature flag values are cached. If something changed with your user and you want to refetch their flag values, call posthog.reloadFeatureFlags().

Questions?

Was this page useful?

Next article

Testing your feature flag

Once you've written your code, it's a good idea to test that each variant behaves as you'd expect. There are 3 ways you can do this: Method 1: Assign a user a specific flag value For boolean flags, you can roll out the flag to a specific user. For multivariate flags, you can assign a user to a specific variant by adding an optional override to your release conditions . To do this: Go to your feature flag. Ensure the feature flag is enabled by checking the "Enable feature flag" box. Add a new…

Read next article