Documentation

Completing Surveys

When and Why to Use

Use complete() to end the survey for a respondent who has answered everything you need from them. The respondent's response is recorded as a complete and they are shown a thank-you screen.

By default, every survey shows the same thank-you copy. If you want to show study-specific text — for example, a brand-appropriate message, instructions for redeeming a reward, or a link to follow up — pass a message to complete().

complete(message=None)
ParameterTypeRequiredDescription
messagestrnoCustom message shown to the respondent on the completion screen. If omitted, the default is used.
Example: default completion
from survey import Survey
s = Survey(**globals())

# Add questions here

s.complete()
Example: custom completion message
from survey import Survey
s = Survey(**globals())

# Add questions here

s.complete(
    message="Thanks for taking part! Your responses help us shape the next generation of our product. "
            "Watch your inbox for a follow-up email with your incentive details."
)
Notes
  • The completion message supports the same markdown formatting as question text, so you can include bold, italics, and links.
  • Translations of the completion message are generated automatically alongside the rest of the survey when multiple languages are configured.
  • Use complete() once at the end of a respondent's path. If a respondent should be terminated rather than completed, use terminate() instead — terminations are recorded as a different status and are not shown the completion screen.