Input-question answer conditions
Use a visitor's saved answer to decide what to show them. You'll find the comparisons for each input type, including numbers, email domains, dates, and missing answers.
You can target visitors using an answer they've already given you, such as how many projects they manage or the domain in their email address.
What it checks
Input-question conditions compare a visitor's saved answer to a specific question. Find the question under Segments / Questions, then choose an operator for its input type.
The available operators depend on the question. A Number question offers numeric comparisons, while an Email question offers email-domain comparisons. You select a question, not a generic expression or a position in a flow.
When to use it
Use these conditions to compare a saved input answer or check whether a visitor has answered at all.
For multiple-choice answers, use segment membership conditions. For an answer event during the current page view, use Question Engagement.
Numeric comparisons inside Scoring & Data use score and variable conditions. Those have different rules for missing values.
Options
Whether they've answered
Every supported input type offers has answered and has not answered. A newly selected input question starts with has answered, with no value field.
has answered means there's a saved, non-null answer for the question. Zero and an empty text answer still count. has not answered checks the opposite.
For every other operator, an absent or null answer doesn't match. For example, domain is not with example.com on an Email question won't include someone who has never answered it.
If a question was deleted or is otherwise unavailable, no operator matches, including has not answered. The editor tells you the question is no longer available so you can select a valid one. A missing question isn't the same as an existing question with no answer.
Numeric answers
Number, Currency, Slider, Rating, and NPS questions share these operators:
| Choose | Enter |
|---|---|
| equals | One number |
| does not equal | One number |
| greater than | One number |
| greater than or equal to | One number |
| less than | One number |
| less than or equal to | One number |
| between | A minimum and maximum |
between includes both endpoints. Enter the minimum first and the maximum second. Non-finite numbers and reversed ranges aren't valid comparison values.
These comparisons need a stored numeric answer. Text such as "10" isn't converted into a numeric answer by the condition. Currency comparisons use the stored number and don't convert currencies.
Text answers
Short text and Long text questions offer equals, contains, starts with, is empty, and is not empty, as well as the two presence operators.
Comparisons are case-insensitive. equals checks the entire text, contains finds text anywhere within the answer, and starts with checks the beginning. Each takes one text value. They don't use the shared text operators' comma-separated alternatives or wildcard patterns.
is empty and is not empty need no value field. They trim whitespace before checking length, so an answer containing only spaces is empty. Ordinary text comparisons don't trim the answer.
An absent answer isn't an empty answer. is empty matches only an existing text answer whose trimmed content is empty. has not answered checks for absence.
Website answers
Website answers offer the text operators above, plus domain is and domain ends with.
Domain operators use the hostname from a valid HTTP or HTTPS website answer. Enter a domain such as example.com, not a full URL. Matching is case-insensitive.
- domain is with
example.commatches that hostname exactly. - domain ends with with
example.commatchesexample.comand subdomains such asdocs.example.com. - It doesn't match
notexample.com.
An invalid website value or unsupported URL scheme won't pass a domain comparison, even if the text contains the domain. Choose a text comparison when you want to check the text itself rather than a valid hostname.
Country answers
Country answers offer is, is not, and is any of. Choose one country for is or is not, and one or more for is any of.
These conditions use the country selected in the answer, not the visitor's IP location. For inferred location, use location conditions.
A missing, null, or non-text country answer won't pass is not. A saved empty or unrecognized text value can pass it because this comparison doesn't validate the saved country code. An empty is any of selection doesn't match.
Phone number answers
Phone number answers offer country is, country is not, and country is any of, with country selectors.
RightMessage uses the country stored with the answer when it's available. Otherwise, it can use a normalized international phone number if the calling-code information identifies one unambiguous country. An absent, invalid, or ambiguous country doesn't match, including with country is not.
This checks the phone answer's country, not the visitor's current physical location. It doesn't check whether the phone is active or can receive messages.
Email answers
| Choose | Enter | What it checks |
|---|---|---|
| domain is | One domain | An exact match |
| domain ends with | One domain | That domain or a subdomain |
| domain is not | One domain | A different valid email domain |
| domain is any of | Multiple domains | Any exact match |
| is a business email | No value | The domain is outside the bundled personal-email domain list. |
| is a personal email | No value | The domain is on that list. |
Domain comparisons are case-insensitive and need a valid email domain. domain ends with respects domain boundaries. example.com includes mail.example.com, but not notexample.com.
Business and personal email checks use a domain list. They don't verify employment, company size, mailbox ownership, deliverability, or consent. An address on a custom domain doesn't confirm a business relationship.
Name answers
Name answers offer first name equals, first name contains, has last name, and has no last name.
The first two take one text value and compare case-insensitively. They read the separately stored first-name part, rather than guessing from the first word of a full-name string.
The last-name operators need no value. has no last name requires a nonempty first-name part and an empty last name. It won't match an absent answer or an answer with no usable name parts.
Address answers
Address answers offer country is, country is not, country is any of, region equals, city equals, and postal code starts with.
Country operators use country selectors. Region, city, and postal-code operators take a text value and compare case-insensitively. Postal-code matching checks the beginning of the value, not a geographic radius.
These conditions read the separately stored address parts. They don't geocode a plain address string, infer a city from a postal code, or fall back to IP geolocation. If a required part is missing, the condition doesn't match, including a negative country comparison.
Date answers
| Choose | Enter | When it matches |
|---|---|---|
| before | One date | The answer is earlier. |
| after | One date | The answer is later. |
| on | One date | The answer is the same calendar date. |
| between | Start and end dates | The answer is within the range, including both endpoints. |
| in the past | No value | The answer is before today. |
| in the future | No value | The answer is after today. |
| within the next days | A nonnegative whole number of days | The answer is between today and that future date, including both. |
| within the last days | A nonnegative whole number of days | The answer is between that past date and today, including both. |
Relative comparisons use the visitor's local calendar date. in the past and in the future exclude today. Both within operators include today and the endpoint, so zero days means today.
Ranges must be in ascending order. Day counts must be nonnegative safe integers. Invalid or missing date answers don't pass a date comparison.
These conditions check a saved date answer. Date conditions instead compare the current date with a schedule you configure.
Examples
WorkForge (opens in a new tab) could check whether someone's project-count answer is between 10 and 50. Both 10 and 50 would match.
A separate has answered condition for an Email question in the same All group would also require an email answer.
Things to know
Which saved answer it uses
Conditions read the latest answer saved for that question in the browser. They don't search every historical response or require the visitor to answer again on the current page.
An answer can be available across flows in the same browser. The condition sets no expiration time. Browser storage, clearing data, another device, and supported answer-sync behavior all affect which answer is available.
An answer isn't automatically shared across devices just because the question appears in both flows.
Answers that are still loading
A condition can stay unresolved while input answers load, including while a synced answer waits for its contact profile. Loading hasn't finished, so this isn't the same as has not answered.