• Are anonymous users tracked when A/B testing?

    Yes, anonymous users are included in A/B testing. You will need to set an appropriate user key for anonymous users so that we can track each anonymous user separately; a session key might be appropriate. We don't display anonymous users on the Users screen because anonymous users couldn't be managed from LaunchDarkly, so they would only add clutter to the screen.

  • What happens when the MAU limit is reached?

    We'll never halt access or send you a weird bill based on overages. We allow for variance as we know a company's user base can grow unexpectedly over time.

  • Do you have a REST API?

    Yes! All of our SDKs are built on top of the LaunchDarkly REST API. In fact, the entire LaunchDarkly web site is driven via the same API, so it’s heavily tested and complete. If you want to build a custom integration, export your data, or want to use LaunchDarkly on a platform that we don’t currently support, this API reference is the place to start.

  • How do I add, remove, and manage my users in LaunchDarkly?

    You don’t have to send users to LaunchDarkly in advance – just set up your users in variation calls and you’re all set: http://docs.launchdarkly.com/docs/getting-started .

    If we do not receive a request for a user in 30 days, then that user will no longer appear in the dashboard, but will still be stored in the database.   If we detect that the user is active again, then they will reappear in the dashboard with the latest set of attributes.  You cannot remove users manually from the dashboard.

    You may add individual users using the LaunchDarkly dashboard by navigating to a feature flag and adding users manually in the targeting tab.

  • What is the default rule?

    The default rule is a final rollout rule for any users that don’t match any of the previous sections on the Targeting tab, like individual targeting or custom rules.

    As with other rules, you can choose to serve a specific variation, or apply a percentage rollout to any remaining users.

    For simple percentage rollouts, you can just use the default rule for a feature flag.  For example, to roll out the true variation to 50% of your users, set the default rollout rule to true 50% and false 50%.

  • How do you calculate confidence interval for A/B tests?

    We use a z-score.

  • What are custom user attributes?

    Custom attributes let you turn features on or off for specific users or groups of users based on any data that you send to us. In JSON, custom attributes are stored in a custom sub-object, like this:

  • Do I need to call identify for every user?

    No– you don’t have to call identify on users in advance. You can pass new users to variation and we’ll automatically handle adding them to LaunchDarkly.

  • How does the user key work? What about anonymous users?

    When you request a feature flag, you need to pass in a user object. The only mandatory field is the key. In JSON, this looks like this:

    {"user": "foo@example.com"}

    The only requirement for keys is that they uniquely identify the user visiting your site. For authenticated users, an e-mail address or the primary key of that user from your database makes a perfect user key. For unauthenticated users, a session ID or UUID works– as long as the same session ID or UUID is associated with the same anonymous user on repeat visits to your site.

  • Can I create custom integrations with LaunchDarkly?

    Yes, you can create custom webhooks to push audit log events to your applications (like Slack and Hipchat). You can also import goals from Optimizely and connect with New Relic.

    We are also continuously adding new integrations to make feature flag management a more seamless part of your team’s workflow.

  • What happens if I delete a feature flag?

    If you delete a feature flag, it will be removed from all environments within a project.  This is an action that cannot be undone. 

  • What happens if I turn my feature flag off?

    When you turn your feature off via the kill switch, your users will receive the off variation.   For boolean flags, your users will receive false as the off variation (which you can modify). For multivariate flags, you need to set the off variation on the user targeting tab within a feature flag.

  • How do I create dependencies between feature flags?

    LaunchDarkly has a feature called prerequisites, which lets you determine which flags must be on or off before another flag’s targeting rules apply.

    For example,  you could have a flag that controls the visibility of a “sign up form” and then two other flags that control elements within the sign up form.  In LaunchDarkly, you could create a prerequisite that ensures that the sign up form flag must be on before a dependent flag is evaluated.

  • How does the SDK evaluate user attributes?

    Since the SDK maintains the feature targeting ruleset in memory, it can only consider the user attributes passed to it when you call identify.  This ensures that there’s no network latency when you get a variation, since it does not need to call back to LaunchDarkly to look up other attributes.

    In order to see the correct user attributes on the dashboard, you must include the custom fields in the user object when you get the variation.  The user page will only display all of the user attributes seen by the SDK when doing an evaluation.

  • How do I get a real-time stream of all my LaunchDarkly events?

    LaunchDarkly provides a Firehouse API for certain plans, which is a real-time stream of raw analytics data, including feature flag requests, analytics events, custom events, and more.

  • What platforms and languages do you support?

    We provide well-documented SDKs for Java, JavaScript, PHP, Python, Go, Node.JS, .NET, Ruby, Python Twisted, iOS, and Android.  View our SDKs

  • How do environments work?

    Environments let you manage the feature flags on your development, staging, and production instances separately. Each environment has its own separate flag data and API keys. You can use environments to manage feature flags during local development, pre-flight flag changes in staging before rolling out to production, and more.

  • What are projects?

    Projects allow you to manage multiple software projects under one LaunchDarkly account.  For example, you can create one project called Mobile App and another project called Web App. Each project will have its own unique set of environments and feature flags.  By default, all team members in your LaunchDarkly account will have access to every project within that account.  Please see our documentation for more information.