Retail and e-commerce/Offer targeting

A discount that goes to the shopper who needs it.

Signals tells your storefront when a shopper keeps coming back to a price without buying, and when one has added at full price, so your offer rules can give the code to the first and hold it from the second.

Lower discount spend

Spend less on discounts by giving the code to the shopper who is hesitating.

Discount spend falls when the code reaches the shopper who is weighing the price and stays away from the one who was going to pay in full. Signals gives your storefront how many times this shopper has come back to a product this visit and across visits, whether they have added anything to the cart, and whether a coupon is on the order. Your offer rules decide who gets a code, how large it is, and who gets nothing.

Give the code to the shopper who keeps coming back to the price

A shopper has opened the same jacket three times this visit, scrolled to the price each time and left the page without adding it. The site-wide code went out in this morning's email to everyone, before anyone could tell this shopper from the one who bought on the first look. The third return to the price is the moment to make the offer. The rules can only make it then if they see it while the shopper is still on the product page.

What Signals knows
product_views_session
How many times they opened each product this visit
adds_session
Items added to the cart this visit
What your offer rules do

Shows a code on the product page once a shopper has opened the same product three times this visit with nothing in the cart, and keeps the site-wide banner closed for everyone who has not.

product.tsx · 13 lines
// In the code that renders the product page
const shopper = await signals.getServiceAttributes({
  name: "shop_offers_hesitating",
  attribute_key: "domain_sessionid",
  identifier: sessionId,
});
// { product_views_session: { "sku-4471": 3, "sku-2210": 1 }, adds_session: 0 }

const looks = shopper.product_views_session[productId] ?? 0;

if (looks >= 3 && shopper.adds_session === 0) {
  offers.show({ kind: "code", product: productId, placement: "price" });
}

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.