Sona Systems

Sona puts a one-time survey code into the study link, Open Lab carries it through the session, and a Redirect component hands it back at the end. Sona grants the credit.

Sona's guide describes the same setup

Sona's own page at sona-systems.com/help/openlab/ covers the current version of Open Lab and describes the same steps as this page.

Setup

  1. Copy your study link (Open Lab)

    Open the study, go to Invitations → Public links, and copy the Study link:

    https://app.open-lab.online/studies/ABCDE

    There is no longer an “invitation with a permanent link”. This is its replacement, and it is permanent.

  2. Set the Study URL (Sona)

    Paste that link into the study's Study URL field in Sona and add the survey code as a named parameter:

    https://app.open-lab.online/studies/ABCDE?survey_code=%SURVEY_CODE%

    Use the name survey_code exactly. It is the name Sona's completion URL uses, so Open Lab can link the two on its own in step 4. Another name works too, but then you have to point step 4 at it by hand.

  3. Copy the client-side completion URL (Sona)

    From the Study Information page in Sona. It has roughly this shape, with your own institution, IDs and token:

    https://YOURSCHOOL.sona-systems.com/webstudy_credit.aspx?experiment_id=123&credit_token=9185d436…&survey_code=XXXX

    Your URL may not end in XXXX

    What sits after &survey_code= differs between Sona installations: XXXX, %SURVEY_CODE% and %PARTICIPANT_CODE% are all in circulation. It does not matter which you have, and you do not need to edit it. Open Lab replaces that value with the participant's real code, whatever it says, including a bare &survey_code= with nothing after it.

    Client-side, not server-side

    Sona offers both. The server-side URL is for platforms that call Sona from their own servers; Open Lab does not do that. What Open Lab does is send the participant's browser to a URL at the end of the study, which is exactly what the client-side one is for.

  4. Add a Redirect component (Open Lab)

    This is the step that has genuinely moved: there is no redirect field on the study edit page any more. Redirecting is a component you place in the study itself — and it takes Sona's URL as it comes, without editing it.

  1. Open the Study Builder and add a Redirect component last
    It has to be the final component, after your task — a same-tab redirect ends the session.
  2. Choose “Paste a completion URL”
    Then paste the provider's URL exactly as it was given to you, placeholders and all. Nothing needs deleting. Whatever your Sona URL has after &survey_code= — XXXX, %SURVEY_CODE%, %PARTICIPANT_CODE% or nothing — is replaced, so it does not matter which one you have.
  3. Check the parameter that carries your value
    Under Parameters in this URL, survey_code should already read linked automatically to survey_code from the study link. Open Lab does this for any parameter whose value is a placeholder, such as XXXX or %SURVEY_CODE%. If it has not happened, click Replace with a session value yourself. Everything else in the URL is sent exactly as it arrived.
    The value comes from survey_code on the study link. Change it below if you used a different name there.
  4. Leave Redirect behavior on “Stay in this tab” (the default)
    Open Lab writes the participant's completion before navigating away, so nothing is lost by them leaving the page.

The URL preview under the editor shows the finished link with a placeholder in place of the real value. If the value is missing when the study runs — the participant arrived without it — the parameter is dropped rather than sent with whatever the provider's URL originally carried.

The preview should read:

https://YOURSCHOOL.sona-systems.com/webstudy_credit.aspx?experiment_id=123&credit_token=9185d436…&survey_code=SURVEY_CODE_VALUE

SURVEY_CODE_VALUE is the editor's placeholder. Each participant's real Sona code goes there when the study runs.

A placeholder is only replaced once it is linked. Open Lab does not substitute %NAME% tokens when the study runs — that syntax belonged to the previous version. The editor links them when you paste the URL instead. If you undo that link with Send as provided, the placeholder is sent to Sona exactly as written, Sona answers Invalid survey_code, and the editor marks the parameter in amber.

One consequence worth stating plainly, because a Sona URL ending &survey_code=%PARTICIPANT_CODE% invites exactly the wrong move: do not choose Participant code as the value source. The token is Sona's, not a request for Open Lab's participant code, and the value you owe Sona is its own survey code — which is what the custom parameter above returns.

You may also notice the session URL reads ?lp_survey_code=3703 while the study is loading. That prefix is only how the parameter travels into the task — the name to use in the Redirect component is survey_code, without it.

Which names are yours and which are Sona's

NameWho decides itWhere it appears
survey_codeYours to chooseSona's name for the parameter in its completion URL. Use the same name on the study link (step 2) and Open Lab links the two on its own. If you choose another name there, point the Redirect component at it by hand (step 4).
%SURVEY_CODE%Fixed by the providerSona's placeholder, replaced with the participant's real code when it builds the link. Type it exactly.
experiment_id, credit_tokenFixed by the providerAlready inside the completion URL you copied in step 3. Leave them alone.

Do not send the participant code

The old guide asked you to check that the redirect URL ended in %PARTICIPANT_CODE%. Do not do that, and in particular do not choose Participant code as the value source in step 4.

This is worth separating from step 3, because the two look alike. Finding %PARTICIPANT_CODE% already in the completion URL Sona gave you is not a problem: step 4 replaces it, and you can leave it exactly as it is. Adding it yourself, or pointing the parameter at Open Lab's participant code because the token seems to ask for it, is the problem.

Open Lab generates its own participant codes — P12345 and similar — which Sona has never seen and will reject, so no credit is granted. The value Sona needs back is the survey code it issued, which is why step 4 uses the custom parameter.

Testing

Take the study once yourself through Sona's own preview link rather than the plain Open Lab link — the survey code only exists once Sona generates it, so that is the only way to see the whole round trip. Do this before releasing the study to students.

Sona grants the credit as soon as its completion URL arrives with a valid survey code, so a credit that stays pending means Sona never received one. To find out why, open the study's Participants page, enable the survey_code column under Columns → Custom parameters, find the student's code and look at their Status:

  • No row has the code: the code never arrived. Check the Study URL in Sona (step 2).
  • Enrolled: the student did not reach the end of the study, so the redirect never ran. They may have closed the page early, or finished in a second session that they opened on another device without the Sona link. That session shows as a Completed row with an empty survey_code cell.
  • Completed, with an amber “Sent without survey_code” label: the redirect ran but had no code to send. Please contact us with the study code.
  • Completed, without that label: the redirect sent the code. Check that the Target URL is the completion URL of this Sona study (step 3). The participant's page shows what the redirect sent under Progress. Students who finished before 9 October 2026 have no such record.

You can grant the occasional credit by hand from that column, since it holds each student's Sona code. The column appears once at least one participant has arrived carrying the parameter.

Students can also recover a missing credit themselves. When a student who already finished opens the study again through Sona, the “already completed” page offers a button back to Sona with their code, and Sona either grants the credit or says it already has. This is on by default for Sona completion URLs; it is the Let participants who already finished go back to this URL option under Redirect behavior in the Redirect component.

One line worth adding to the study information in Sona: students who need to stop and continue later should open the study again from Sona. Open Lab keeps their code when they come back in the same browser, whichever way they return; on another device, only the Sona link is sure to bring it along.

Related