Lead search
A lead is one set of answers that a visitor gave to your flow. The Leads page lists them, and it has one search box. The box accepts a plain word, a filter, or both. The dashboard holds the query in the address, so you can share the link.
The parts of a lead that a query reads
| Part | How to write it | Example |
|---|---|---|
| Every captured answer | a plain word | melbourne |
| One label | namespace.key | acme.status:sent |
| One answer | the key of the field | suburb:Sydney |
| The capture date | createdAt | createdAt>2026-08-01 |
| The visitor | userId | userId:sess_7x2k9q3m1n4a |
| The visit that captured the lead | session.field | session.utm_source:google |
A path of two parts is a label, unless it starts with session.: that path reads the visit.
A label namespace and a label key cannot contain a full stop. A path of one part is the key
of a field, unless the name is createdAt or userId.
Operators
| Operator | Meaning | Example |
|---|---|---|
: | equal to | details.phone:"0400000000" |
~ | contains | details.email~example.com |
:* | the lead has a value | acme.status:* |
> >= < <= | compare a number or a date | scoring.value>=50 |
- | makes the clause negative | -acme.status:* |
Each part accepts a different set:
| Part | : | ~ | :* | > >= < <= |
|---|---|---|---|---|
| Label | yes | yes | yes | yes |
| Answer | yes | yes | yes | no |
createdAt | yes | no | no | yes |
userId | yes | no | no | no |
session. | yes | yes | yes | no |
How clauses combine
A space between two clauses means AND. The word OR between them means OR.
acme.status:sent scoring.contacted:true
acme.status:sent OR acme.status:queued
One query holds a maximum of 10 clauses. One query uses AND or OR, and not both: there is no way to show which one comes first. A query that mixes them gives an error.
The visit that captured the lead
A visit is the set of events that one visitor made, from the first page to the last page. The visit that captured a lead is the visit that holds its capture. A clause on the visit matches the lead when one event of the visit has the value. The event can come before the capture or after it.
| Field | What it holds |
|---|---|
gaid | The ID that Google Analytics gives the visitor |
utm_source | The utm_source parameter of the page address |
utm_medium | The utm_medium parameter of the page address |
utm_campaign | The utm_campaign parameter of the page address |
utm_term | The utm_term parameter of the page address |
utm_content | The utm_content parameter of the page address |
page_url | The full address of the page |
page_origin | The host of the page, for example shop.example.com |
page_pathname | The path of the page, for example /quote |
page_query | The query string of the page, with no ? |
landing_page_url | The full address of the first page of the visit |
landing_page_origin | The host of the first page, for example shop.example.com |
landing_page_pathname | The path of the first page, for example / |
landing_page_query | The query string of the first page, with no ? |
A clause on the visit searches every lead, with no date limit.
A clause with - matches a lead when no event of the visit has the value. A lead that has
no visit does not match a clause on the visit, with - or without it. A lead has no visit
when one of these is true:
- The lead has no capture event. The capture came before Picked recorded capture events, or the deployment sends no events.
- The visit was on a deployment that is not for production, for example a preview or a test deployment.
- The visit started more than 7 days before its events arrived.
- The time on the device of the visitor was more than one day later than the real time.
A query with a clause on the visit combines its clauses with AND. It can use OR only when all of its clauses are on the visit.
A query with a clause on the visit shows the leads in the order of their capture events,
newest first. A capture event has its own time, and that time can differ from the createdAt
of the lead. The dashboard shows no column sort while the search has a clause on the visit.
A query with a clause on the visit shows the number of leads on the page, and no total. For
a page of 20 leads with another page after it, the dashboard shows Showing 20 leads above
the list.
A clause with : finds a value that is exactly the same, with the same upper case and lower
case.
In a clause on the visit, ~ finds the value as text, and ignores the difference between
upper case and lower case. In a clause on the visit, % and _ in the value match only %
and _.
Values with a space
Put " at each end of a value that has a space. To search for " inside a value, write
\".
details.company:"Acme Corporation"
Plain words
A plain word searches every answer that the visitor gave, and it includes the text inside a JSON answer.
A plain word matches a whole word. amy@example.com finds the lead with that address, and
example.com finds nothing. To match a part of a value, name the field and use ~:
email-address~example.com
Two plain words both must match.
Examples
Plain words
| Query | What it finds |
|---|---|
melbourne | Leads with melbourne in an answer |
amy@example.com | The lead with that address |
Amy Rockwell | Leads with both words in their answers |
dental | Leads with dental inside a JSON answer |
Labels
| Query | What it finds |
|---|---|
details.phone:"0400000000" | Leads with that exact telephone number |
details.email~example.com | Leads with an email label that holds example.com |
acme.status:sent | Leads that the acme workflow sent |
acme.status:* | Leads with an acme status |
-acme.status:* | Leads with no acme status, which no workflow took |
scoring.value>=50 | Leads with a score of 50 or more |
scoring.contacted:true | Leads with that boolean label set to true |
crm.payload:* | Leads with a JSON label under crm |
Answers and the capture date
| Query | What it finds |
|---|---|
suburb:Sydney | Leads whose suburb answer is Sydney |
email-address~rocketrides | Leads whose email-address answer holds rocketrides |
quote-preferences:* | Leads that answered quote-preferences |
createdAt>2026-08-01 | Leads captured after that date |
userId:sess_7x2k9q3m1n4a | Leads captured for that visitor |
The visit that captured the lead
| Query | What it finds |
|---|---|
session.utm_source:google | Leads whose visit had the utm_source google |
session.utm_campaign~spring | Leads whose visit had a utm_campaign that holds spring |
session.page_pathname:/quote | Leads whose visit had the page /quote |
session.page_origin:shop.example.com | Leads whose visit had a page on shop.example.com |
session.landing_page_pathname:/ | Leads whose visit started on the page / |
session.landing_page_query~utm_source=google | Leads whose visit started on a page with utm_source=google in its query string |
session.gaid:* | Leads whose visit had a Google Analytics ID |
-session.utm_source:* | Leads whose visit had no utm_source |
session.utm_source:google OR session.utm_source:bing | Leads whose visit had either utm_source |
More than one clause
| Query | What it finds |
|---|---|
details.first_name:Amy scoring.contacted:true | Both clauses are true |
acme.status:sent OR acme.status:queued | Either clause is true |
Sydney details.phone:"0400000000" | A plain word and a label clause together |
The labels. and responses. prefixes
A path takes an optional labels. or responses. prefix. Two cases need it:
- A label namespace with the name
labels,responses, orsession: writelabels.responses.status:sent. - The key of a field that holds a full stop: write
responses.quote.preferences:*. Without the prefix the query reads that path as a label.
A field with the name createdAt or userId also needs the prefix. A path of one part with
that name reads as the capture date or the visitor.
Errors
The search box shows an error, and the list does not change, for each of these:
| Cause | Example |
|---|---|
A " with no second " | details.company:"Acme |
A namespace or a key outside a-z, 0-9, _ and - | Details.Phone:1 |
| An operator that the part does not accept | createdAt~2026 |
| AND together with OR | a.b:1 c.d:2 OR e.f:3 |
| More than 10 clauses | 11 clauses in one query |
| A visit field that does not exist | session.referrer:x |
| OR between a clause on the visit and a clause that is not | session.utm_source:google OR labels.crm.status:sent |
