Qualtrics sits behind a large share of the surveys routed through exchanges. The setup has two halves: capture the session ID when the respondent arrives, and use it in the right redirect when they leave. Qualtrics renames menus from time to time, so treat labels below as a guide and follow its own documentation if your account looks different.

You need

  • The survey, programmed and ready to test.
  • The project's four endlinks from the ResearchDart console or the buyer API:
https://researchdart.com/s/end/complete?rdid={RDID}
https://researchdart.com/s/end/terminate?rdid={RDID}
https://researchdart.com/s/end/overquota?rdid={RDID}
https://researchdart.com/s/end/quality?rdid={RDID}

1. Point the project at the survey

Set the project's survey URL to the Qualtrics anonymous link with the placeholder:

https://yourbrand.qualtrics.com/jfe/form/SV_xxxxxxxx?rdid={RDID}

2. Capture the ID with embedded data

  1. Open Survey flow.
  2. Add an Embedded data element and move it to the very top.
  3. Create a field named exactly rdid and leave the value empty so Qualtrics fills it from the URL.
  4. Save the flow.

The field name has to match the URL parameter, including case. This is the step whose failure is invisible until reconciliation: every endlink arrives with an empty ID and nothing can be credited.

3. Complete redirect

Add or edit the End of survey element at the end of the main flow, choose to customise it, and redirect to a full URL, piping the embedded data field:

https://researchdart.com/s/end/complete?rdid=${e://Field/rdid}

4. Terminate redirect

Wherever the screener disqualifies someone, add a Branch with that condition and an End of survey element inside it that redirects to:

https://researchdart.com/s/end/terminate?rdid=${e://Field/rdid}

This is where most setups break. A branch without its own end element falls through to the complete redirect, and every screen-out is recorded as a complete. It is also how ghost completes start: the router records a complete that your data shows as a partial. Ghost completes covers finding them.

5. Over quota redirect

For each Qualtrics quota, set the action when the quota is met to end the survey with a custom redirect to:

https://researchdart.com/s/end/overquota?rdid=${e://Field/rdid}

Keep it separate from terminates. Over quotas qualified.

6. Quality redirect

For attention checks, add a branch for failures that redirects to:

https://researchdart.com/s/end/quality?rdid=${e://Field/rdid}

7. Decide how completes are protected

Qualtrics survey flow does not compute HMAC signatures, and a signing secret must never go into JavaScript on a survey page. Two safe options:

  • Turn off signed endlinks for the project and rely on session checks, first-outcome-wins and a minimum LOI. Reasonable for low-incentive consumer work.
  • Report completes server-to-server with the buyer status API from a system you control, before or instead of the redirect. Worth the setup on B2B and other high-incentive studies.

8. Test every path

On the project page, click Run sandbox test on an allocation, open the survey from the sandbox page, and take each path: complete, terminate, over quota, quality. After each run, check the sandbox page shows the outcome you expected, the rdid in the redirect matches the sandbox session, and you land on the supplier's page for that outcome. Sandbox sessions never count toward quotas or totals, so run it as often as you need.

If the project uses pre-survey screening, you will see the short holding page before Qualtrics opens. That is expected.

Symptoms and causes

Symptom Likely cause
Endlinks arrive with an empty rdid Embedded data element missing, not at the top, or named differently
Screen-outs recorded as completes A branch has no end-of-survey element of its own
Respondents see the Qualtrics thank-you page End of survey is not set to redirect
Over quotas recorded as terminates Quota action uses the terminate URL

Questions readers ask

What is the Qualtrics piped text for the ResearchDart session ID?
With an embedded data field named rdid, use ${e://Field/rdid} in the redirect URL.
Can Qualtrics sign endlinks?
Not from survey flow alone, and signing secrets must never be placed in browser JavaScript. Turn off signing for the project or report outcomes with the status API from your own server.
How do I test Qualtrics redirects without affecting quotas?
Use the sandbox test on the project's allocation in the ResearchDart console. Sandbox sessions do not count toward totals.
Sample routing Allocations, signed links, outcomes, redirects and postbacks.