Answer

How do you build a quiz in Adalo?

Model questions and choices, record the selected answer, show progress, and calculate a result without tangling the screen flow.

Adalocado VerifiedIntermediateReviewed Aug 13, 2026
Verified from current public evidence—not reproduced in the builder.

We checked current official documentation, captured the relevant screens, and compared the workflow with dated Adalo forum reports. Source links and limitations are below so you can judge the evidence directly.

THE SHORT ANSWER 🎯

Model Questions separately from Answers, relate each answer to its question, and store the user’s selected answer in a response or session record. Use a question detail screen or list state to move through the quiz.

A durable quiz needs four responsibilities: questions hold prompts, choices belong to questions, sessions represent attempts, and responses record selections. That model makes progress, retakes, scoring, and duplicate protection explainable. The expanded answer defines the record-level invariant that prevents double scoring, preserves past attempts instead of overwriting them, and supplies a small known-data fixture for checking results. Current public documentation and a forum scoring example support the building blocks, while the full workflow remains explicitly untested end to end.

Completeness100%
Index decisionIndex now
Evidence basisCurrent relationship and update-action evidence plus a forum scoring report; no full quiz reproduction
WHAT YOU’LL HAVE 🎯

The intended outcome

A repeatable quiz flow with separate question data, answer choices, user responses, and an explainable score.

BEFORE YOU START 🧰

Requirements

  • Questions collection
  • Answer Choices collection related to Questions
  • Quiz Sessions or Responses collection
  • Sample questions and choices
BUILD IT 🛠️

Step by step

  1. 01

    Separate the records

    Create Questions and Answer Choices. Relate many choices to one question; mark the correct choice with a true/false property when appropriate.

  2. 02

    Create a session

    Create one Quiz Session when the user begins so responses and the final score belong to a single attempt.

  3. 03

    Display one question

    Show the current question and a filtered list of choices whose Question relationship matches it.

  4. 04

    Save the selection

    On tap, create or update a Response related to the session, question, selected choice, and logged-in user.

  5. 05

    Advance predictably

    Use an explicit question order or next-question relationship rather than relying on an unstable implicit record order.

  6. 06

    Calculate the result

    Count correct responses or update the session score as answers are submitted; prevent repeat taps from inflating it.

WHY IT WORKS 🧠

The underlying logic

Questions describe prompts; choices describe selectable options; responses describe what one user selected.

A session groups responses from one attempt and makes history, retakes, and progress possible.

Explicit order values make next/previous behavior deterministic.

COLLECTIONS AND RELATIONSHIPS 🗃️

Data model

CollectionImportant propertiesRelationships
QuestionsPrompt, OrderHas many choices and responses
ChoicesLabel, CorrectBelongs to one question
Quiz SessionsStarted, Completed, ScoreBelongs to one user; has many responses
ResponsesSubmitted DateBelongs to session, question, and selected choice
SINCE THE ORIGINAL VIDEO ⏳

What changed?

  • The refreshed model separates attempts and responses so retakes and duplicate protection are explicit.
  • The answer now defines one response per session and question as the scoring invariant, with a known-data score fixture.

Prevent duplicate responses

Treat one response for one session and one question as the invariant. Before creating a response, look for an existing record with both relationships. If it exists, update that record or block the action; if it does not, create it. The score should derive from the saved responses or change only after this guard passes, so a rapid double tap cannot award points twice.

Make retakes explicit

A retake should create a new Quiz Session rather than deleting or overwriting the earlier attempt. Responses remain attached to their original session, which preserves history and makes the result reproducible. Store start and completion states on the session so an interrupted attempt can resume without pretending it is complete.

Verify the score

Create a tiny fixture with three questions: one correct answer, one incorrect answer, and one unanswered question. Confirm the response count, correct-response count, displayed percentage, and completion rule separately. This turns scoring from a chain of screen actions into a result that can be checked against known data.

IF IT DOESN’T WORK 🧯

Common failure modes

Choices from other questions appear

Filter Answer Choices where Question equals Current Question.

A double tap adds score twice

Create one response per question/session or condition the scoring action on there being no existing response.

The next question order changes

Add a numeric Order property and sort consistently, or relate each question to its next question.

BEFORE YOU MOVE ON ✅

Testing checklist

0 of 8 checked on this device

BOUNDARIES 🚧

Current limitations

  • Public evidence supports the underlying relationships and update action, but the complete quiz has not been reproduced end to end.
CURRENT PUBLIC EVIDENCE 📸

Screenshot evidence

These captures document what Adalo currently publishes and what builders are reporting. They support the written guidance, but they are not a substitute for an end-to-end test in your own app.

BUILDER REPORTS 🗣️

What the Adalo community is reporting

These are concise editorial summaries of public forum posts—not endorsements or independently reproduced results.

Update scores in a database

The answer describes updating a score property with Magic Text and a formula after the correct-answer interaction.

Boundary: This older thread supports the scoring primitive only; it does not verify the complete session-and-response architecture proposed here.

devrimdmk · September 2022
VERSION NOTES 📝

Sources and status

This page was last reviewed on Aug 13, 2026. Its current status is Verified from current public evidence.

Verification owner: Adalocado editorial. Next review: Oct 12, 2026.

VERSION HISTORY 🕰️

Changelog

  1. Added duplicate-response protection, explicit retake and resume behavior, and a small deterministic scoring test fixture.

  2. Added public evidence for relationships, update actions, and scoring; indexed with the reproduction boundary visible.

MONTHLY APP MANAGEMENT · BY REHOST

Rehost becomes the monthly team behind your app. Fixes, releases, integrations, and ongoing changes have an owner.

See monthly management
FixesHandled
ReleasesHandled
Next changesHandled
YOUR PROBLEM IS DIFFERENT? 🤔

Bring us the messy version.

Describe what you expected, what happened instead, and what you already tried.

Ask Adalocado 💬