--- title: Python experiments installation showStepsToc: true --- import { Steps, Step } from 'components/Docs/Steps' import PythonInstall from '../../integrate/_snippets/install-python.mdx' import StepCreateExperiment from './_snippets/step-create-experiment.mdx' import StepAddPrimaryMetric from './_snippets/step-add-primary-metric.mdx' import StepValidateExperimentEvents from './_snippets/step-validate-experiment-events.mdx' import StepValidateFeatureFlags from './_snippets/step-validate-feature-flags.mdx' import StepEvaluateExperimentResults from './_snippets/step-evaluate-experiment-results.mdx' import Wizard from '../../getting-started/_snippets/wizard.mdx' import Tab from "components/Tab" Wizard Manual Once PostHog is initialized, you should be able to capture events. For your experiment to be meaningful, we need to capture an event that we want to measure, such as a conversion event. For this tutorial, let's report a conversion event when a clicks a CTA. In server SDKs like Node, this can be called when a specific route is visited or reported from your client side app. ```python posthog.capture('cta clicked', distinct_id='user_distinct_id') ``` Use the PostHog SDK to call the experiment flag and update how your page renders based on the assigned variant. ```python variant = posthog.get_feature_flag('your-experiment-key', 'user_distinct_id') if variant == 'test': # Show test variant else: # Show control variant ``` Now when a user triggers a `cta clicked` event, PostHog automatically assigns the user to a variant and records an experiment exposure. By default, users are split equally between variants. If you want to assign specific users to a specific variant, see more about [distribution and release conditions](/docs/experiments/creating-an-experiment#distribution-and-release-conditions).