Commerce glossary

Popups and signup forms

On-site forms that collect a visitor's email or phone, often in exchange for an offer, and the rules for when and to whom each form shows.

31 parts and 12 phrases. Apps in this area include Privy, Justuno, OptiMonk, Klaviyo forms, Wisepops.

Displayforms.displayShowWhat the form looks like on the page, what makes it appear and who sees it.
Form typeforms.display.typeShowThe shape a form takes on the page.

How to extend

PartLitestore todayHow to extend
Embedded formforms.display.type.embeddedAn embedded form sits in the page itself, such as in the footer, and stays in place as the visitor scrolls.
Coremodules/storefront/shell/footer/footer-newsletter.tsx
Slot · many
Popupforms.display.type.popupA popup opens in the middle of the screen over a dimmed page and closes with a button or a click outside it.
Plugin
Slot · many
Slide-in panelforms.display.type.slide_inA slide-in panel slides in from a corner or side of the page and leaves the rest of the page usable.
Plugin
Slot · many
Full screenforms.display.type.full_screenA full-screen form covers the whole window until the visitor submits or closes it.
Plugin
Slot · many
Barforms.display.type.barA bar is a thin full-width strip at the top or bottom of the page with a short message or field.
Plugin
Slot · many
Reopen tabforms.display.type.reopen_tabA reopen tab is a small tab that stays on screen after a form is closed and reopens it when clicked.
Plugin
Slot · many
Prize game formforms.display.type.prize_gameA prize game form asks for an email before the visitor spins a wheel or scratches a card to reveal a random offer.
Plugin
Slot · many
What makes it appearforms.display.triggerShowThe visitor behaviour that opens a form.

How to extend

  • Core onlyDisplay triggers run in the popup plugin's own script on the storefront.
PartLitestore todayHow to extend
On page loadforms.display.trigger.page_loadThis trigger opens the form as soon as the page loads.
Plugin
Core only
Time on pageforms.display.trigger.time_on_pageThis trigger opens the form after the visitor has been on the page for a set number of seconds.
Plugin
Core only
Scroll depthforms.display.trigger.scroll_depthThis trigger opens the form once the visitor scrolls past a set share of the page, such as half.
Plugin
Core only
Leaving the pageforms.display.trigger.page_exitThis trigger opens the form when the cursor moves toward the top of the window on desktop, or on a quick scroll up or back tap on mobile.
Plugin
Core only
Inactivityforms.display.trigger.inactivityThis trigger opens the form after the visitor has not moved, scrolled or typed for a set time.
Plugin
Core only
On clickforms.display.trigger.clickThis trigger opens the form when the visitor clicks a chosen button or link.
Plugin
Core only
Who sees itforms.display.targetingShowThe rules that limit which visitors and pages a form shows on.

How to extend

  • Core onlyTargeting rules run in the popup plugin's own script on the storefront.
PartLitestore todayHow to extend
Page ruleforms.display.targeting.page_ruleA page rule shows or hides the form on pages whose address matches a pattern.
Plugin
Core only
Deviceforms.display.targeting.deviceA device rule shows a form only on desktop or only on mobile.
Plugin
Core only
New or returning visitorforms.display.targeting.visitor_typeA visitor rule shows a form only to first-time visitors or only to returning ones.
Plugin
Core only
Hide from subscribersforms.display.targeting.hide_subscribersThis rule stops a signup form from showing to visitors already on the list.
Plugin
Core only
Show frequencyforms.display.targeting.frequencyA frequency rule sets how many days must pass before a closed form shows to the same visitor again.
Plugin
Core only
Cart ruleforms.display.targeting.cart_ruleA cart rule shows a form only when the cart value or contents match a condition.
Plugin
Core only
Fields and checksforms.fieldShowWhat the form asks for and how bad entries are rejected.

How to extend

  • ProviderOne per storenewsletter list providerThe fields a signup collects are handed to the one configured list provider.
PartLitestore todayHow to extend
Email fieldforms.field.emailThe email field collects the address and rejects text that is not a valid email.
Coremodules/customers/storefront/newsletter/schema.ts
Provider · one
Name fieldsforms.field.nameName fields collect a first and last name with the signup.
Coremodules/customers/storefront/newsletter/schema.ts
Provider · one
Phone fieldforms.field.phoneA phone field collects a number for text messages, usually with its own consent wording.
Plugin
Provider · one
Custom questionforms.field.customA custom question asks for extra data, such as a birthday or interests, and saves the answer on the contact.
Plugin
Provider · one
Hidden bot fieldforms.field.hidden_bot_fieldA hidden bot field is left empty by people and filled by bots, so signups that fill it are rejected.
Coremodules/customers/storefront/newsletter/schema.ts
Provider · one
Throwaway address checkforms.field.disposable_email_checkThis check rejects email addresses from known disposable mailbox services.
Coremodules/email/disposable-email.ts
Provider · one
Steps, offer and resultforms.flowShowThe screens a form walks through, the reward it gives and where the signup goes.

How to extend

  • EventMany side by sideevent.customer.createdA signup that creates an account raises the customer created event that welcome flows listen to.
PartLitestore todayHow to extend
Multi-step formforms.flow.multi_stepA multi-step form asks for the email first and a phone number or question on a following screen.
Plugin
Event · many
Signup offerforms.flow.offerA signup offer is a discount or free shipping code shown or emailed after the form is submitted.
Plugin
Event · many
Success stateforms.flow.success_screenThe success state replaces or marks the form after submission to confirm the signup.
Coremodules/customers/storefront/newsletter/newsletter-form.tsx
Event · many
Send to listforms.flow.list_handoffThe list handoff passes the signup and its source and campaign tags to the email list provider.
Coremodules/customers/newsletter/providers.ts
Event · many
Testing and resultsforms.testingShowHow form versions are compared and measured.

How to extend

  • Core onlyForm tests and their counts live in the popup plugin that shows the forms.
PartLitestore todayHow to extend
A/B testforms.testing.ab_testAn A/B test shows two versions of a form to separate groups of visitors and compares their signup rates.
Plugin
Core only
Signup rateforms.testing.signup_rateThe signup rate is the share of visitors who saw a form and submitted it.
Plugin
Core only

What the phrases mean

The words apps use for a feature, and the plain parts the feature is made of, in the order they happen.

Phrases left out

These phrases mean different things at different apps, so the glossary doesn't map them.

  • on-site personalisationSome vendors mean targeted popups, others product recommendations or rewritten page content.
  • gamificationUsed for spin-to-win forms by popup vendors and for points and badges by loyalty vendors.

Sources

The app documentation these parts were checked against.