Go/No-Go Task
Version: v1 (current)
The Go/No-Go task is a fundamental measure of response inhibition and impulse control in cognitive psychology. Participants respond rapidly to frequent "Go" stimuli while withholding responses to infrequent "No-Go" stimuli, creating a prepotent response tendency that must be inhibited.
Overview
Response inhibition is a core executive function that enables us to suppress inappropriate or unwanted actions. The Go/No-Go task creates conflict by establishing a dominant response pattern (responding to Go trials) and then requiring occasional inhibition (No-Go trials). This simple paradigm has proven invaluable for studying impulse control, attention deficits, and frontal lobe function across clinical and healthy populations.
The task is particularly sensitive to individual differences in impulsivity and has been widely used to study ADHD, substance abuse, aging effects, and other conditions affecting executive control. By manipulating the frequency of No-Go trials, researchers can adjust task difficulty and examine how inhibitory demands affect performance.
Scientific Background
Key Findings:
- Response Inhibition Model: Go/No-Go tasks engage frontal-basal ganglia circuits, particularly the right inferior frontal cortex and pre-supplementary motor area
- Error Types: Commission errors (false alarms on No-Go trials) reflect inhibition failures; omission errors (misses on Go trials) reflect attention lapses
- No-Go Frequency Effects: Lower No-Go frequency (e.g., 20%) makes inhibition harder by strengthening the prepotent Go response
- Speed-Accuracy Trade-off: Faster responses on Go trials often predict more commission errors, revealing the cost of rapid responding
Theoretical Framework: The task taps into proactive and reactive control mechanisms. Proactive control involves anticipatory adjustments (e.g., slowing down when No-Go trials are expected), while reactive control involves last-moment inhibition when a No-Go stimulus appears.
Seminal References:
- Donders (1969): Early work on choice reaction time and response inhibition
- Schachar & Logan (1990): Foundations of inhibitory control measurement
- Aron et al. (2014): Neural basis of response inhibition
Why Researchers Use This Task
Researchers choose the Go/No-Go task to:
- Assess impulse control in ADHD, substance use disorders, and aging
- Study frontal lobe function and executive control development
- Examine speed-accuracy trade-offs in decision-making
- Measure effects of interventions (medications, training, brain stimulation) on inhibition
- Investigate individual differences in impulsivity and self-regulation
- Screen for attention deficits in clinical or research settings
Configuration Options
Response Mode
| Parameter | Type | Default | Description |
|---|---|---|---|
| Time-based trials | boolean | True | If enabled, trials auto-advance after stimulus duration. If disabled, participant must click a button to advance (useful for self-paced practice). |
Visual Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| Font size (px) | number | 96 | Size of stimulus text in pixels (range: 8-400). |
Timing Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| Fixation duration (ms) | number | 500 | Duration of fixation cross before stimulus appears. |
| Stimulus duration (ms) | number | 2000 | How long stimulus is displayed (minimum 50ms). In time-based mode, this is also the response deadline. |
Practice Trials
| Parameter | Type | Default | Description |
|---|---|---|---|
| Enable practice | boolean | False | Enable practice trials with visual feedback (green checkmark for correct, red X for incorrect). |
| Practice trials | array | [] | Array of practice trial configurations (same structure as main trials). |
Keyboard Shortcuts
Researchers can customize the keyboard bindings used during the task:
| Parameter | Type | Default | Description |
|---|---|---|---|
| Show keyboard hint | boolean | True | Display an on-screen hint showing the configured key |
| Go key | key | Space | Key for responding to Go trials |
| Go action label | text | "for Go trials" | Label shown in the keyboard hint |
Instructions
Four instruction types are available:
| Instruction Type | Description |
|---|---|
| Main instructions | Shown before task starts on a dedicated page with camera/screenshare preview. |
| Hint instructions | Quick reference shown via "?" button during task execution. |
| Practice instructions | Shown before practice trials begin (if practice enabled). |
| Trials instructions | Shown after practice, before main trials (if practice enabled). |
Trial Configuration
Each trial in the trials spreadsheet is defined by:
| Column | Type | Required | Description |
|---|---|---|---|
| stimulus | string | Yes | Character or word to display (e.g., "O", "X", "GO", "STOP"). |
| type | Go or Nogo | Yes | Trial type: respond (Go) or withhold (Nogo). |
| fixation_ms | number | No | Fixation duration override for this trial (default: 500ms). |
| stimulus_ms | number | No | Stimulus duration override for this trial (default: 2000ms). |
| block | string | No | Optional block label for grouping trials in analysis. |
Example Trial Sheet
stimulus | type | fixation_ms | stimulus_ms | block
----------|-------|-------------|-------------|-------
O | go | 500 | 1000 | main
O | go | 500 | 1000 | main
X | nogo | 500 | 1000 | main
O | go | 500 | 1000 | main
O | go | 500 | 1000 | main
X | nogo | 500 | 1000 | main
Design Tips:
- No-Go Frequency: Use 20–30% No-Go trials to create inhibitory demand without excessive difficulty.
- Trial Order: Randomize or pseudorandomize to prevent anticipatory patterns.
- Stimulus Duration: 500–2000ms is typical; shorter durations increase difficulty.
- Balanced Blocks: Consider separate blocks with different No-Go frequencies to examine context effects.
Participant Experience
Unmoderated/Moderated Mode
- Main Instructions: Participant reads task instructions and clicks "Start"
- Practice Phase (if enabled):
- Practice instructions appear
- Practice trials with visual feedback (✓ or ✗)
- Feedback shows after each response or timeout
- Trials Instructions (if practice was enabled): Brief reminder before main trials
- Main Trials:
- Fixation cross (if configured)
- Stimulus appears (e.g., "O" for Go, "X" for No-Go)
- Go trials: Press spacebar (or click "Go" button if not time-based)
- No-Go trials: Do nothing (withhold response)
- No feedback during main trials
- Completion: Task ends after all trials
Strictly Moderated Mode
Same flow, but researcher controls advancement via moderator dashboard. Participant cannot advance trials independently.
Response Methods
- Keyboard: Press spacebar to respond on Go trials (default -- configurable by researcher)
- Button: Click "Go" button (only visible in non-time-based mode)
- No-Go: Simply wait for the trial to end without pressing anything
All keyboard bindings are configurable by the researcher in the study configuration. The keys listed above are the defaults.
Data Output
Participation Log Events
The task logs high-resolution events for each trial:
Trial Start (gonogo_trial_start):
{
"trial_index": 1,
"stimulus_id": "gonogo_0_1",
"stimulus": "O",
"type": "go",
"block": "main",
"fixation_ms": 500,
"stimulus_ms": 1000
}
Stimulus Onset (gonogo_stimulus):
{
"trial_index": 1,
"stimulus_id": "gonogo_0_1",
"stimulus": "O",
"type": "go",
"block": "main"
}
Response (gonogo_answer):
{
"trial_index": 1,
"stimulus_id": "gonogo_0_1",
"source": "keyboard",
"raw_key": "Space",
"stimulus": "O",
"type": "go",
"response_value": "go",
"response_correct": true,
"outcome": "hit",
"latency_ms": 456,
"block": "main"
}
Response Outcomes
| Outcome | Trial Type | Response | Meaning |
|---|---|---|---|
| Hit | Go | Go | Correct response on Go trial |
| Miss | Go | No-Go | Failed to respond on Go trial (omission error) |
| False Alarm | No-Go | Go | Incorrectly responded on No-Go trial (commission error) |
| Correct Rejection | No-Go | No-Go | Correctly withheld response on No-Go trial |
Summary Artifact
At task completion, a JSON summary is generated (gonogo_summary_<taskIndex>.json):
{
"task_kind": "gonogo",
"task_index": 0,
"total_trials": 40,
"overall": {
"total": 40,
"valid_responses": 40,
"correct": 36,
"accuracy": 0.90,
"mean_rt_ms": 523,
"mean_correct_rt_ms": 512,
"timeouts": 0,
"hits": 28,
"misses": 2,
"false_alarms": 2,
"correct_rejections": 8,
"hit_rate": 0.933,
"false_alarm_rate": 0.20
},
"by_type": {
"go": {
"total": 30,
"correct": 28,
"accuracy": 0.933,
"mean_rt_ms": 523,
"hits": 28,
"misses": 2
},
"nogo": {
"total": 10,
"correct": 8,
"accuracy": 0.80,
"false_alarms": 2,
"correct_rejections": 8,
"false_alarm_rate": 0.20
}
},
"trials": [...]
}
Key Metrics:
- Hit Rate: Proportion of Go trials with correct responses (should be high)
- False Alarm Rate: Proportion of No-Go trials with incorrect responses (commission errors)
- d' (Sensitivity): Can be calculated from hit rate and false alarm rate using signal detection theory
- Response Time: Faster RT often correlates with higher false alarm rate
Design Recommendations
Trial Counts
- Minimum: 30 trials (20 Go, 10 No-Go) for basic assessment
- Standard: 60–120 trials (70–80% Go, 20–30% No-Go)
- Long: 200+ trials for fine-grained individual differences
Timing Parameters
| Parameter | Recommended Range | Notes |
|---|---|---|
| Fixation duration | 300–700ms | Alerts participant to upcoming trial |
| Stimulus duration | 500–2000ms | Shorter = harder; 1000ms is common |
No-Go Frequency
- Easy: 40–50% No-Go (balanced, easier inhibition)
- Moderate: 20–30% No-Go (typical, creates prepotent Go response)
- Hard: 10–15% No-Go (very rare, very difficult inhibition)
Counterbalancing
Consider:
- Stimulus-Response Mapping: If using letters, counterbalance which is Go vs. No-Go across participants
- Block Order: If using multiple blocks with different No-Go frequencies
- Practice: Ensure practice includes both Go and No-Go trials
Practice Trials
- Recommended: 10–20 practice trials (70% Go, 30% No-Go)
- Purpose: Familiarize participants with stimuli and response requirements
- Feedback: Enable visual feedback during practice only
Common Issues and Solutions
Issue: Too Many Misses on Go Trials
Symptoms: High omission error rate (>10%)
Possible Causes:
- Stimulus duration too short
- Participant not understanding instructions
- Attention lapses
Solutions:
- Increase
stimulus_msto 1500–2000ms - Simplify instructions; emphasize speed of responding on Go trials
- Add practice trials with feedback
- Check if participant is fatigued (too many trials)
Issue: Too Many False Alarms on No-Go Trials
Symptoms: False alarm rate >40%
Possible Causes:
- No-Go trials too rare (strong prepotent Go response)
- Participant responding too fast (speed-accuracy trade-off)
- Insufficient practice
Solutions:
- Increase No-Go frequency to 30–40% to reduce difficulty
- Add practice trials emphasizing accuracy over speed
- Lengthen fixation duration to give more preparation time
- Provide clearer visual distinction between Go and No-Go stimuli
Issue: Task Too Easy (Near-Perfect Performance)
Symptoms: Both hit rate and correct rejection rate >95%
Solutions:
- Decrease No-Go frequency to 15–20% (make inhibition harder)
- Shorten
stimulus_msto 500–750ms (reduce response time) - Use more similar Go/No-Go stimuli (e.g., "X" vs. "X+" instead of "O" vs. "X")
Issue: High Variability in Response Times
Symptoms: RT standard deviation >300ms
Possible Causes:
- Participant strategy switching (sometimes fast, sometimes careful)
- Distractions in environment
Solutions:
- Emphasize consistent responding in instructions
- Ensure quiet testing environment
- Remove outlier trials (e.g., RT <100ms or >2000ms) from analysis
Example Study Configurations
Configuration 1: Standard Inhibition Assessment
Purpose: Basic inhibition screening
Settings:
- Total trials: 60
- Go trials: 42 (70%)
- No-Go trials: 18 (30%)
- Stimulus duration: 1000ms
- Fixation duration: 500ms
- Practice: 12 trials with feedback
Expected Performance:
- Hit rate: 85–95%
- False alarm rate: 15–30%
- Mean RT: 400–600ms
Configuration 2: High Inhibitory Demand
Purpose: Challenging inhibition for high-functioning adults
Settings:
- Total trials: 100
- Go trials: 80 (80%)
- No-Go trials: 20 (20%)
- Stimulus duration: 750ms
- Fixation duration: 400ms
- Practice: 20 trials
Expected Performance:
- Hit rate: 90–98%
- False alarm rate: 25–45% (higher due to strong Go prepotency)
- Mean RT: 350–500ms
Configuration 3: Developmental Study (Children)
Purpose: Adapted for children ages 7–12
Settings:
- Total trials: 40 (shorter session)
- Go trials: 28 (70%)
- No-Go trials: 12 (30%)
- Stimulus duration: 1500ms (longer response window)
- Fixation duration: 700ms
- Stimuli: Simple shapes or emojis instead of letters
- Practice: 16 trials with extensive feedback
Expected Performance (varies by age):
- Hit rate: 75–90% (younger = lower)
- False alarm rate: 30–50% (younger = higher)
Configuration 4: Context Effects Study
Purpose: Examine how No-Go frequency affects inhibition
Settings:
- Block 1 (High No-Go): 50% No-Go (30 trials)
- Block 2 (Low No-Go): 10% No-Go (30 trials)
- Compare false alarm rates and RT across blocks
- Counterbalance block order across participants
Hypothesis: Lower No-Go frequency (Block 2) should increase false alarms due to stronger prepotent response.
References
-
Aron, A. R., Robbins, T. W., & Poldrack, R. A. (2014). Inhibition and the right inferior frontal cortex: One decade on. Trends in Cognitive Sciences, 18(4), 177–185.
-
Braver, T. S., Barch, D. M., Gray, J. R., Molfese, D. L., & Snyder, A. (2001). Anterior cingulate cortex and response conflict: Effects of frequency, inhibition and errors. Cerebral Cortex, 11(9), 825–836.
-
Donders, F. C. (1969). On the speed of mental processes. Acta Psychologica, 30, 412–431. (Original work published 1868)
-
Schachar, R., & Logan, G. D. (1990). Impulsivity and inhibitory control in normal development and childhood psychopathology. Developmental Psychology, 26(5), 710–720.
-
Simmonds, D. J., Pekar, J. J., & Mostofsky, S. H. (2008). Meta-analysis of Go/No-go tasks demonstrating that fMRI activation associated with response inhibition is task-dependent. Neuropsychologia, 46(1), 224–232.
Related Tasks: Flanker Task, Stroop Task, Stop-Signal Task