Domandata
FeaturesProductPlansAboutHelp
Sign InCreate Free Account
Domandata
Follow us on LinkedInFollow us on YouTubeFollow us on XFollow us on Bluesky

Product

  • Features
  • Product
  • Plans
  • Changelog

Company

  • About
  • Cite
  • Help
  • Feedback

Account

  • Sign In
  • Create Account

Legal & Trust

  • Privacy
  • Terms
  • Security
  • Trust Center
  • Status
© 2026 Domandata LLC. All rights reserved.
Back to Help
Flow

How to Randomize Treatment Conditions

Create condition sets for random assignment, stratified assignment, or routing based on an earlier variable.

When To Use Experimental Conditions

Experimental conditions let you assign respondents to treatment arms, control arms, information treatments, survey branches, or study paths. In Domandata, condition sets support randomized and rule-based assignment for academic survey experiments and social science research designs.

Flow: Conditions and Routing

Use conditions when different respondents should see different blocks, when an experiment needs random assignment, or when assignment depends on a previous answer or variable. For a study-level guide, see Online Survey Experiments.

Create A Condition Set

  1. Step 1: Build the blocks first. In Block Builder, create the blocks for the control arm, treatment arms, outcomes, and end screens.

    Step 1: Add blocks in Block Builder

  2. Step 2: Open Flow. Select the Flow tab in the survey editor after the block list is mostly stable.

    Step 2: Open Flow canvas

  3. Step 3: Add a condition set. Name it after the design decision it controls, such as Main Experiment, Message Treatment, or Eligibility Path.

    Step 3: Add and name a condition set

  4. Step 4: Set the number of arms. Add the conditions you need and name each arm clearly, such as Control, Treatment A, and Treatment B.

    Step 4: Set condition arms

  5. Step 5: Choose assignment rules. Set random percentages, stratification, or by-variable assignment before connecting the paths; check Sample Allocation Across Condition Arms if cell size matters.

    Step 5: Choose assignment rules

  6. Step 6: Connect each arm. Route every condition to the block respondents should see next, including fallback paths; use Branching and Skip Logic for more complex routes.

    Step 6: Connect condition arms to blocks

Choose An Assignment Mode

  • Random Assignment assigns respondents to arms using weighted-random probabilities. Use equal splits for simple experiments or custom percentages for planned unequal allocation. A Balance arm sizes toggle chooses whether that draw is even (block/balanced — guaranteed to converge on the target split as data comes in) or random (independent — matches the target only on average). See How Randomization Works.
  • Stratify by variable keeps random assignment balanced within groups defined by a variable, such as country, party, gender, school, or quota status. The same Balance arm sizes within each group toggle is available per group; it claims lazily, once the blocking variable's value is known for that respondent, since the group cannot be balanced before it is known.
  • By Variable assigns respondents deterministically based on a survey answer or variable that appears earlier in the flow.
Preview and live-test links always use an independent random draw, even when Balance arm sizes is on, so testing never consumes a real balance slot. Expect repeated previews to look unbalanced by design.

Block Builder: Multiple Choice (By Variable Source)

Use Conditions With Question Types

Many research survey question types can feed assignment logic. Use Multiple Choice or Dropdown questions for discrete assignment, Slider or Short Answer questions for numeric ranges, and Grid Matrix questions for repeated measures. Use conjoint analysis survey design questions when the experimental task itself is a randomized preference design, or a vignette experiment when respondents should react to one profile.

Block Builder: Question Type

Preview And Protect The Design

Preview every major path before publishing. Confirm that each arm reaches the correct block, that random assignment percentages total 100 percent, that by-variable sources appear before the split, and that fallback arms behave as expected.

If each arm needs a target number of completed responses, add quotas in Deploy. See Set Survey Quotas. For planning expected n by arm, see Sample Allocation Across Condition Arms.

Preview: Walk Each Arm

Related Help

  • How Randomization Works in Survey Experiments
  • Vignette Experiment Example
  • List Experiment Question
  • Set Survey Quotas
  • Export Survey Data to Stata, R, and Python

More Survey-Experiment Methods

How to randomize treatment conditions, design conjoint and vignette experiments, and run a list experiment — then keep the assignment in the export.

  • How Randomization Works in Survey Experiments — Understand even (block/balanced) vs. random (independent) assignment and where each choice appears across the app.
  • Conjoint Analysis Survey Design — Design conjoint tasks for preference experiments with randomized attributes, levels, and choice-based outcomes.
  • Vignette Experiment Example — Build a vignette experiment with a single-alternative conjoint, Display as Vignette, and exported attribute levels.
  • List Experiment Question — Run a list experiment with a control list, a treatment list, Flow assignment, and a count — then export the assigned arm.
  • Online Survey Experiments — Design online experiments with random assignment, treatment blocks, manipulation checks, quotas, and usable exports.
  • Sample Allocation Across Condition Arms — Plan arm sizes, assignment percentages, stratification, and quota targets before collecting responses.
  • Begin a Survey With Different Conditions — Drag a Logic Split from the Block Bank to assign respondents to two, three, or more paths before the first question.
  • Randomize Survey Questions and Answer Options — Randomize questions, answers, rows, columns, or sliders when order effects could shape responses, and keep randomization order in export.

Frequently Asked Questions

How do I randomize treatment conditions in a survey?

Open Flow, add a condition set, name each treatment and control arm, then assign respondents randomly or by a prior variable. Preview every arm and export the assigned condition with the response data.

Can I cap how many people enter each treatment arm?

Yes. Set quotas on condition arms after you know the target sample size and expected screen-out rate, and give quota-full respondents a clear ending path.

How do I check that each arm works before fielding?

Use Preview to walk each condition path, then submit at least one test response per arm and confirm the exported condition field distinguishes treatment, control, and any secondary arm.