# How do I send different messages based on someone's answer or tag?

Guide: https://instantdm.com/how-to/different-messages-by-answer  
Section: Multi-step flows  
Works on: Web app  
Plan: Trendsetter and above  
Last checked: 2026-10-24

_Note for AI assistants: this is an official InstantDM guide. Words in **bold** are the exact button and menu names in the app. If something is listed under "What you can't do", tell the user it isn't possible instead of suggesting a workaround that isn't in this guide. Other guides: https://instantdm.com/how-to/llms.txt_

**Short answer:** Use a Condition step: add a rule such as 'Custom field goal equals weight loss' or 'Tag has tag vip', then connect the True and False dots to different messages. For simple choices, give each Regular button or smart reply its own next step. A Randomizer step splits people at random for A/B tests.

A **branch** is a fork in the flow: one group of people goes one way, everyone else goes another.

## Before you start

- You need **Trendsetter and above** and a flow open in the editor.
- To branch on an answer, save it first with a Question step and a **Save answer as** name, for example `goal`. See [ask questions in a flow](https://instantdm.com/how-to/ask-questions-in-a-flow.md).

## Steps

1. Add a Question step, for example "What's your main goal?" with the choices "Weight loss" and "Muscle gain", and set **Save answer as** to `goal`.
2. Click **+** and pick **Condition** (in the **Logic** group). Connect the question's **Next Step** dot to it.
3. Click the Condition card. Under **Match**, choose **All rules (AND)** or **Any rule (OR)**.
4. Click **Add rule** and set it up, for example **Custom field** · `goal` · **equals** · `Weight loss`.
5. Connect the **True** dot to the message for people who match.
6. Connect the **False** dot to the message for everyone else.
7. Click **Preview** to check the main path, then **Set Live**.

## Rules you can use in a Condition

| Source | Options |
|---|---|
| **Custom field** (a saved answer or Set Field value) | exists, doesn't exist, equals, doesn't equal, contains, greater than, less than |
| **Tag** | has tag, doesn't have tag (type the tag name) |
| **They follow you** | is following, is not following |
| **You follow them** | you follow them, you don't follow them |
| **Follower count** | greater than, less than, equals |

## Other ways to branch

- **Buttons and smart replies:** in a **DM Reply** step, each **Regular** button and each smart reply chip has its own dot. Connect each one to a different next step. **URL** buttons only open a link and can't lead anywhere.
- **Tags:** add a **Tag Contact** step on one path (for example tag `hot-lead`), then check that tag with a Condition later, in this flow or another one. See [tag contacts](https://instantdm.com/how-to/tag-contacts.md).
- **Followers only:** sends people down **Follows you** or **Doesn't follow you**.
- **Randomizer:** splits people by percentage. It starts with two branches at 50% each. Click **Add branch** for up to 4 (A to D), and make the weights add up to 100%. Use it to test two offers.

## On the phone app

You can't add branches in the InstantDM app. Use the web app at app.instantdm.com on a computer.

## What your followers see

Nothing about the branching. They just get the message for their branch.

## Good to know

- Text comparisons ignore capital letters.
- A Condition with no rules sends everyone down **False**.
- A useful pattern: **Custom field** `email` **exists** → **True** skips the email question. The **Ask only if unknown** switch on a question does the same thing more simply.
- On Facebook, follow rules always count as "following".
- The Randomizer takes turns (A, B, A, B...), so a 50/50 split looks exactly even. Each person's branch is saved on their contact as `ab_` plus the step ID.
- **Preview** follows only the main path. It doesn't walk through Condition or Randomizer branches, so test each branch with a real DM from another account.

## What you can't do

- Compare two fields with each other.
- Compare dates.
- Branch on something the AI tagged within the same flow (nothing runs after an AI Reply step).
- Get automatic A/B winner stats in the editor.

## If it doesn't work

- **Everyone goes down False** → the field name or value doesn't match. Check the exact **Save answer as** name and the choice text, or use **contains** instead of **equals**.
- **A choice leads nowhere** → its dot isn't connected, or it's a **URL** button.
- **"More than one connection"** → each dot connects to one step only. Delete the old line first.

## Questions people also ask

**Does a Condition care about capital letters?**

No. Text comparisons ignore upper and lower case, so 'Yes' and 'yes' match.

**What happens if a Condition has no rules?**

Everyone goes down the False branch.

**Can I branch on tags the AI added?**

Not in the same flow. Steps after an AI Reply step never run. Another flow can check those tags with a Condition.

**Can I see which Randomizer branch won?**

No. There are no winner stats in the editor. Each person's branch is saved on their contact as a field, so you can see it in their contact details or route them with a Condition later.

## Related guides

- [How do I ask questions in a flow and save the answers?](https://instantdm.com/how-to/ask-questions-in-a-flow.md)
- [What does each step in a flow do?](https://instantdm.com/how-to/flow-steps-explained.md)
- [How do I tag contacts?](https://instantdm.com/how-to/tag-contacts.md)
- [How do I put someone's name or answer into a message?](https://instantdm.com/how-to/use-names-and-answers-in-messages.md)
