Retail and e-commerce/Checkout prompts

A checkout that notices when a shopper is stuck.

Signals tells your storefront which step a shopper is on, how long they have been there and what has gone wrong, so it can offer help on that step while the shopper is still there.

Higher checkout conversion

Convert more checkouts by helping a shopper on the step where they stall.

Checkout conversion moves when the storefront can tell a stalled shopper from one still deciding, and acts on that step while the shopper is on it. Signals gives it the step the shopper is on, how long they have been there, the errors they have hit this visit and how many times they have gone back to the cart. The storefront decides what to show.

Offer address lookup to a shopper the form keeps rejecting

A shopper has been on the address step for four minutes and the form has rejected it three times, each time on the postal code. From the outside this looks like a shopper taking their time. A recovery message sent after they leave arrives after the problem, and the problem was the form. What they need now is an address lookup, or a guest checkout that asks for less.

What Signals knows
current_step
The checkout step the shopper is on now
seconds_on_step
Seconds since the shopper reached this step
address_errors_session
Validation errors on the address step this visit
What your storefront does

Swaps in address lookup once a shopper on the address step has had two errors, and offers guest checkout when the time on the step passes the limit your team set.

checkout.tsx · 15 lines
// In the code that renders the checkout
const shopper = await signals.getServiceAttributes({
  name: "shop_checkout_address",
  attribute_key: "domain_sessionid",
  identifier: sessionId,
});
// { current_step: "address", seconds_on_step: 243, address_errors_session: 3 }

if (shopper.current_step === "address" && shopper.address_errors_session >= 2) {
  checkout.show({ help: "address_lookup" });
}

if (shopper.current_step === "address" && shopper.seconds_on_step > checkout.stallAfter) {
  checkout.show({ help: "guest_checkout" });
}

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.