How to manipulate fonts in CSS with questfox

It is possible to use different fonts in a questfox survey.

If you have a corporate font that is not publicly available you should talk to your representative to help install this font on the server.

Public fonts:

If you plan to use a font out of the variety that Google is offering in the goolge font project we recommend to chose a font from this website:

Import font on the fly from google servers

/*Import of font into project */
@import url(‘’);

/*Definition of font for your project */
body { 
    font-family: ‘Satisfy’, sans-serif;

How to manipulate the question text on top of the question?

.questionText > span > p{
font-size: 1.5em;
font-weight: 600;

/*Definition of font */
body { 
    font-family: ‘TeleNeo’, sans-serif;

CSS Selectors in questfox

  • There are two ways to affect the text layout of questfox projects

A) Definition of CSS on client area level (-> Branding)

B) Definition of CSS on project level (-> Project characteristics)

  • All text elements in questfox can be modified via CSS
  • There are certain CSS selectors for the various text elements in questfox
  • Some text elements share the same CSS selectors
  • Various properties can be applied
  • A typical questfox project with different question types and decision trees demands up to 16 different CSS selectors

How to format the text underneath indicating Imprint and Data Security Rules

CSS selector: .branding_sub_text
Effect: Defines the small branding text on the down right side of the project window
CSS code example
color: #022D61;
font-size: 1.2em;
font-weight: bold;
text-align: left;

CSS for Analytic Hierarchy Process (AHP) / Decision Tree

The AHP is a very specific idea inside of questfox. Following the algorithms of Thomas L. Saaty we developed out own approach of how to ask questions in the pairwise way.

CSS selector: .ahp_context
Effect: Defines the title text of a decision tree question
CSS code example
color: #022D61;
font-size: 1.2em;
font-weight: bold;
text-align: left;
CSS selector: .ahp_contextDetail
Effect: Defines the description text underneath the title of a decision tree question
CSS code example
color: #022D61;
font-size: 1.2em;
font-weight: bold;
text-align: left;
CSS selector: .ahp_question
Effect: Defines the question text of a decision tree question
CSS code example
color: #022D61;
font-size: 1.2em;
font-weight: bold;
text-align: left;

CSS selector: .ahp_versusText
Effect: Defines the versus text of a decision tree question
CSS code example
color: #022D61;
font-size: 1.2em;
font-weight: bold;
text-align: left;

CSS Selectors #ahp_option_left #ahp_option_right
Effect: Defines the versus text of a decision tree question
CSS code example
color: #1d537f;
font-size: 1.4em;
font-weight: bold;
text-align: right;
color: #1d537f;
font-size: 1.4em;
font-weight: bold;
text-align: left;
} shows you the device agnostic world of questfox

We are about to launch the mobile device agnostic version of questfox.
Soon you can experience questfox on the biggest or smallest screens without changing anything.
questfox will be the professional market research solution which contains.


Using your own font in questfox

Fonts can support or destroy your research project

It is possible to integrate your own font into a research project.

Make sure that your font makes sense in research terms. Sometimes it is also helpful to not disclose who is asking by exactly not using your own corporate identity elements.

There are several ways to do that.

Importing Webfonts into questfox

You can integrate fonts which allow the using via internet. Please see the description of how to do that on fontawesome.

Import of Google Webfonts into CSS is explained here:

Inside of the google fonts there are different ways of how to import a font into your project.

@import url(‘;);

Using your own non-public font

A lot of companies do have their own corporate design font. In case you plan to use that font this is the way:

  1. Make sure that you have the right to use the font.
  2. Install the font on an accessible server
  3. Integrate the font into the questfox project CSS

Example Official Berlin Font “Berlin Type”

Sometimes fonts are published for the use. Make sure that you do cover the licence agreement when using this font for market research.

We downloaded the font of the Berlin Senate here:

The font is installed on the questfox server now.

You just have to implement the following code into your project’s CSS

body {
font-family: ‘WirBerlin’, arial;

In case some computers/phones are not able to use this font there is a second font defined that should be available on any device (arial in this case).

Have fun creating more beautiful looking questionnaires.

questfox server now operating on german premises

The GDPR rules are already implemented into questfox for years. But still more and more german clients ask about the server infrastructure as they need to include this into their contracts.

From today on is running on a Microsoft Azure server system located inside of Germany.
It does not change anything for the user, but for some people it just feels better. 😉

Independent from this step we continue to be devoted to the highest standards of data security. After 15 years of operating the questfox system we know that the user itself is the risk category no. 1. So keep your passwords secure and never share your logins with anyone.

NEW Maths function in questfox

Mathematics is clearly defined for centuries now. questfox is offering you a set of mathematical operations since the beginning of our development from the standard toolbox of database manipulation.

See our special questfox functions under

Besides those questfox specific procedures we are using a bunch of functions to interact with mathematics. The Jace.NET framework is now used to support your calculation inside of questfox. More info under

Here is the list of functions so far to be used inside of questfox calculations.

FunctionArgumentsDescriptionMore Information
logeloge(A1)Natural Logarithm
log10log10(A1)Common Logarithm
lognlogn(A1, A2)Logarithm
sqrtsqrt(A1)Square Root
ifif(A1, A2, A3)If FunctionIF A1 IS true THEN A2 ELSE A3
maxmax(A1, …, An)Maximum 
minmin(A1, …, An)Minimum 
avgavg(A1, …, An)Average 
medianmedian(A1, …, An)Median 
randomrandom()RandomGenerate a random double value between 0.0 and 1.0

What do you have to do?

ln-Funktion, Gesetze und Regeln

Syntax check from ln to loge

Please check your questfox project for the correctness of the syntax. For example: The formerly implemented function ln is now called loge. You now need to switch to this new version in order to perform those calculations in the future with questfox.

How to calculate with missing values in questfox

We are also adding functions to this world of math by creating our own formula for the market research world being able to create a sum or an average respecting the fact, that someone did not see or answer a question. Our operations for the so called “missing values” help you to analyze correctly long before you can do similiar things with sophisticated tools like SPSS. See our idea of how to treat missing values

When you then want to calculate with a variable that contains “missing values” you will face trouble in the analysis. questfox has two special functions to take that into account.

The syntax is described here

qf_avg()Returns the average value of the input values (seperated by comma) and excludes missing, not seen and not answered values.
qf_avg(@81c4af14-4857-49b8-9dd7-449b33e73e60@ , @7151c6d2-48af-4619-8318-39b62aa99b07@)
qf_sum()Returns the sum of the input values (seperated by comma) and excludes missing, not seen and not answered values.
qf_sum(@81c4af14-4857-49b8-9dd7-449b33e73e60@ , @7151c6d2-48af-4619-8318-39b62aa99b07@)
Calculations with missing values.
Live Calculation in questfox

We suggest to ad an invisible number inside the questionpage and calculate right into that hidden variable. You can later use this value as a trigger for questlogix or to show this value live to the respondent.

Missing values in market research with questfox

The phenomenon is not recent. People do not answer to questions. If someone does not answer to a question we are talking about so called missing values.

Also see the Wikipedia article:

questfox knows 3 different kinds of missing values.

Missing value -99

someone clicked explicitly on “no answer”

Missing value -77

the question was not even shown to the repsondent (due to skipping/hiding procedures)

Missing value -88

classic missing value meaning the question was shown, but the answer was not mandatory so the respondent could click through

A good idea is to make someone click on each question, but this means that you will have to add the option “no answer / do not want to tell” to every answer where you require a mandatory click. Even if you do some of the questions or items will not be shown and therefore create a Missing value (-77).

Why is it negative with two digits in questfox?
The answer is pretty simple. If you use a scale from 1 to 5 and your default missing value is 9 (as some of us learned in their statistics class), you may not realize that you have an issue with missing values in your report. In the questfox default you would easily see that something is wrong in your definition of missing values.

These three default values are assigned to every question type and can be changed under “Define Missing Values” in the edit answer section.

3 types of missing values in online research

When using SPSS these values can be defined as discrete missing values.

Discrete missing values in SPSS

Now it is up to you if you can force your population into answering all the questions.

questfox maintenance 1st of March 2021

The world is turning faster than ever. In order to cope with this we have to work on our servers as of today the 1st of march 2021.

The servers are still available but some data intensive services like export or analysis may make you wait longer than normally.

Sorry, for any inconvenience but you will feel a more powerful version of questfox after the maintenance procedures.

Handling of internal and external IDs for re-direct links

The questfox system is a little picky in terms of letting other tools know about internal IDs. But here is the description of a work around if you need to use the internal or the external ID.

Internal response ID

Internal questfox ID: The internal ID is a unique ID that is generated for every participant.

It looks similar to this:

If you export the data you will find that internal ID in the first row of the data set.

Example of IDs in questfox

Now here is the trick how to use that ID inside your questionnaire and for re-direct links.

  1. Create a new TEXT question
  2. Hide this new TEXT question from being shown in the questionnaire
  3. Create a questlogix with calculation
  • Trigger: At the beginning of the survey
    Calculation (pick the target variable, in which you want to overwrite the internal ID.
Example of copying internal and external ID
  • Just type into Calculation Formula:


Using Calculation to copy the value from the internal system into the questionnaire

This procedure will right at the start of the survey write the internal ID into that new variable that is accessible to you. You now have access to that field as if it was a regular question. For example you can transfer this value into a panel tool by adding the new variable code to a link.

The code can be found on top of each variable.

Example of a response ID / question ID in questfox

Add your variable to the link in brackets like {yourVAR}


External Response ID

External IDs are pretty common in the interaction with people. You may find them as Panel ID; Customer ID; Student ID etc. In normal studies startet from questfox you may not even use an external ID. It is possible to upload addresses into questfox using this external ID. In case you are in interaction with an inviting panel company they will definitively send an ID over to questfox to be treated as an external ID. Normally this value does not leave the survey system. But sometimes you may want to re-direct into other tools and back and may need that ID.
The procedures is identical to the one described above for internal IDs. The only thing you need to remember is that the internal description of any kind of external ID in questfox is called:


Again you may want to create a hidden TEXT Variable and overwrite its value at the start of the survey with qf_ExternalID.

Using Calculation to copy the value from the internal system into the questionnaire

And after that procedure you can use that ID as often as you want.

VariableName of the variable
Internal ID for each questionnaireqf_RespondentsID
External ID (only in connection with other partner)qf_ExternalID