This article covers how to create a new form or poll in Spoks, how to open an existing one for editing, and how to configure all the settings available in the form editor. The configuration options are the same whether you're creating or editing — only the entry point and the editor's interface differ.
Throughout this article, "form" is used as shorthand for both forms and polls, unless a distinction is called out — for example, in Poll settings.
If you're new to forms and polls in Spoks, see Forms and polls in Spoks for an overview of the different form types and when to use each.
Creating a new form or poll
Forms and polls are created differently:
Forms are created from the forms page in Spoks, using the steps below.
Polls are created from the post editor — start a new post, then add a poll to it. Once created, polls are configured using the same editor as forms, so the rest of this article still applies to them.
On web
Click Content in the left-hand menu, then click Forms.
In the top-right corner of the forms screen, click New form, then select the type of form you want to create.
The form editor opens, ready for you to configure the new form.
On mobile
Starting from the home screen of the mobile app:
Tap the "..." button in the bottom-right corner.
Tap Forms.
Tap the + in the top-right corner.
Select the type of form you want to create.
The form editor opens, ready for you to configure the new form.
Editing an existing form
To edit a form poll you've already created:
On web: Go to Content → Forms, then click the form you want to edit.
On mobile: Tap "..." → Forms, then tap the form you want to edit.
The form editor opens with the form's current settings.
How the form editor works
The form editor behaves slightly differently depending on whether you're creating or editing, and whether you're on web or mobile:
Creating vs. editing: When creating a new form, the editor guides you through a step-by-step wizard, presenting one group of settings at a time. When editing an existing form, the same settings are organized into tabs, so you can jump straight to the section you want to change.
Web vs. mobile: On web, the editor shows a live preview of the form as you build it. On mobile, the preview isn't shown due to limited screen space.
The configuration options themselves are the same in every case. The rest of this article walks through each group of settings.
Language
The language used in your forms is tied to your store's language setting, not to individual forms. This affects:
Default text in the form editor — for example, the text for the submit button if you haven't set your own.
Placeholder text in form fields — the hint text shown inside text inputs when they're empty.
Date picker format — date fields use the formatting conventions of the store language.
Phone validation — phone numbers are validated according to the store's language unless a country code is provided.
Supported languages are English, Norwegian, Swedish, and Danish. Stores set to any other language default to English.
You can write your form's questions, descriptions, and answers in any language you want — the store language only affects the items above. The main limitation is that placeholder text inside fields can't be overridden directly. If you want to control what visitors see inside text fields, enable Inline labels in the form's appearance settings — this replaces the placeholder with the field's label.
Adding basic information
Every form starts with three basic fields:
Title (required) — The name of the form, shown to people filling it out.
Description (optional) — A short explanation shown below the title.
Submit button text (optional) — The label on the form's submit button. If left empty, a default label is used.
A title is required — you can't proceed to the next step or save the form without one.
Adding questions
Forms support several question types, which are grouped below by how they behave and what you can configure for each.
Every question, regardless of type, can be:
Marked as required — the form can't be submitted without an answer.
Duplicated or deleted — using the actions on the question.
The sections below cover the additional options that apply to specific question types.
Simple input questions
These question types collect free-form input and have no extra configuration beyond the universal options above:
Short text — A single-line text field.
Long text — A multi-line text field for longer responses.
Date — A date picker.
Number — A numeric input.
Contact info questions
The Name, Email, and Phone question types are designed to capture core contact information. They behave like simple inputs, with a couple of differences:
Email answers are validated as proper email addresses.
Phone answers are validated as proper phone numbers, based on the store's language setting or the country code if one is specified.
When a form submission is connected to a contact, any answers to these fields automatically populate the contact — but only if the corresponding value isn't already set on that contact.
Custom field questions
Custom fields let you collect additional information that's stored directly on the contact. To add one as a question, click More contact details in the question type picker, then select the custom field you want to use.
Answers to custom field questions automatically populate the corresponding field on the connected contact.
For single choice and multiple choice custom fields, each answer option has two extra options:
Override the alternative text — change the label shown on the form without changing the underlying option.
Hide the option — toggle it off so it doesn't appear as a choice on the form.
Custom fields are created and managed on the contacts page.
Choice questions
Single choice and multiple choice questions let respondents pick from a list of options you define. For these question types, you can:
Add options — define the choices respondents can pick from.
Reorder options — change the order they appear in.
Allow a custom answer — adds a free-text option so respondents can write their own answer.
Tag contacts based on the answer — to assign a tag, click the option, then click Tag contact. When a respondent selects that option, the tag is applied to their contact.
Checkbox questions
A Checkbox question is a single checkbox the respondent can either check or leave unchecked. If checked, it can apply a tag to the respondent's contact. To set the tag, open the "..." menu in the top-right corner of the question tile.
Configuring the form's appearance
The appearance section controls how the form looks to people filling it out — its layout, optional images, and colors. Settings are grouped into general appearance, side image, top image, and colors.
General appearance
These settings control the overall layout and dimensions of the form:
Border radius — Controls how rounded the form's corners are. If left blank, the form inherits the store's global surface border radius setting.
Dialog width — Choose Small, Medium, Large, or Custom. Selecting Custom reveals a field where you can enter a width in pixels.
Minimum height — Enter a minimum height in pixels. If left empty, the form's height grows naturally with its content. If a value is set, an additional option appears that lets you center the form vertically.
Inline labels — Moves field labels into the inputs themselves where possible. For example, a text field's label becomes its placeholder text instead of sitting above it.
Layout — Aligns the form's content to the left or center.
Side image
A side image is shown in its own column to the left or right of the form. To use one, set a position other than None.
Position — Choose None, Left, or Right. None disables the side image entirely.
Image — Use the image picker to select the image you want to display.
Column width — Sets how much horizontal space the image column takes up. Choose Small, Medium, or Large.
Image fit — Controls how the image fills its column:
Fill area — The image covers the full column, cropping if needed.
Show entire image — The image is scaled to fit fully within the column.
Custom width — Enter a specific width in pixels.
Alignment — Choose how the image is positioned within its column. The options are a 3×3 grid: top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right.
Alt text — A short description of the image for accessibility and screen readers.
Top image
A top image is shown above the form, in the same column as the form fields. To use one, set a position other than None.
Position — Choose None, Left, Center, or Right. None disables the top image. The other options align the image within the form column.
Image — Use the image picker to select the image you want to display.
Width — Set the image's width in pixels.
Colors
These settings control the form's color scheme. Any color left unset falls back to the equivalent value in the store's global look settings.
Body — The form's background color.
Text — The color of text on the form.
Button — The background color of the submit button.
Button text — The color of text on those buttons.
Form settings
Form settings control how the form behaves when it's submitted, who gets notified, and what happens to the contact afterward.
Status — Either LIVE or DRAFT. A LIVE form accepts submissions as normal. When set to DRAFT, the form is replaced with a short message telling visitors that it no longer accepts submissions. You can change the status at any time.
Notify emails — Email addresses that should be notified whenever the form receives a submission. Intended for store team members.
Send confirmation email — Sends a confirmation email to the person who submitted the form. Requires the form to include a required email field.
Subscribe — When enabled, activates notifications for the contact connected to the submission. To work, Spoks needs to either match the submission to an existing contact or create one — which requires a submitted email or phone number.
Allow multiple submissions — Lets the same person submit the form more than once.
Tag contact — Applies a tag to the contact connected to the submission.
After submit — Choose what the respondent sees after submitting:
Message — Show a custom thank-you message.
Redirect — Send the respondent to a specific URL.
Advanced
Webhook — Sends each submission as a POST request to a URL you specify. Useful for sending submissions to external systems.
Poll settings
Polls have a smaller set of settings than forms.
Status — Either LIVE or DRAFT. A LIVE poll accepts answers as normal. When set to DRAFT, the poll is replaced with a short message telling visitors that it no longer accepts submissions. You can change the status at any time.
Show poll results to users — Displays the results of the poll to respondents after they answer.
Allow multiple answers — Turns the poll into a multiple-choice poll instead of a single-choice one.
Popup-specific settings
Popup forms have an additional group of settings on top of the standard form settings. These control when the popup appears, an optional teaser, and which pages of your store the popup is allowed on.
Timing
The Timing dropdown controls when the popup appears.
Immediate — The popup appears as soon as the page loads.
Based on rules — The popup appears when one or more of the rules below are met. Selecting this reveals three optional triggers, each with its own toggle:
Time delay — Show the popup after a delay. Enter the delay in seconds.
On scroll — Show the popup once the visitor has scrolled past a certain point on the page. Enter the scroll percentage.
Exit intent — Show the popup when the visitor's behavior suggests they're about to leave the page. Spoks detects this differently depending on the device:
On desktop, exit intent fires when the visitor moves their mouse toward the top or sides of the browser window — typically a sign they're about to close the tab, go back, or switch tabs.
On mobile and touch devices, exit intent fires when the visitor scrolls upward quickly near the top of the page — typically a sign they're about to leave or hit the back button.
Teaser
A teaser is a small element shown on the page that visitors can click to open the popup. It can also be shown after the popup has been closed, as a way to bring it back.
Enable teaser — Toggle the teaser on or off.
Show close button — Toggles the close button on the teaser. When disabled, visitors can't dismiss the teaser — they can only click it to open the form.
Style — Choose Rectangle, Circle, or Triangle.
Position — Where the teaser appears on the page. Available positions depend on the style:
Rectangle and Circle — All positions along the edges of the screen.
Triangle — The four corners only.
Display type — Choose when the teaser is shown:
Show after the form is closed
Show before the form is displayed
Show both before the form is displayed and after it's closed
Colors — Set the Body, Text, and Drop shadow colors.
Text — The text shown on the teaser. Defaults to the form's title.
URLs
URL rules control which pages of your store the popup is allowed to appear on. The rules check against the page's domain plus path, and you can add multiple values to either field.
Only show the form where the URL contains — The popup only appears on pages whose URL contains one of the listed values.
Don't show the form where the URL contains — The popup never appears on pages whose URL contains one of the listed values.
Frequency
The frequency settings control how often the popup is shown to the same visitor after they've interacted with it.
Don't show again if submitted — When enabled, the popup never appears again for a visitor who has already submitted it.
If the visitor closes the form, show it again after [N] days — Sets how long to wait before showing the popup again to a visitor who closed it without submitting. Set to 0 to show the popup on every page visit, regardless of whether the visitor has closed it before. When set to 0, an info banner appears in the editor as a reminder that the popup will appear on every page load.
These rules apply on top of the popup's trigger settings — once a visitor has dismissed the form, it won't reappear during the cooldown period even if the trigger conditions are met again.
How the teaser fits in
If the popup has a teaser enabled, the close behavior depends on which one the visitor closes:
If the visitor closes the form, the form stays hidden for the configured number of days, but the teaser remains visible. The visitor can click the teaser to reopen the form.
If the visitor closes the teaser (when the Show close button setting is enabled), both the form and the teaser are hidden for the configured number of days. If the close button is disabled, the teaser can't be closed and stays visible — clicking it always reopens the form.
In other words, closing the teaser hides everything; closing only the form leaves the teaser as a way back in.
Saving your form
Once you've configured your form, save it to make it available. On the wizard (when creating a new form), the final step saves the form. When editing an existing form, save your changes from within the editor.
When you save a form for the first time, the How to use this form dialog appears. What it contains depends on the form type:
Popup form — Shows the steps needed to enable popup forms on your store, including a button to enable the Spoks Onsite Javascript in your Shopify theme. The popup also needs to have status LIVE to appear. For full instructions, see Enabling Spoks Onsite Javascript on your store.
Unsubscribe poll — Confirms that the poll is now in use and will be shown automatically when someone unsubscribes. No further setup is needed.
Shareable form or poll — Provides two options for sharing the form: a Create post button to attach the form to a new post, and a button to copy the form's direct link.
You can reopen the How to use this form dialog at any time by clicking the information button in the top-right corner of the form when you open it from the forms list.
The subscribe form is created automatically and isn't created through this flow, so the dialog doesn't apply to it.