SendBeam

Operators & Fields

Available fields and comparison operators for segment rules.

View as Markdown

Each segment rule is made up of three parts: a field (the piece of contact data to test), an operator (how to compare it), and a value (what to compare it against). This reference lists every field and operator available in SendBeam. The same fields and operators are accepted by the segments API, and previews and sends evaluate them identically.

Available fields

SendBeam exposes the following fields for use in segment rules.

Field Type Description
email Text The contact's email address
first_name Text The contact's first name
last_name Text The contact's last name
status Text Contact status: subscribed, unsubscribed, bounced or complained
source Text How the contact was added: manual, import, form or api
language Text The language the contact reads in, as a two-letter code (fr). is empty finds contacts with no language
created_at Date The date and time the contact was added to the workspace
tag Whether the contact carries a tag. Use with has tag / does not have tag and pick the tag (the API takes the tag id as the value).
campaign Engagement What the contact did with one sent campaign. Use with opened, received but did not open, clicked a link in or received but did not click and pick the campaign (the API takes the campaign id as the value). The "did not" forms only match people the campaign actually reached — never people it was not sent to.
activity Engagement Any open or click on any email from this workspace — campaigns, automations and transactional — in the last N days (1–365). Opened nothing in the last 90 days is the usual re-engagement or list-pruning segment.
custom_fields.<key> Text Any custom field stored on the contact, for example custom_fields.country
info
In the segment form, choose Custom field… and type the key (for example country); through the API, pass the field as custom_fields.country. A custom field registered as a Number is compared numerically, so "greater than 9" correctly excludes 10. A field with no registered type is compared as text, where "greater than" is alphabetical — register the field as a Number if you want it to sort like one.

Available operators

Most operators work with most fields, but not every pairing is valid: the tag field takes only has tag and does not have tag, and campaign takes only opened and clicked. A rule that pairs them wrongly is refused with a 400 rather than quietly ignored. The table below lists them with the name shown in the segment form and the value used in the API.

Operator API value Description
equals equals (or is) Field value matches the given value exactly, ignoring case
does not equal not_equals (or is_not) Field value does not match the given value
contains contains Field value includes the given text anywhere within it (case-insensitive)
does not contain not_contains Field value does not include the given text (case-insensitive)
starts with starts_with Field value begins with the given text (case-insensitive)
ends with ends_with Field value ends with the given text (case-insensitive)
is empty is_empty The field is empty or has never been given a value for this contact (no value needed)
is not empty is_not_empty The field has a non-empty value for this contact (no value needed)
is after / greater than greater_than The field is later than the given date, or sorts after the given value
is before / less than less_than The field is earlier than the given date, or sorts before the given value
has tag has_tag The contact carries the chosen tag (field tag only)
does not have tag not_has_tag The contact does not carry the chosen tag (field tag only)
opened / clicked a link in opened / clicked The contact opened, or clicked a link in, the chosen campaign (field campaign only). A click counts as an open.
not_opened / not_clicked received but did not open / click The campaign reached the contact and they have not opened it, or not clicked in it (field campaign only). Bounced and complained recipients are excluded.
opened_within / clicked_within opened / clicked any email in the last N days At least one open, or one click, on any email from this workspace in the window (field activity only)
not_opened_within / not_clicked_within opened / clicked nothing in the last N days Every contact without an open, or a click, in the window — including contacts who were sent nothing (field activity only)
lightbulb
The is empty / is not empty operators are especially useful for finding contacts with incomplete profile data, such as those missing a first name or a custom field value. Use them to run data-cleaning campaigns before major sends.

Example rules

The table below shows practical examples of rules you might use when building segments in SendBeam.

Goal Field Operator Value
All subscribed contacts status equals subscribed
Contacts from the UK custom_fields.country equals United Kingdom
Signed up this year created_at is after / greater than 2026-01-01
Came in through a form source equals form
Everyone at one company email ends with @acme.com
Missing first name first_name is empty —
On the Pro plan custom_fields.plan equals pro
warning
equals and does not equal ignore case, like contains, starts with and ends with — so Gold and gold are the same value. Leading and trailing whitespace is still significant, so if a rule is not matching contacts you expect, check the stored value's spacing.

Stuck, or found a gap? Ask in the community — questions, tips and every release note, with this page as the source of truth.