What are you trying to achieve?
I need participants who fail the eligibility screening to have the survey immediately completed and see a custom “not eligible” message.
What did you try to make it work?
I created a Complete survey logic rule for disqualifying responses. I checked the response values, the Logic panel, and the JSON trigger. I also saved the survey, generated a new Pilot link, and tested in a private browser session.
What specifically went wrong when you tried that?
The logic works correctly in Preview: selecting a disqualifying “No” response immediately completes the survey and shows the “not eligible” message.
However, in Pilot, the exact same response does not trigger completion. The participant continues to the next page and sees “You are eligible to participate in this study.”
There is no error message. The issue is that the Complete survey trigger works in Preview but is ignored in Pilot.
Thanks! I checked the survey JSON. My eligibility questions appear directly under "pages" → "Page3_Eligibility Screening Questions" → "elements", and I don’t see a block name in the JSON.
The complete trigger is currently:
{elig_age_18} = 2 or {elig_english} = 2 or {elig_gender} = 3 or {elig_us_resident} = 2 or {elig_mst_third} = 2
It works in Preview but still does not fire in Pilot. Am I still supposed to add a block name in this case? If so, where can I find the block name for this survey?
With {elig_age_18} = 2, the Complete Survey logic works correctly in Preview, but not in Pilot.
I then explicitly added the block name and changed it to {block_1/elig_age_18} = 2. After doing that, the logic no longer works in Preview and it still does not work in Pilot.
Interestingly, the Pilot output data does save the response as "block_1/elig_age_18": "2".
So the block prefix appears in the Pilot data, but using {block_1/elig_age_18} in the expression does not make the Complete trigger work.
Am I referencing the block/question incorrectly in the logic expression, or does something else need to be configured in the Flow/block itself?
{elig_age_18} = 2 → works in Preview, but not in Pilot
{block_1/elig_age_18} = 2 → works in neither Preview nor Pilot
{block_1/elig_age_18} = '2' → works in neither Preview nor Pilot
The Pilot output data does save the response as "block_1/elig_age_18": "2".
Also, other conditional logic in the same survey works correctly in Pilot, so the issue seems specific to the Complete Survey trigger rather than survey logic in general. The other conditional logic that works correctly in Pilot is question visibility logic (showing a question based on a previous response), not page navigation or skip logic.
I also rechecked the Pilot output after selecting “No” for age. It consistently saves "block_1/elig_age_18": "2", so the response itself is being captured correctly in Pilot; it is the Complete Survey trigger that is not firing.
update: I also tested the survey using version 2024.1.0.
In the current 2026 version, the Complete Survey logic appears to be ignored in Pilot, and the survey simply continues to the next page.
In version 2024.1.0, the logic does terminate the survey correctly when an ineligible response is selected. However, it does not display the conditional “not eligible” Thank You page/message that I set up — it just terminates the survey with a window
So at this point, 2024.1.0 gets me closer because the termination logic works in Pilot, but I still cannot get the correct conditional completion message to display.
I’ve had another thought – which again I can’t test.
It might be that the Complete logic isn’t functional but you could achieve what you want by using page display logic. Show the pages following the disqualifying questions if the participants are eligible and and show a page with a not eligible message to the participants who should be disqualified .
Another update: I found something interesting. If I remove the survey version from the URL entirely and launch the survey using the original/unversioned /survey/?surveyId=... URL, the logic works correctly in Pilot and the conditional “thank you not eligible” completion message is displayed correctly.
So currently I am seeing three different behaviors:
Current/versioned URL: Complete Survey logic is ignored and the survey continues to the eligible page.
2024.1.0: the Complete Survey trigger works, but the conditional completion message is not displayed correctly.
Original/unversioned /survey/ URL: both the Complete Survey trigger and the conditional “not eligible” message work correctly.
Would it be safe to use the original/unversioned URL for the actual study? I also need to make sure that page-by-page/incomplete response saving still works.
I can also try your suggestion of replacing the Complete Survey trigger with page display logic if that would be more reliable with the current survey interpreter.