Audience filtering
Decide exactly who sees a form — pages, devices, location, visitor history, and Klaviyo or Shopify segments — with testable AND/OR rules.
Audience filtering controls who sees a form. Before a form renders on your storefront, Formtoro checks whether the current visitor matches the form's audience. If they match, the form appears; if not, it stays hidden — the visitor never knows it exists.
New forms start with the Any visitor (not subscribed) audience: everyone who hasn't already signed up through one of your forms is eligible, and existing subscribers are left alone.
Where to edit the audience
Open Settings in the builder's title bar and switch to the Audience tab, then click Edit rules. The Audience Rules sheet slides in with everything on one screen: quick presets, your saved audiences, the rule editor, a plain-English Targeting summary, and the tester. Changes apply to your draft only when you click Apply — Cancel discards them.
Quick presets
One click applies a common pattern, which you can then customize:
| Preset | Who it targets |
|---|---|
| All visitors | Everyone — removes all rules |
| Any visitor (not subscribed) | Anyone who hasn't subscribed yet (the default) |
| New visitors | First-time visitors |
| Returning visitors | Visitors you've seen before |
| Mobile only / Desktop only | One device class |
| Product pages | Pages whose path contains /products/ |
| UTM campaign traffic | Visitors arriving with any utm_campaign |
What you can target
Each rule picks one condition from a grouped dropdown. The groups and their exact options:
| Group | Options |
|---|---|
| URL & UTM | Page path, Full URL, UTM source, UTM medium, UTM campaign |
| Device & Geo | Device type (Mobile or Desktop), Country, Continent, Located in the EU, Located outside the EU |
| Visitor lifecycle | First-time visitor, Returning visitor, Subscribed visitor (signed up via a form), Any unsubscribed visitor |
| This form | Has not completed this form — hide a form from people who already finished it |
| Integrations | Klaviyo segment, Shopify segment — see segment targeting |
| Storage | Cookie, Local storage, Session storage — you provide the key (the cookie or storage entry name) to read |
Lifecycle options like First-time visitor or Located in the EU are complete conditions on their own — pick one and you're done. The rest take an operator and a value.
Operators
Depending on the condition, you can use:
- equals / does not equal
- contains / does not contain — substring match, great for paths and URLs
- is one of / is not one of — match against a list (devices, countries, continents, segments)
- is set / is not set — the value exists at all (UTM parameters, cookies, storage entries)
A few examples:
- Show a welcome offer only when First-time visitor and Page path
equals
/. - Show a campaign form only when UTM campaign contains
spring-sale. - Hide a form from VIPs who carry a
vipcookie: Cookie with keyvipand is not set — only visitors without the cookie match.
Combining rules
Rules live in groups that match All of the following (AND) or Any of the following (OR) — toggle with the All / Any buttons at the top of each group. Add rule adds a condition; Add group nests a sub-group with its own All/Any setting, so you can express things like:
Device type is Mobile AND (Page path contains
/productsOR UTM campaign containslaunch)
As you edit, the dashed Targeting box below the rules restates the whole audience in plain English — read it back to confirm the logic says what you mean. Clear all removes every rule, which means show to all visitors.
Target Klaviyo and Shopify segments
You can gate a form on membership in a Klaviyo segment or a Shopify customer segment — show a VIP-only offer, or hide a winback form from your engaged segment.
- Pick segments by name: the value field is a searchable multiselect that lists your segments; selected ones appear as removable chips. If the list can't load, you can still type a segment ID and press Enter to add it.
- Klaviyo segment only appears in the dropdown once Klaviyo is connected. Membership is resolved for visitors Klaviyo already recognizes on your site (their Klaviyo cookie).
- Shopify segment membership is only evaluated for logged-in customers. A guest browsing your store can't be matched to a Shopify segment.
When membership can't be checked — the visitor isn't recognized by Klaviyo, isn't logged in to Shopify, or the lookup fails — an is one of rule treats the visitor as not matching, so a members-only form stays hidden rather than leaking to everyone. An is not one of rule does the opposite and keeps showing the form, so an exclusion never accidentally suppresses your whole audience.
Saved audiences
Build a rule set once and reuse it across forms:
- Save as audience stores the current rules under a name.
- The Saved audience dropdown loads any saved audience into the editor. Once selected, you can rename it, delete it, or Detach to keep the rules on this form only, no longer linked to the library entry.
- An audience that's linked to a form can't be deleted — detach it first.
How it runs
When a shopper loads a page, the storefront widget asks Formtoro whether the form is eligible. Formtoro evaluates the audience server-side using the visitor's context — page, device, location, visit and subscription history, segment membership. Cookie, Local storage, and Session storage rules are the exception: those values only exist in the shopper's browser, so they're checked there.
Test your audience
Click Test audience at the bottom of the sheet to open the Test visitor panel. It shows input fields only for the conditions your rules actually use — a page path, a device, a country, segment IDs — you fill in the values a real visitor would have. There are no preset visitor profiles; you always describe the test visitor yourself.
The result updates live: a Visitor matches / Visitor does not match banner plus a per-rule breakdown showing exactly which conditions passed and failed, with the value each one saw. For segment rules, enter segment IDs comma-separated — or leave the field empty to simulate a visitor whose membership couldn't be checked.
Audiences and experiments
In an A/B experiment, both arms must target the same audience — otherwise you'd be comparing different visitors, not different forms. Edit the audience on the control form and it mirrors to the variant automatically; the variant's audience is locked while the experiment is set up.
Next steps
- Display, teasers & triggers — how and how often an eligible form appears.
- Logic engine — adapt the form after the right audience opens it.
- Klaviyo integration — connect Klaviyo to unlock segment targeting.
- Going live — the "why isn't my form showing?" checklist, which starts with the audience.