Signup Forms & Popups
Capture email subscribers directly on your website with multi-step popups, slide-in flyouts, banners, and embedded inline forms. Collect emails first, then progressively ask for more information across additional steps. Forms are delivered by the same tracking snippet you already have installed.
Form Types
Choose the form type that best fits your site and your goal. Popups and flyouts support teasers (a small floating button that reopens the form after it is dismissed).
Popup
Centered overlay
Flyout
Slides in from corner
Banner
Top or bottom bar
Inline
Embedded in page
Fullscreen
Full viewport takeover
Multi-Step Forms
Forms can have up to 5 steps. Each step collects different information from the visitor, with buttons to navigate forward, back, or submit. The final step is typically a success screen that confirms the subscription and optionally shows a discount code.
Data is captured incrementally. When a visitor completes step 1 and clicks "Next," their data from step 1 (usually their email) is saved to the server immediately. If they close the form on step 2, you still have their email from step 1. This progressive capture approach maximizes the number of subscribers you collect.
Example: 3-step email + SMS form
Get 10% Off
Join 5,000+ subscribers for exclusive deals
One more thing
Get deals straight to your phone too
Welcome!
Check your email for your discount code.
Your code
WELCOME10
Step Types
| Type | Purpose |
|---|---|
| Collect | Collects data from the visitor. Contains fields (email, name, phone, etc.) and navigation buttons. |
| Success | Confirmation screen shown after submission. No fields, just a message and a close button. Optionally displays a discount code. |
Button Actions
| Action | Behavior |
|---|---|
| Next Step | Validates the current step's required fields, saves data to the server, and advances to the next step. |
| Previous Step | Goes back to the previous step. No server call (data was already saved). |
| Submit | Validates and saves data as the final submission. Applies tags, records the form event, and advances to the success step. |
| Close | Closes the form. If a teaser is configured, it appears in place of the form. |
| Link | Navigates to a specified URL. |
Teasers
A teaser is a small floating button that appears at the edge of the visitor's screen. Clicking it opens the parent form. Teasers are available for popup and flyout form types only.
The teaser solves a common problem: once a visitor closes a popup, there's no way for them to get back to the offer. The teaser provides a persistent "I changed my mind" button.
Teaser examples
Pill (bottom-right)
Rounded square (bottom-left)
Circle (center-right)
Display Modes
| Mode | Behavior |
|---|---|
| After Close | Teaser appears after the visitor closes the popup. Most common option. |
| Before Open | Teaser is visible on page load. Clicking it opens the popup. Good for less intrusive experiences. |
| Always | Teaser is always visible, even while the popup is open. Maximum visibility. |
Customize the teaser's text, position (bottom-right, bottom-left, center-right, center-left), shape (pill, circle, square, rounded square), and colors to match your brand.
Creating a Form
- Go to Forms in the dashboard sidebar
- Click New Form, choose a type and name
- Use the Steps tab to define your form steps. Add fields, configure buttons, and set up the success message.
- Optionally configure a Teaser (for popup and flyout forms)
- Set up Targeting rules (which pages, what triggers)
- Configure Settings (tags, discount code, double opt-in)
- Set the form to Active and save
Active forms are automatically delivered to matching pages via the tracking snippet. No additional code changes are needed on your site.
Fields
Each collect step can include any combination of these field types:
Required on step 1
Text
Names, company, custom
Phone
With country code
SMS Consent
Dropdown
Custom choices
Text Area
Multi-line responses
Triggers
Choose one or more triggers that control when the form appears. Multiple triggers use OR logic: the form shows when the first trigger fires.
Immediate
On page load
Time Delay
After N seconds
Scroll Depth
After N% scroll
Exit Intent
Cursor leaves page
Page Views
After N pages
URL Targeting
Control which pages your form appears on with URL rules:
| Match Type | Example | Matches |
|---|---|---|
| Exact Path | /pricing | Only /pricing |
| Path Contains | product | /products, /product/shoes |
| Path Starts With | /blog | /blog, /blog/my-post |
Add multiple rules (OR logic: form shows if any rule matches). Add exclude rules to block specific pages even if they match an include rule.
Embedding Inline Forms
For inline forms, add this HTML where you want the form to appear:
<div data-pigeon-form="YOUR_FORM_ID"></div>
The tracking snippet finds this element and renders the form inside it, including multi-step navigation if the form has multiple steps.
What Happens on Submission
Fields validated client-side
Required fields, email format
Data sent to Pigeon Perch API
With step index and isFinal flag
Contact created or updated
Step 0: creates contact. Steps 1+: updates existing.
Step completion recorded
Per-step funnel analytics updated
Final submission processing
Tags applied, form_submit event recorded, discount code returned
Step Funnel Analytics
For multi-step forms, the analytics tab shows a step-by-step funnel with completion counts and drop-off percentages between each step. This helps you identify where visitors are abandoning and optimize your forms.
Step Funnel: Newsletter Popup
If 1,000 visitors complete step 1 but only 600 complete step 2, you know step 2 has a 40% drop-off. Consider simplifying the fields, improving the copy, or making the fields optional.
API Endpoints
Authenticated (requires API key or session)
Public (requires writeKey)
Related Features
- Contacts created by form submissions appear in your contact list with auto-tags applied
- Automations can trigger when a contact is created via a form submission
- Suppressions manage unsubscribe preferences for contacts who signed up via forms
- Web Tracking powers the form delivery system and records form events