Build audiences
Recipes
Complete setups for common goals: VIPs, win-back, abandoned checkout and more.
Complete, copy-pasteable setups built on the events you already send. Each recipe lists what it's for, the event and metrics it needs, the setup, and how to use the result.
Spot VIPs the moment they cross a spend threshold.
Customers who used to buy and have gone quiet.
Remind people who left checkout in the last day.
The last 5 products each shopper added.
The customer's latest shipping country.
"Is this shopper a VIP?" in one call, plus support lookups.
High-value customers segment + webhook
Spot VIPs the moment they cross a spend threshold.
You need: the purchase event and the total_spend and order_count metrics from the quickstart.
curl -X PUT "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/segments/vip-customers" \
-H "Authorization: Bearer $BREEZEIQ_TOKEN" -H "Content-Type: application/json" \
-d '{"workspace_id":"my-store","display_name":"VIP customers",
"predicate":{"all":[{"metric":"total_spend","op":"gte","value":10000},
{"metric":"order_count","op":"gte","value":2}]},
"automations":{"on_enter":true,"on_exit":false,"on_backfill":false}}'Use it: on each entered webhook, fetch the profile and tag the customer in your CRM or loyalty system.
Win-back time-based segment
Customers who used to buy and have gone quiet.
You need: the purchase event and the last_order_at and total_spend metrics.
{
"all": [
{ "metric": "last_order_at", "op": "beyond_days", "value": 60 },
{ "metric": "total_spend", "op": "gte", "value": 1000 }
]
}Use it: people age into this segment over time with no new event; BreezeIQ re-checks time-based rules periodically. Set "on_backfill": true if you want webhooks for those time-driven entries too.
Abandoned checkout time metric
Remind people who left checkout in the last day.
You need: the abandonedcheckout event and a last_abandoned_checkout_at metric, created below.
curl -X PUT "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/metric-definitions" \
-H "Authorization: Bearer $BREEZEIQ_TOKEN" -H "Content-Type: application/json" \
-d '{"metric_name":"last_abandoned_checkout_at","event_name":"abandonedcheckout",
"value_kind":"occurred_at_epoch","display_name":"Last abandoned checkout"}'{ "metric": "last_abandoned_checkout_at", "op": "within_days", "value": 1 }Use it: send a reminder on entered. Customers drop out automatically after a day.
Recently added to cart list metric
The last 5 products each shopper added.
You need: an add-to-cart event type (for example addtocart). Register it first and send it from the storefront with the product id. Then create the recent_cart_adds metric.
curl -X PUT "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/metric-definitions" \
-H "Authorization: Bearer $BREEZEIQ_TOKEN" -H "Content-Type: application/json" \
-d '{"metric_name":"recent_cart_adds","event_name":"addtocart","value_kind":"property_string",
"value_path":"properties.product_id","aggregation":"recent","keep":5,"display_name":"Recent cart adds"}'The profile then carries "items": [{"value": "SKU-7", "at": "..."}, ...], newest first. A product added again moves back to the front. Cart adds made before login join the customer's list when they log in.
{ "metric": "recent_cart_adds", "op": "within_days", "value": 1 }Use it: on entered, fetch the profile and render the items in a "still thinking about these?" message.
Country personalisation text metric
The customer's latest shipping country.
You need: the addshippinginfo event and a country metric, created below.
curl -X PUT "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/metric-definitions" \
-H "Authorization: Bearer $BREEZEIQ_TOKEN" -H "Content-Type: application/json" \
-d '{"metric_name":"country","event_name":"addshippinginfo","value_kind":"property_string",
"value_path":"properties.country","aggregation":"latest","display_name":"Country"}'The newest value by event time wins, so a delayed old event never overwrites a newer country. To also learn it from orders, add a second claim with "event_name": "purchase".
Use it: read metrics[].text from a profile lookup to pick currency, language or shipping offers.
Real-time checks & support lookups read API
"Is this shopper in a segment right now?" in one call, no webhooks needed.
You need: a segment, such as vip-customers from High-value customers, and a customer identifier.
curl "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/workspaces/my-store/segments/vip-customers/membership?type=email&[email protected]" \
-H "Authorization: Bearer $BREEZEIQ_TOKEN"{
"in_segment": true,
"since": "2026-10-08T10:15:04Z",
"profile_id": "60de1d6e-748f-87dc-ab33-bfbbaba9b299",
"origin": "live-eval",
"evaluated_version": 3,
"as_of": "2026-10-08T11:02:10Z",
"segment_status": "active"
}Use it: gate offers or content on in_segment. Support teams can pull a full customer view by phone or email with profile lookup: identifiers, every metric, and current segments.