A Menu Test asks respondents to browse a menu image, open its sections, and build an order by choosing items and quantities. aytm Logic lets you put that order to work: pipe what a respondent ordered into later questions, branch your survey based on what and where they ordered, and filter your results by menu item or section.
Like everywhere else in the survey editor, Menu Test logic is written in [square brackets] in most text input fields. Type an opening bracket [ to turn on autocomplete and be guided through the available references and commands.
In This Article
- Terminology
- How Menu Test Logic Works
- Menu Test References
- Piping a Respondent's Order
- Branching on the Order
- Limitations & Unsupported Forms
- Filtering Your Results
Terminology
This article assumes you're familiar with aytm Logic basics (references, piping, and commands). For a full primer, see the aytm Logic Reference Guide. Two terms are worth a quick refresher here, since the rest of this article leans on the distinction between them:
| Term | Definition |
|---|---|
| Reference |
The "address" you write to point at a part of your question—for
a Menu Test, that's the question itself (Q#),
a menu item (Q#A#),
or the menu image (Q#I).
|
| Pipe |
Using a reference on its own to drop the respondent's own answer
into later question text, answers, or open-ends. Wrapping that
same reference in a command such as
[Show if…]
branches instead.
|
How Menu Test Logic Works
Menu Test logic uses the same aytm Logic syntax you'll recognize from other question types, written inside square brackets. It's case-insensitive, and menu items are referenced by their position (A1, A2, and so on) in the order you added them.
Throughout this article, Q# stands for your Menu Test question's number—if it's the first question in your survey, that's Q1. The reference table below uses Q# to describe each form generically; every worked example after it uses Q1 as a concrete stand-in.
Menu Test References
A Menu Test question exposes the following references. Use them on their own to pipe text, or inside a command such as [Show if…].
| Syntax | Represents | When to use |
|---|---|---|
Q#
|
The question | Reference the Menu Test question |
Q#A#
|
An answer (menu item) |
Reference a menu item by its position (A1
= the first item you added)
|
Q#I
|
The image | Reference the menu image |
Piping a Respondent's Order
Mention a reference without any command to pipe the respondent's own order into later question text, answers, or open-ends. These are the same modifiers (R, N, V, C) you'd use with any other question type—here's what each one returns specifically for a Menu Test's order. All of the modifiers below reflect what that specific respondent actually ordered.
| Statement | What it pipes |
|---|---|
[Q1R]
|
The full order as a readable list—every item's name joined by commas, with "and" before the last one (for example, "Fish Tacos, Carne Asada, and Churros"). |
[Q1R1]
|
The name of the first item the respondent ordered |
[Q1A1R]
|
The name of menu item A1, if the respondent ordered it |
[Q1RN]
|
The number of different items ordered (items with a quantity above zero) |
[Q1A1RN]
|
1
if item A1 was ordered, otherwise
0
|
[Q1A1RV]
|
The total quantity of item A1 ordered (added up across every section) |
[Q1R1V]
|
The quantity of the first item the respondent ordered |
[Q1C]
or
[Q1RC]
|
The respondent's order comment |
The numeric modifiers (RN, RV) return values you can compare. For example, use [Show if Q1RN>=3] to show a follow-up only to respondents who ordered three or more different items.
Branching on the Order
On questions that follow the Menu Test, use the respondent's order to control the survey flow. Reference a menu item on its own to test whether it was ordered. To test where it was ordered from, add in section—a command exclusive to the Menu Test, not available on other question types.
⚠️ Note: While you're building the survey, you reference a section by its name inside an
in sectionclause—not by a number. Section numbers (SQ#) come into play only when you filter your results, further down in this article.
| Statement | Shows the question if… |
|---|---|
[Show if Q1A1]
|
The respondent ordered menu item A1 |
[Show if Q1A1 in section "Tacos"]
|
The respondent ordered item A1 from the section named "Tacos" |
[Show if Q1A1 in section "Tacos" and not Q1A1 in section "Burgers"]
|
The respondent ordered A1 from "Tacos" but not from "Burgers" |
To invert any of these rules, swap Show if for Hide if. For example, [Hide if Q1A1 in section "Tacos"] hides the question for respondents who ordered item A1 from that section.
Section names are matched case-insensitively against the section's title, so "tacos" and "Tacos" behave the same.
Limitations & Unsupported Forms
Masking isn't available for the Menu Test
Unlike most question types, the Menu Test can't take part in [Mask by …] or [rev-mask by …] masking—neither as the question being masked nor as the source of the mask:
- A mask rule written on a Menu Test question (such as
[Mask by Q1]) is flagged as an invalid rule ("Mask rule is not allowed for this type of question") and must be removed before the survey can launch. - A rule like
[Mask by Q1]on a later question, whereQ1is the Menu Test, is simply ignored—no masking is applied.
💡 Tip: To carry a respondent's order into a later question, pipe it (
[Q1R],[Q1A1R], and so on) and branch with[Show if …]or[Hide if …]on what and where they ordered. That covers the "only show the follow-up for items they actually ordered" use case masking would otherwise handle.
Using a Menu Test inside a Smart Loop
A Menu Test question can be placed inside a Smart Loop just like any other question—it's handled by the platform, with no Menu-Test-specific setup.
⚠️ Note: The Menu Test's image is fixed once set—its sections are drawn against that specific picture, so nothing in aytm Logic can swap it out. This applies everywhere, not just inside a Smart Loop: you can't bind it to a Smart Loop image variable, reference it with
[Q#I]to redefine it, or replace it with an[asset "uid"]command. All three are blocked, whether inside a loop or anywhere else in the survey—to change the menu image, edit it directly on the Menu Test question.
Reference forms that aren't available
A few reference forms are not available for the Menu Test:
- A question-level quantity value on its own (
[Q#RV])—reference a specific item's quantity with[Q#A#RV]instead. - Section-level references such as
[Q#SQ#R]. - Addressing a section by number while building the survey—reference sections by name in an
in sectionclause. Section numbers (SQ#) are only used when filtering results.
If you delete a menu item or section that's referenced in logic, the reference is flagged (highlighted orange, with a ? in front) and must be fixed before the survey can launch—the same as any other broken reference.
Filtering Your Results
On the results page, the Filters panel lets you narrow your respondents to those who ordered a particular item, interacted with a particular section, or ordered an item from a particular section. The checkboxes build the aytm Logic expression for you; you can also click a menu item (A1, A2) or section (SQ1, SQ2) label in the metrics tables to jump straight to that filter. This is where section numbers (SQ#) come into play—unlike at build time, results filtering can address a section by its number.
| Expression | Keeps respondents who… |
|---|---|
Q1A1
|
Ordered menu item A1 |
Q1SQ1
|
Opened section 1 |
Q1A1 in section Q1SQ1
|
Ordered item A1 from section 1 |
Q1A1 in section "Appetizers"
|
Ordered item A1 from the section named "Appetizers" |
A few things worth knowing as you build filters:
-
in sectionmeans the item was ordered from that section (it ended up in the cart with a positive quantity)—not merely that the respondent opened the section without ordering. To capture everyone who opened a section, useQ#SQ#on its own. - Checkboxes within the same level combine with and (for example, ordered both A1 and A2). Combine expressions across levels—and use
and not—to build finer cohorts, such as "ordered this item from one section but not another". - Respondents who chose the None / N/A option can be isolated too—the N/A choice has its own item reference like any other menu item.