Real-time customer context

Act on live customer behavior.

Signals tells you what your customer is doing right now so your product can respond while they are still on the page.

Teams running on Snowplow
Experian1PasswordStravaHelloFreshAutoTraderSupercell

Signals, about you

connecting
What Signals knows about your visit, right now

Signals is computing your first attributes from the events this page just sent.

Every highlighted part is an attribute Signals computed from the behavioral data your browser sent during this visit. Open the Product menu above and watch the sentence change.

Keyed on an anonymous session id. Signals drops these values a day after your last event.
It's fast

Attributes computed from events in <1s, served in 6ms p50 · 10ms p95, in-region.

Built to scale

Runs in our cloud or yours, AWS or GCP. Scales with your traffic.

You define what it computes

Any attribute over your events, on any key, over any window. One definition serves live from the stream and from your warehouse history.

The problem

Your data knows. Your product doesn't.

Behavior is collected. Nothing computes it, serves it, or flags it fast enough to act inside the session. Signals computes what your customer is doing right now and serves it to your app while they are still there. Deciding what to do with it stays in your stack: your ranker, your messaging tool, your agent.

The loop is too slow

"Our recommender doesn't know what the user did thirty seconds ago."

We built it, now we own it

"We built a profile API. Now two engineers maintain it forever and it pages us."

It never reaches production

"Our data scientists build features in notebooks that never make it to production."

The app is blind to the moment

"Our support agent has amnesia. It can't see the customer has been stuck on the same page for four minutes."

How it works

One event in. One answer out. Within a second.

One definition serves live from the streaming engine and builds the training set over warehouse history, so production features match what data science trained on. Managed SaaS or private deployment in AWS or GCP, identical architecture.

t = 0
Your customer acts

Views, searches, adds, abandons. The SDK you already run sends the event.

view_price · 3× in 10 minutes
t + <1s
Signals knows

Recomputes what you defined, on the stream, before the customer has moved. One definition, live and against history.

showing_price_hesitation = true
+ 6ms to read
Your product responds

Reads it mid-render, or a trigger pushes it wherever acts on it.

Ranker moves value options up
01 · the customer actsIllustrative. Your product decides; Signals supplies what this session has been doing.
Works with
  • Snowflake
  • BigQuery
  • AWS
  • Google Cloud
  • Braze
  • LangChain
  • OpenAI Agents SDK
Get started

Create your first live attribute today.

The short way

Add the Signals plugin or MCP server. Run one prompt.

Claude Code, Cursor or any MCP client. The agent adds the SDK, defines the attribute and wires the read into your app.

1 · Add
$ npx plugins add snowplow/skills
2 · Run this prompt
> Use the Snowplow MCP server and Signals skill, then help me plan and implement a use case. Make sure everything is tested and works as intended.

See an attribute updating against your own traffic in the first session.

The free tier runs on the real engine: no card, no sales call. Add the SDK, define one attribute, watch it change while you click around your own product.

Talk to an engineer means an engineer: architecture, latency boundary, failure modes, how it runs in your cloud. Not a demo script.