Convert more shoppers, and keep more of the margin.
Signals tells your storefront, search and support tools what each shopper is doing right now, so they respond while the shopper is still deciding.
What retailers can do with it.
One SDK, one read call.
We host it, or it runs in your own AWS or GCP account. Signals collects events with its own SDKs, updates what it knows within a second of each event, and answers a read in 6ms at the median and 10ms at p95, in-region.
const shopper = await signals.getServiceAttributes({
name: "storefront",
attribute_key: "domain_sessionid",
identifier: sessionId,
});
// { failed_searches: 3, cart_value: 184.2, cart_idle_seconds: 412 }What to settle before an engineer looks.
We already run a personalization or search vendor. Does Signals replace it?
No. Your vendor keeps ranking the results and choosing the offers. Signals tells it what this shopper has done in this visit, the failed searches and the cart among them, current to the last event, and you pass that in as a boost, a filter or a rule input.
We already have a CDP. Why add this?
Keep it. A CDP builds audiences from past behavior and syncs them on its own schedule, so a page rendering right now learns about this visit too late. Signals sits underneath it, computes what the shopper is doing in this visit and serves it to your storefront on request, and it can send the moments it notices back to the CDP.
Is this a data platform project?
No. Add the SDK to your storefront and app and collection starts, with nothing to build first. Your team defines what it wants to know about a shopper in the console, and an engineer reads it with one call and ships it through the CI/CD you have. Most of that wiring can be delegated to a coding agent, which is what the MCP server and agent skill are for.
Where does the data live?
We host it, or it runs in your own AWS or GCP account, with the same architecture either way. Events are validated against your schemas on the way in and stay yours. Your warehouse runs the same definitions over past visits, so there is one set of numbers rather than two.
What if next-day data is fine for us?
Then a warehouse tool is cheaper and you should buy that instead. If the recovery email can go out tomorrow and the offer can wait for tonight's segment refresh, Signals is more than you need. It is for the storefront, search and offers that have to respond while the shopper is still browsing.
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.