Gorilla is an online experiment builder. We provide an easy-to-use graphical interface which allows you to create complex studies in an intuitive way.
To read about some of the fantastic research that's already been conducted using Gorilla, check out our Spotlights page.
This guide will walk you through how to get started and create your first Gorilla experiment!
If you're new to Gorilla, we recommend you start by attending or watching a recording of our onboarding workshop. This will take you through the main tools that are available in Gorilla.
After that, the next step is to get stuck in! We've created Gorilla to be as flexible as possible, which means that it's possible to create most experiments using our existing tooling. We're proud of how much Gorilla can do, but it can feel like there's a lot to learn. It's okay if you don't immediately know how to create everything you want - get started on creating what you can and you should pick up more as you go!
The place you'll probably spend most time on Gorilla is in your Projects. This is where you'll create your experiments (more information on that in the next section of this walkthrough).
If you get stuck, we have extensive support documentation. Our search tool is great - if there's some information you're looking for, try typing key words into our search bar. If you're still struggling, contact our Support Desk - they're super friendly and happy to help. We also have a Gorilla Facebook Group, where you can get help from our community of Gorilla users.
Other resources to check out are our Samples and Open Materials, which contain tasks that have already been created in Gorilla - copying these can save you a lot of time in creating your own tasks!
To change your personal information and preferences, head to your My Account page.
Gorilla pricing works on a pay-per-participant basis. Signing up for an account, creating your experiment and accessing our tools are all completely free - you only pay for the data you collect. To learn more about purchasing participant tokens and Gorilla Pricing see our Pricing FAQ page.
As you navigate around Gorilla, you will often come accross little icons - click these to get more support information!
The first thing you'll need to create is a project. Projects are like folders - keeping all your questionnaires, tasks and experiments organised in one place. You can include as many tasks, questionnaires and experiments as you want within one project.
To create a project, just go to My Projects, either from the homepage menu or from the menu in the top right corner of any Gorilla page. Then, click Create New Project and name your project.
Next, you'll need to add some content!
Gorilla takes a modular approach to experiment creation. You should create all the tasks and questionnaires you want separately (within your project folder). Then, put them together using our Experiment Tree.
We recommend getting started by creating a task or questionnaire. It's easier to create your Experiment Tree once you have a first draft of your tasks and questionnaires.
However, maybe you want to create a broad overview of the structure of your experiment first. In this case, you can start by creating an experiment. Our Experiment Tree provides an intuitive graphical interface for you to design your experiment flow. You'll need to create a placeholder questionnaire or task (or both) to put in the tree. Just a questionnaire or task with one page will do the job and allow you to create the overall flow of your study.
It is not possible to delete a Task/Questionnaire/Experiment/Project on Gorilla... instead you can Archive it!
Often, the easiest way to create a task in Gorilla is to clone it from an existing task. We have a selection of classic tasks that have already been created in Gorilla. You can clone them straight into your own project, then make any changes needed for the task to do exactly what you want.
It's worth having a look through these before deciding to create a task from scratch: you may find someone has already created something very similar to the task you want!
Depending on the tool you are using, you can either clone or export & import a task into your own project. You can follow our Cloning Guide for more information on how to do this.
We also have our Gorilla Open Materials: a fantastic resource with shared materials from other researchers. Open Materials are often in folders which contain multiple tasks, questionnaires or experiments shared by the same Gorilla user. Try putting key words into the search bar to help you find a task that's similar to yours!
See our full documentation on how to clone tasks in our How To: Cloning guide.
Creating reaction-time tasks in Gorilla doesn't require you to do any coding! We have created a powerful and intuitive Task Builder that allows you to create tasks for your experiment using all sorts of stimuli. Participants' responses can be collected in a variety of ways, including touch, mouse and keyboard. There are also advanced options that allow you to provide feedback to your participants, on both accuracy and reaction times, during a task. Respondents' reaction time data is stored automatically and ready for your analysis!
To create your own task, click the red 'Create' button in the top right corner of your project folder. Then, select Tasks/Questionnaires and choose Task Builder 2.
Tasks in Gorilla are made up of displays, which in turn are made up of screens. To add a new display, click the +New Display button (shown in the image below). You will then be prompted to name your display.
To add a new screen to your display, click the '+New Screen' button to the right of existing screens inside the display. You will be prompted to choose a template for your new screen: the simplest option is a blank screen, or you can use one of our pre-made templates as a base. You can fully edit any template, so don't worry that you'll get stuck with a format you want to change!
Typically, a display would contain the entirety of one type of trial in your task. For instance, if you have a series of trials that are each made up of a fixation cross presentation, followed by an image presentation, followed by a keyboard response, you would contain that trial within one display, but multiple screens. In Gorilla, you can present one display multiple times, with slight changes to the content (for example, to present a different image) each time. This will make more sense once you become familiar with how Gorilla Tasks allow you to order and repeat your displays - keep reading this walkthrough to learn how to do this using task spreadsheets!
Gorilla automatically saves your work as you go. However, when you have completed a significant amount of work on your task, you should also commit it. Questionnaires and Tasks need to be commited before they can be added to an Experiment.
Committing also gives you a form of version control: if you decide you want to return to an earlier version of your task, you can restore any of your previous commits.
To read our full support page on creating tasks, see our How To: Task Builder guide.
Components are the building blocks of Gorilla task screens. You can add multiple components together to create an Object.
A component is what we call any piece of content or any feature in the task builder. They vary from simple Stimuli components (text, images), to Response components (text entry, a button), all the way through to more advanced components (canvas painting, mousetracking).
You can find a full list of the components available in Gorilla in the Task Builder Components Guide, with information on how to use each one. To add an object to a screen, click Add Object. Then, you can choose from the list of components. To add more components to your Object, click the Add Component button. When you add an object to a screen, you should position it in the location you want it to appear to your participants.
Then, you will need to configure the components. You may need to choose which content you wish to show to your participants. This could be an image, some text, a video, depending on the component. For example, you may need to choose the Image you wish to display to participants from your uploaded Stimuli.
To add text, just type in the text you want. If you are using a Markdown Text component, you can use markdown or HTML to change the appearance of the text.
Alternatively, you can bind content to the spreadsheet, to change stimuli on a trial-by-trial basis.
For more information on the different configuration settings of the component you are using, have a look at our Components Guide.
In Gorilla, the spreadsheet drives the task. Consequently, you will always need a spreadsheet even for the simplest task.
You can think of the displays you create as the units of your task. The spreadsheet tells Gorilla what order to display those units in. You can reuse a display as many times as you want, giving you multiple similar trials. For instance, you could start with a display which contains your instructions, then present your trial display 4 times to give your participants 4 trials.
Spreadsheets are also used for adding in information that changes. This could be a piece of content, such as having a different image presented on each trial. It could also be an answer, for instance if you ask your participants a maths question and you want to enter the correct answer to compare against.
You can add rows and to your Gorilla task inside Gorilla, in the Spreadsheet tab. However, if you want to add lots of content to your spreadsheet at once, it's usually easier to download a copy of the spreadsheet, make the changes in your favourite spreadsheet software (such as Excel), and then reupload the new version to Gorilla.
If you want to randomise your trials, you can choose one of our Spreadsheet Randomisation components.
We have created a short walkthrough on how to build a classic Relational Reasoning Task in Gorilla! To view the walkthrough visit the Step-by-Step guide.
The Questionnaire Builder is the ideal tool for creating consent forms, demographic questionnaires, surveys, or providing additional information to participants outside of the task itself.
Questionnaires are also made up of different objects. An object is normally a type of question, such as a text entry box or a Likert scale. It can also be a piece of content: some text or an image. To find out more about Questionnaire objects, check out our Questionnaire Objects guide.
Sometimes, you might want to use the answer a participant provides in a questionnaire to change the content they see later in your experiment, or to reject them from your experiment altogether. This is where Gorilla's Store comes in. To learn more about this, check out our Store guide.
Gorilla automatically saves your work as you go. However, when you have completed a significant amount of work on your questionnaire, you should also commit it. Questionnaires and Tasks need to be commited before they can be added to an Experiment. Committing also gives you a form of version control: if you decide you want to return to an earlier version of your questionnaire, you can restore any of your previous commits.
To read our full support page on building questionnaires, see our How To: Questionnaire Builder guide.
In Gorilla, the Experiment Builder allows you to design and control every aspect of your study: from experimental design and participant recruitment, to secure data storage and protection.
The Design tab is where you'll create the flow of your Gorilla experiment.
The component parts of a Gorilla experiment are known as Nodes.
Every experiment starts with a Start node (or occasionally several) and ends with a Finish node.
In between, you will put task and questionnaire nodes, containing the tasks and questionnaires you have created. If you want to create your experiment before your tasks and questionnaires, you could use some of our samples as placeholders. Alternatively, you could create very simple versions of your tasks and questionnaires and update them later. You can easily update the version of a task or questionnaire node that is used in an experiment by clicking the Utilities Button, then selecting Update All Nodes.
For most experiments, you will also want to add some Control Nodes! We have a complete listing of the nodes available on Gorilla in the Experiment Tree Nodes Tooling Reference Guide. They allow you to randomise your experimental conditions, to branch your participants based on their previous answers, and even to create multi-day experiments by including a timed delay!
Gorilla automatically saves your work as you go. However, when you have completed a significant amount of work on your experiment, you should also commit it. Experiments need to be committed before you can start participant recruitment. Committing also gives you a form of version control: if you decide you want to return to an earlier version of your experiment, you can restore any of your previous commits. The commit version that each participant experienced will be recorded, so you can re-commit your experiment partway through recruitment.
To read our full support page on creating experiments, see our How To: Experiment Builder guide.
This is where you can decide how to recruit participants. The easiest method is a simple link - Gorilla will provide a link to your experiment, which you can then distribute. There are also other recruitment methods which allow you greater control over the participants who access your experiment.
The recruitment tab is also where you set the number of participants you would like to enter your experiment. To recruit participants, you will need participant tokens. If you are already a member of a Gorilla subscription, you should do this by requesting tokens from your subscription. If you are not on a subscription, you can purchase pay-as-you-go participant tokens from the Recruitment tab. You could also look into purchasing a Gorilla subscription - for our subscription pricing information, see our Pricing FAQ.
Alongside the multiple recruitment policy options available, you can also specify participant location, browser, device type and even minimum connection speed to ensure you recruit the exact participants you need.
Gorilla experiments are hosted on the Gorilla site and all participant data is stored securely on our servers. Participants do not need to download anything to create a Gorilla account - all they need is access to the internet and a browser. If you'd like more information about how we ensure data privacy and security, visit our Due Diligence support page.
It is worth noting here that Gorilla is not a recruitment service. That's a very different kind of service - which requires very different skills - and so we leave that to expert participant recruitment services. Gorilla does work with any good participant recruitment services. We have a support page with information on some of the recruitment services that tend to be favoured by behavioural scientists.
In the experiment tree, your Participants tab will display all of the participants who have entered your experiment. You can filter your participants by their experiment progress, by their inclusion status, and by the experiment version they completed.
From here, you can manually reject participants whose data you don't want to include in your study:
You can find some more information about this in our Participants guide.
The Data tab is where you can download your experiment data.
Click the red Download Experiment Data button. If you have collected new participants since the last time you downloaded your data, you will need to generate your data before downloading it.
Gorilla will provide you with a separate file for each task and questionnaire node in your experiment. If you recruited participants over multiple versions of your experiment, make sure to use the Version Picker to download the data from each version.
Note: Your raw data files will contain a lot of metrics. Please don't be overwhelmed by this: there are some easy ways to filter out only the data you are interested in. We have a Data Analysis Guide to help you with your Gorilla data.
It’s really satisfying to get to the point where your whole experiment works from beginning to end, even if each bit of content isn’t yet completely finished. This is the equivalent of when you write an essay: putting in the headings, writing a sentence about what you’ll cover in that section and a target word count. It helps because you’ve now broken the task down into manageable pieces.
We recommend that you stub out parts of the Project you are building - see the subsections below to learn strategies on how to stub out your Tasks, Questionnaires and Experiments.
If at any point you're not sure of the way to create what you want, the best thing to do is to stub it out.
For instance, if you want to add an image component to your task and you're not sure how to set it to disappear after 5 seconds, start by creating your task and adding the image component. You can then add text which says 'disappears after 5 seconds' to remind yourself of what you want to create later. If you're not sure which component you'll need, you could even just add a text component as a placeholder and write in it what you want to create.
Comparably, if you know you want to have a response button that stores the answer that the participant uses to be later used in the task, you would start by creating your task and adding the button component. To remind yourself of what needs to be done, you could add a text component saying 'store the data for later use in task'.
To stub out a questionnaire, start by adding some Questionnaire Objects.
Add a text component and describe the content of the questionnaire as presented on the image below.
Once you have stubbed out your tasks and questionnaires, you can stub out your experiment.
Use nodes to link together your questionnaires and tasks as presented on the example Experiment Tree image below. You’ll get enormous satisfaction from previewing your experiment and seeing how the components link together!
Explore our excellent From Creation to Launch: Experiments Walkthrough where you will find the best practices for creating your Experiments!
Once you've got the basics in, you can take your time figuring out how to add in more complex functionality. If you've done as much as you can before submitting a support ticket, this also helps our support team to identify your problem and provide you with clearer and quicker assistance.
Don't forget to search our support pages whenever you are looking for more information!
Collaboration, review and replication are important aspects in all research projects, big or small. That's why we've made sharing your Gorilla creations and collaborating on your research with others easy and free for all Gorilla users.
If you want your experiments, tasks and questionnaires to be openly available on Gorilla, look into using our open materials repository.
If you want to share your Gorilla creations with specific researchers and colleagues, Gorilla has built in ways to make collaborating, reviewing and replication as simple and as straightforward as possble. Not sure which option is for you? Read our Collaboration guide to find out more!
Gorilla Open Materials is our contribution to Open Science. It will allow researchers to view and try out each others' experiments (for free!), making it incredibly easy to communicate experimental designs.
You can also use Open Materials to quickly create your own study, by cloning an existing experiment, or by cloning tasks from several different researchers to use as templates.
Head to our announcement page to find out more about Gorilla Open Materials, or check out the repository for yourself.
Markdown is used throughout Gorilla in the Task Builder and Questionnaire Builder to add styling and to format text.
It is a very simple 'markup' language that can be used to format sections of text, providing a similar set of functionality to text editors such as Word. For example, you can create titles, embolden or italicise text or create numbered/bullet-pointed lists, among many other things.
The other key feature of Markdown is that you can include regular HTML code.
Below is a guide for common formatting in Markdown:
Markdown Syntax: | What it looks like when displayed: |
Creating Titles | |
---|---|
# My Title |
My Title |
## My Subtitle |
My Subtitle |
### My Subtitle |
My Subtitle |
#### My Subtitle |
My Subtitle |
This is a my paragraph of text. |
This is a my paragraph of text. |
Styling and formatting Text | |
You can also make text **bold** |
You can also make text bold |
and use *italics* |
and use italics |
Inserting Line Breaks (Task Builder 2/Questionnaire Builder 2) | |
You can easily create separate paragraphs. <br><br>Just insert two <br> tags between the lines! |
You can easily create separate paragraphs. Just insert two <br> tags between the lines! |
Inserting Line Breaks (Task Builder 1/Questionnaire Builder 1) | |
You can easily create separate paragraphs. Just press return and leave a clear new line! |
You can easily create separate paragraphs. Just press return and leave a clear new line! |
Adding in Links to other web-pages | |
Adding in a [Link](https://gorilla.sc/support) is nice and neat! |
Adding in a Link is nice and neat! |
Creating Lists | |
You can use bullet points:
|
You can use lists, which will be numbered automatically
|
You can use bullet points:
|
And lists, which will be numbered automatically:
|
Using HTML within Markdown | |
You can use HTML within markdown and it will usually work pretty well: <img src='/support/images/gorilla_logo_red.png'> Just be sure to use single ' quotation marks within your html code. If you use double quotation marks in your html it may not always work! |
You can use HTML within markdown and it will usually work pretty well:
Just be sure to use single ' quotation marks within your html code. If you use double quotation marks in your html it may not always work! |
HTML, like Markdown, can be used to format sections of text within your Questionnaires or Tasks. HTML, or HyperText Markup Language, is an 'extensive language' which is used by all websites to communicate how information on a web page should be displayed within a browser.
In Gorilla HTML can be used instead of markdown to add styling to text, such as to embolden, italicise, colour or text alignment. Create titles, numbered/bullet-pointed lists and tables. It can also be used to link to external pages or embed images or videos.
When writing HTML 'elements' we must always use what is known as an opening tag (e.g. <p>) and a closing tag (e.g. </p>).
Markdown is a simpler language for formatting text content. However, you may wish to use HTML if you are more familiar with it, or if you need more flexibility in formatting things in a way Markdown can’t, such as adding colour to text.
Below is a guide to basic formatting in HTML:
HTML code elements: | What it looks like when displayed: | |||||||||
Creating Titles and Text Blocks | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
<h1>My Title</h1> |
My Title |
|||||||||
<h2>My Subtitle</h2> |
My Subtitle |
|||||||||
<h3>My Subtitle</h3> |
My Subtitle |
|||||||||
<h4>My Subtitle</h4> |
My Subtitle |
|||||||||
<p>My paragraph would go here if I were writing one</p> |
My paragraph would go here if I were writing one. |
|||||||||
Styling and formatting Text | ||||||||||
<p>You can create <strong>bold</strong> text.</p> |
You can create bold text. |
|||||||||
<p>Using <em>Italics</em> text is fun!</p> |
Using italics is fun! |
|||||||||
<p>Sometimes you will want to <u>underline</u> you text.</p> |
Sometimes you will want to underline your text. |
|||||||||
<p style="color: blue;">You can change the colour of your text by naming colours</p> <p>Or specify the colour using
<p>Alternatively you can use <span style="color: #1b9513;">
|
You can change the colour of all your text by naming colours Or specify the colour using 'decimal code' (R,G,B). Alternatively you can use Hex Code to pick a colour. |
|||||||||
<p style="font-size: 150%;">You can change the font size by %</p> <p style="font-size: 16px;">Or specify the number of pixels (px) for your new font size.</p> |
You can change the font size by % Or specify the number of pixels (px) for your new font size. |
|||||||||
<p style="font-family: courier, sans-serif;">
|
You can also change the font style. Note: If you use a font that the participant’s browser/operating system does not support, the text will not appear. Its good practice to add in a backup after your first font style. Separate this back-up font from the first by using a comma. Sans-serif usually works. |
|||||||||
<p>You can combine different formatting e.g.
|
You can combine different formatting e.g. colour, font size and style by listing your formatting elements one after another, separated by semi-colons. | |||||||||
Aligning Text | ||||||||||
<p style="text-align: left;">
|
This text is aligned to the left. |
|||||||||
<p style="text-align: center;"> This text is centre aligned.</p> |
This text is centre aligned. |
|||||||||
<p style="text-align: right;">
|
This text is aligned to the right. |
|||||||||
<p style="text-align: justify;"> This text is justified.
|
This text is justified. You may wish to use this when writing longer paragraphs. |
|||||||||
Adding in Links to other web-pages | ||||||||||
<a href="https://gorilla.sc/support/">My Link</a> |
My Link | |||||||||
<a href="https://gorilla.sc/support/" target="_blank">
|
Open My Link in a New Tab | |||||||||
Inserting Line Breaks | ||||||||||
<h4>This is how to insert a line break</h4>
|
This is how to insert a line breakbetween other html elements. |
|||||||||
<p>Sometimes you want to separate text with a horizontal rule</p>
|
Sometimes you need to separate text with a horizontal rule like this! |
|||||||||
Creating Lists and Tables | ||||||||||
<ul>
|
|
|||||||||
<ol>
|
|
|||||||||
<h4>This is how to create a score table:</h4> <table class="table table-bordered"> <thead> <tr> <th>My Heading</th> <th>Score1</th> <th>Score2</th> </tr> </thead> <tbody> <tr> <th>My Row Label</th> <td>value 1</td> <td>value 2</td> </tr> <tr> <th>My Next Row Label</th> <td>value 3</td> <td>value 4</td> </tr> </tbody> </table> |
This is how to create a score table:
|
Store data is data collected about a participant's responses that can be used to alter the experiment (in real time) depending on their response. Essentially, store data is information you can ’carry’ from one part of your task or questionnaire to others within the same experiment.
Learn how you can manipulate your experiment using Store Data through our guide to Store Data in the Task Builder and guide to Store Data in the Questionnaire Builder.
Gorilla's scripting tools allow you to fully customise your task by creating and adding new components to the Task Builder. Find out more in our guide to scripting in Task Builder 2.
If you are a confident coder and would like to create your task entirely from scratch, you can create a Code Editor task.
To do this, click the +Create button inside a project, check the Show Legacy Tools option, and choose the Code Editor.
You can view a list of sample tasks created in the Code Editor guide.
You can customise the language used within Gorilla tasks and questionnaires to localise the content of your experiments. See our Localisation guide for more information.
If you're not sure which type of randomisation to use in your experiment, we've got a great guide to Randomisation and Attrition which will walk you through the differences.
To ensure your participants are real humans and not bots, we have a collection of Sample Bot Check tasks on our samples page.
You can choose from a variety of pre-created tasks that can be placed in the experiment tree and act as bot checks to help ease your mind about the quality of data collected.
You can find a list of publications that cite Gorilla on our Publications page.
We've interviewed Gorilla users about their fascinating research, and how they think online research will change their fields. Read the interviews on our Spotlight page!