When you send a survey via an Email Campaign, BlockSurvey already has the context of who your respondents are - their contact details, segment, or role stored in your Contact List. In many cases, certain questions in your survey are irrelevant or redundant for campaign respondents, and showing them creates unnecessary friction.
BlockSurvey provides a built-in text variable called Campaign that is automatically set to true whenever a respondent opens the survey through a campaign link. You can use this variable with Display Logic to show or hide any question based on whether the respondent came through a campaign or a regular link - no manual filtering needed.
Common use cases include hiding a Contact Form (since you already have their details), skipping an introductory demographic question, or showing a campaign-only follow-up question. This guide walks you through exactly how to set it up.
How It Works
The Campaign variable works as a flag:
Campaign = true - the survey was opened via a campaign link. The respondent is already in your contact list.
Campaign = false - the survey was opened directly (e.g., via a public link). Contact details are unknown.
By setting Display Logic on the Contact Form question to "Display only if Campaign is equal to false", the question appears only to direct respondents and is hidden from campaign respondents automatically.
Pre-requisites
A survey with at least one question you want to show or hide based on campaign context.
An Audience / Contact List set up in your workspace (see guide).
An Email Campaign created and linked to this survey.
Step-by-Step Setup
Step 1 - Verify the Campaign Variable
Open your survey in the Design screen and go to Settings in the left panel.
Scroll down and click Text Variables under Assignment & Formulas
Confirm that the Campaign variable appears in the list.
Note: The Campaign variable is a system default - you do not need to create it. It is available in every survey automatically.
Step 2 - Add Display Logic to Any Question
In the Builder, select the question you want to show or hide for campaign respondents.
Click the Logic tab in the question editor (next to Options and Assignment).
Scroll down to Display Logic and click Add Condition.
In the first dropdown, select Campaign.
In the operator dropdown, select is equal to.
In the value dropdown, select false.
What this means: Display this question only if Campaign is false. When a respondent arrives via a campaign link, Campaign is automatically set to true, so the condition is not met - and the question is hidden. To do the reverse (show a question only to campaign respondents), set the value to true instead.
Step 3 - Send Your Campaign
Go to Audience β Email Campaign (or Text Campaign) in the left panel.
Select your Contact List and compose your email. The survey link embedded in the campaign will automatically carry the campaign flag.
Click Send Invite to dispatch the campaign.
How It Behaves at Survey-Taking Time
When a respondent opens the survey through a campaign link (email), BlockSurvey automatically sets the Campaign variable to true. Since the Display Logic condition requires Campaign to be false, the condition is not met, and the question is hidden from view. The respondent moves through the survey without ever seeing it.
When a respondent opens the survey through a direct or public link, the Campaign variable remains false. The condition is met, so the question is displayed as normal. This ensures that respondents arriving outside of a campaign can still provide any information you need from them.
That's it! You've successfully configured your survey to show or hide questions based on whether respondents arrive via a campaign link or a direct link. This keeps your survey lean and relevant for every audience.
If you are still running into issues, contact us at [email protected] at any time.