Travel/Fare alerts

A fare alert for the route they keep pricing.

Signals tells your CRM which route and dates each traveler keeps pricing, how often, and what fare they last saw, so the alert can go out the moment your fares system moves that price.

More bookings from fare alerts

Book more of the travelers waiting on a fare by alerting them when that fare moves.

Fare alerts move bookings when they reach the traveler who is waiting on a fare, about the route they are waiting on. Signals gives your CRM the route and dates each traveler keeps pricing, how many times they have priced it this week, the fare they last saw and whether they have booked since. Your CRM and your fares system decide which price move is worth an alert and who gets it.

Set the fare watch without asking them to fill in a form

A traveler has priced Chicago to Lisbon for the same November dates three times this week and left without booking each time. The fare alert on your site is a form, and the alert job hears about a traveler only once they fill it in. The traveler who priced a route three times and left has told you the same thing without the form. Three prices in a week for one route is the watch, set by what they did. If your CRM holds an email for this browser, the alert can go out the moment your fares system prices that route below what they last saw.

What Signals knows
watched_route_7d
The route they priced most in the last seven days
routes_priced_7d
How many times they priced each route in the last seven days
watched_depart_7d
The departure date on their most recent search
last_fare_seen
The fare they last saw, in your currency
What your CRM does

Opens a fare watch for this browser once a route has been priced three times in a week, with the fare they last saw as the line to beat, and sends the alert when your fares system next prices that route and date below it. The email is one your CRM holds under your consent rules, and a browser without one gets the watch only, ready for when they leave an address.

fare-alerts.ts · 22 lines
// In the job that opens fare watches in your CRM
const traveler = await signals.getServiceAttributes({
  name: "trip_fares_watching",
  attribute_key: "domain_userid",
  identifier: domainUserId,
});
// { watched_route_7d: "ORD-LIS", routes_priced_7d: { "ORD-LIS": 3 }, watched_depart_7d: "2026-11-14", last_fare_seen: 412.0 }

// Your CRM holds the email, if they left one, under your consent rules. Signals holds none.
const contact = crm.contactFor(domainUserId);

const pricedThisRoute = traveler.routes_priced_7d[traveler.watched_route_7d] ?? 0;

if (pricedThisRoute >= 3) {
  crm.watchFare({
    browser: domainUserId,
    to: contact,
    route: traveler.watched_route_7d,
    depart: traveler.watched_depart_7d,
    alertBelow: traveler.last_fare_seen,
  });
}

Try it on your own site.

Add the SDK, define one thing you want to know about a visitor, and watch it update while you click around. The free tier runs on the real engine: no card, no sales call.