- Entry Rules — “Customers will enter this campaign if they match any entry rule.”
- Exit Rules — “When multiple exit rules are active, customers will exit campaigns when any rule has its condition met.”
Two ways customers get into a campaign
This is the single most important thing to get right, because the trigger list offers options that will never fire for some accounts. Automatic entry is what entry rules do. Something happens — a job is marked complete in your field-service software, a review lands, a customer replies — and Liftify enrols everyone who matches. Manual entry is you putting someone in: the Enroll this contact in a campaign checkbox when you add a contact, the Enroll in Campaign button on a contact’s page, or the Enroll bulk action on the contacts list. See Add a contact and enroll them.Add an entry rule
- On the Entry / Exit step, click Add Entry Rule.
- Name (optional) — a label for you, described on screen as “Optional — describe this rule”. Worth filling in once you have more than one.
- Trigger Event — the moment that pulls a customer in. The picker starts on Select trigger event.
- Some triggers refer to another campaign. Choosing one of those reveals a Select campaign picker.
- Optionally narrow the trigger with Conditions (below).
- Click Save Rule, or Cancel to back out.
Entry trigger events
Once you pick a campaign in Select campaign, the rule reads back with that campaign’s name in it, for example When ‘Spring tune-up’ campaign is completed.
The “or arrives already” half of those two is new, and it is the reason a lot of
job-completed campaigns used to enrol nobody. The triggers only fired when a job
changed status inside Liftify — but most connected systems don’t send a job
until the work is finished, so the job arrived complete, never changed, and
nothing fired. A job that arrives in a finished state now sets off the matching
trigger as it lands.If you have a When a job is completed or When a job is cancelled campaign
that has been sitting at zero enrollments, it should start working on the next
jobs that come in. Check its other settings before you assume it was only this —
work through Why a matching customer still didn’t get in at the end of this
page.Jobs already in Liftify are not revisited. This changes what happens to jobs
arriving from now on, so nothing goes back and enrols customers whose jobs landed
before the change.
Add an exit rule
Exit rules stop the rest of the sequence for one customer. On a review-request campaign this is what stops you nagging somebody who already left the review. Click Add Exit Rule; the form is the same as the entry form, with its own trigger list:
A customer who exits keeps their history — nothing is deleted, the remaining messages just do not send. Each one is marked Cancelled on the customer’s timeline, carrying a plain grey icon rather than the red mark a message that failed to deliver gets, so you can still see what the campaign had lined up for them and that none of it is coming.
This is worth re-checking if you looked at an exited customer before and came
away confused. Messages left over from some exits — a review landing, a survey
being completed, an unsubscribe from one category or one location — used to stay
on the record reading as still-to-send, even while the campaign itself read as
finished. They were never actually going to go out. They now say Cancelled,
which is what they always meant.
Narrow a rule with conditions
Conditions filter a trigger. “When a job is completed” plus a condition on Invoice Amount means only jobs above a certain value pull the customer in. Conditions live in groups. Every rule form opens with one empty group card ready for you to add to.- In the group card, click Add condition.
- Choose a Field, an Operator, a Type, and a Value. Operators depend on the type — text fields offer things like contains and is not empty, numbers offer greater than and between, dates offer before and after, yes/no fields offer is true and is false, and list fields offer in, not in, includes any of and includes none of.
- Require field to be present in payload is ticked by default. Leave it ticked so the condition is only judged when the incoming information actually contains that field. A rule card that has conditions shows a Conditional badge.
- At the top of the group, choose Must match ALL or Can match ANY. That choice joins the conditions inside that group and nothing else.
- Remove deletes a condition row. Remove group deletes the whole card.
Matching a field that holds several values
Some fields don’t hold one value — they hold a list, like the tags your field-service software puts on a customer. Set the Type to list and the value box reads Enter comma-separated values. Four operators apply:
in and not in compare the entire field against your list. includes any
of and includes none of read the field itself as a list and compare whole
values within it — which is what you want for tags. Use them rather than
contains, which matches on part of a value: a rule excluding tag
12 with
contains also throws out 120 and 312.
A customer with no value in that field at all passes includes none of.
Mixing ALL and ANY
Click Add condition group to add a second card. Cards are joined by AND — a divider between them says so — and that can’t be changed. So a customer has to satisfy every group, and each group decides for itself whether all or any of its own conditions must hold. That is what lets you build “(rating is 1 or rating is 2) and (location is Downtown)”: put the two rating conditions in one group set to Can match ANY, and the location condition in a second group. Under the Conditions heading Liftify writes the rule back to you in plain words as you build it, like “(first name equals Ryan or first name equals Mitch) and (status equals active)”. Read that line before you save — it is the exact logic the rule will run.Rules you built before condition groups existed still work and read the same
way. They are simply shown as a single group carrying the ALL-or-ANY choice you
originally made. Open one and you can split it into more groups whenever you
need to.
- Review (review.matched trigger only) — Review Source, Star Rating, Has Comment
- Survey Response (survey response completed trigger only) — NPS Score, Overall Score
- Job (job triggers, or customer added from an integration job) — Job Name, Job Type, Job Status, Business Unit, Invoice Amount, Scheduled Date, Completed Date, Job Date, Source
The Job group used to work on the job triggers alone. It now also works on
When customer is added, as long as the customer arrived from a connected
system along with the job that brought them in — the job that caused the import
is what the condition is judged against. A customer added any other way still has
no job to judge, so a job condition on them does not match.
Switch a rule on or off, edit it, delete it
Each rule card has:- an on/off toggle, with an Active or Inactive badge. Switching a rule off is the safe way to stop it without losing how it was built.
- an edit control, which reopens the same form
- a delete control, which asks “Are you sure you want to delete this rule?”
Why a matching customer still didn’t get in
A customer can match an entry rule perfectly and still not be enrolled. Liftify checks several things after the rule matches:- The campaign is active. A draft or inactive campaign enrols nobody.
- The customer’s location is assigned to the campaign on the Locations step.
- Exclusion windows. The campaign’s own Campaign Exclusion Time (days), plus the two account-wide windows in Settings → Applications → Campaigns → Settings, can all hold a customer back because they were messaged recently. See Account-wide campaign defaults.
- Prevent Campaign Collision. If that setting is on for the campaign, a customer already in another active campaign is blocked.
- Sending days. A campaign with no sending day ticked does not enrol.
- Unsubscribes. An unsubscribed customer is not enrolled.

