Search docs
Find a page, section or endpoint

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.

High-value customers segment + webhook

event: purchasemetrics: total_spend, order_count

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.

Segment: spent 10,000+ over at least 2 orders
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

event: purchasemetrics: last_order_at, total_spend

Customers who used to buy and have gone quiet.

You need: the purchase event and the last_order_at and total_spend metrics.

Segment rule: bought before, quiet for 60+ days
{
  "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

event: abandonedcheckoutmetric: last_abandoned_checkout_at

Remind people who left checkout in the last day.

You need: the abandonedcheckout event and a last_abandoned_checkout_at metric, created below.

Metric: when they last abandoned a checkout
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"}'
Segment rule: abandoned in the last day
{ "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

event: addtocartmetric: recent_cart_adds

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.

Metric: last 5 distinct products added
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.

Segment rule: added to cart in the last day
{ "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

event: addshippinginfometric: country

The customer's latest shipping country.

You need: the addshippinginfo event and a country metric, created below.

Metric: latest shipping country
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.

Membership check by email
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"
200 OK
{
  "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.

Next#