API product analytics installation

  1. Evaluate the feature flag value using flags

    Required

    flags is the endpoint used to determine if a given flag is enabled for a certain user or not.

    curl -v -L --header "Content-Type: application/json" -d '{
    "api_key": "<ph_project_api_key>",
    "distinct_id": "distinct_id_of_your_user",
    "groups" : {
    "group_type": "group_id"
    }
    }' "https://us.i.posthog.com/flags?v=2"

    Note: The groups key is only required for group-based feature flags. If you use it, replace group_type and group_id with the values for your group such as company: "Twitter".

  2. Include feature flag information when capturing events

    Required

    If you want to use your feature flag to breakdown or filter events in your insights, you'll need to include feature flag information in those events. This ensures that the feature flag value is attributed correctly to the event.

    Note: This step is only required for events captured using our server-side SDKs or API.

    curl -v -L --header "Content-Type: application/json" -d '{
    "api_key": "<ph_project_api_key>",
    "event": "your_event_name",
    "distinct_id": "distinct_id_of_your_user",
    "properties": {
    "$feature/feature-flag-key": "variant-key"
    }
    }' https://us.i.posthog.com/i/v0/e/
  3. Send a $feature_flag_called event

    Optional

    To track usage of your feature flag and view related analytics in PostHog, submit the $feature_flag_called event whenever you check a feature flag value in your code.

    You need to include two properties with this event:

    1. $feature_flag_response: This is the name of the variant the user has been assigned to e.g., "control" or "test"
    2. $feature_flag: This is the key of the feature flag in your experiment.
    curl -v -L --header "Content-Type: application/json" -d '{
    "api_key": "<ph_project_api_key>",
    "event": "$feature_flag_called",
    "distinct_id": "distinct_id_of_your_user",
    "properties": {
    "$feature_flag": "feature-flag-key",
    "$feature_flag_response": "variant-name"
    }
    }' https://us.i.posthog.com/i/v0/e/
  4. Running experiments

    Optional

    Experiments run on top of our feature flags. Once you've implemented the flag in your code, you run an experiment by creating a new experiment in the PostHog dashboard.

  5. Next steps

    Recommended
    ResourceDescription
    Creating a feature flagHow to create a feature flag in PostHog
    Adding feature flag codeHow to check flags in your code for all platforms
    Framework-specific guidesSetup guides for React Native, Next.js, Flutter, and other frameworks
    How to do a phased rolloutGradually roll out features to minimize risk
    More tutorialsOther real-world examples and use cases

Community questions

Was this page useful?

Questions about this page? or post a community question.