Appearance
Segment Targeting Guide
Stackd's coupon system supports four customer segments for targeted distribution. This guide explains how each segment is defined and how to use them effectively.
Segments overview
| Segment key | Who is included |
|---|---|
all | Every active customer in your tenant account |
long_standing | Customers registered more than 90 days ago |
recent_purchase | Customers who transacted in the last 30 days |
manual | A specific list of customer ULIDs you provide |
Segments are evaluated at the moment you send the coupon — not at creation time. The recipient list is calculated once per send and fixed immediately.
all — All customers
Targets every customer in your account regardless of activity level or registration date.
Best for: Broad promotions, announcements, seasonal campaigns.
Watch out for: High email volume. If your list is large, consider a narrower segment to improve deliverability and reduce unsubscribes.
long_standing — Long-standing customers
Includes customers whose account was created more than 90 days before the send date.
Best for: Loyalty rewards for returning regulars. "Thank you for being with us for over 3 months" campaigns.
Technical detail: The 90-day threshold is measured from customers.created_at (the customer's first check-in date in your account). The cut-off is calculated in your tenant's configured timezone.
recent_purchase — Recent purchasers
Includes customers who have at least one transaction recorded in the last 30 days.
Best for: Re-engagement promotions. Drive a second visit from customers who transacted recently but haven't returned.
Technical detail: A transaction must have status = completed and created_at within the last 30 days. Voided transactions are excluded from this calculation.
manual — Manual selection
You specify a list of customer ULIDs directly. Only those customers receive the coupon.
Best for:
- VIP customer programmes — reward your top 10 by points balance (use the Top Customers report —
GET /api/v1/reports/customers/top— to pull the list). - Corrective sends — re-send to customers who reported not receiving a previous campaign.
- Pilot programmes — test a new coupon with a known subset before broad distribution.
How to use via the admin UI: On the Send dialog, choose Manual selection and search for customers by name, phone, or email. Add them one by one.
How to use via the API: The coupon send is admin-only at MVP. Pull the customer list from GET /api/v1/reports/customers/top or GET /api/v1/customers (with filters) to identify your target ULIDs, then complete the send in the admin UI.
Recipient preview
Before confirming a send, the admin UI shows a recipient count for the selected segment. Use this to sanity-check the audience size before dispatching emails.
The preview is calculated in real time and reflects the current state of your customer database. If you send immediately after seeing the preview, the actual recipient list will match the preview (no delay between preview and send).
Combining segments — future capability
The current MVP supports one segment per coupon send. Multiple segments per send (union or intersection) is not currently supported. To approximate a combined send, you can send the same coupon twice with different segments — each customer will receive at most max_per_customer vouchers in total, so duplicate redemptions are protected.
Segment evaluation timing
Segments are point-in-time snapshots evaluated at send time. There is no re-evaluation later. If a new customer joins after you send a coupon, they will not receive that send's voucher. Schedule a follow-up send or use the all segment for future sends that should include new customers.
Tips for effective targeting
- Start narrow. Test a new reward with
manual(a handful of known customers) before sending toall. - Use recent_purchase for win-back. These customers are already engaged — a small incentive often drives a repeat visit.
- Layer with expiry dates. Short expiry windows (7–14 days) create urgency. Longer windows (30+ days) work better for occasional visit businesses.
- Monitor pending vs redeemed. If pending counts stay high after the expiry window, your segment was too broad or the reward too weak. Tighten both on the next campaign.