# Ruby experiments installation - Docs

1.  1

    ## Install the gem

    Required

    Add the PostHog Ruby gem to your Gemfile:

    Gemfile

    PostHog AI

    ```ruby
    gem "posthog-ruby"
    ```

2.  2

    ## Configure PostHog

    Required

    Initialize the PostHog client with your project token and host:

    Ruby

    PostHog AI

    ```ruby
    require 'posthog'
    posthog = PostHog::Client.new({
        api_key: "<ph_project_token>",
        host: "https://us.i.posthog.com",
        on_error: Proc.new { |status, msg| print msg }
    })
    ```

3.  3

    ## Implement your experiment

    Required

    Experiments run on top of our feature flags. You can define which version of your code runs based on the return value of the feature flag:

    **Note:** Server-side experiment metrics require you to manually send the feature flag information. See [this tutorial](/docs/experiments/adding-experiment-code.md) for more information.

    ```ruby
    experimentFlagValue = posthog.get_feature_flag('your-experiment-feature-flag', 'user distinct id')
    if experimentFlagValue == 'test'
        # Do something differently for this user
    else
        # It's a good idea to let control variant always be the default behaviour,
        # so if something goes wrong with flag evaluation, you don't break your app.
    end
    ```

4.  4

    ## Run your experiment

    Required

    Once you've implemented the feature flag in your code, you'll enable it for a target audience by creating a new experiment in the PostHog dashboard.

5.  5

    ## Next steps

    Recommended

    Now that you're running experiments, continue with the resources below to learn what else Experiments enables within the PostHog platform.

    | Resource | Description |
    | --- | --- |
    | [Creating an experiment](/docs/experiments/creating-an-experiment.md) | How to create an experiment in PostHog |
    | [Adding experiment code](/docs/experiments/adding-experiment-code.md) | How to implement experiments for all platforms |
    | [Statistical significance](/docs/experiments/statistics-bayesian.md) | Understanding when results are meaningful |
    | [Experiment insights](/docs/experiments/analyzing-results.md) | How to analyze your experiment data |
    | [More tutorials](/docs/experiments/tutorials.md) | Other real-world examples and use cases |

### Community questions

Ask a question

### Was this page useful?

HelpfulCould be better