A two-week walkthrough for running a major sale on Shoppex. Built around Black Friday but the same playbook works for any limited-time promotion — Cyber Monday, end-of-quarter, launch sales.Documentation Index
Fetch the complete documentation index at: https://docs.shoppex.io/llms.txt
Use this file to discover all available pages before exploring further.
What you’ll do
- Prep your catalog (which products are on sale, by how much).
- Create coupon codes, with limits and product-targeting.
- Build the buyer list to email and Telegram-blast.
- Schedule the email campaign for the moment the sale opens.
- Track conversions live and react if something underperforms.
- Run the post-mortem.
Two weeks before — prep
Pick the discount strategy
Coupon types Shoppex supports:PERCENTAGE— N% off the order.FIXED— fixed-amount discount.
maxUses— total redemptions across all buyers (cap the exposure).minOrderAmount— minimum order subtotal to be eligible.maxDiscount— cap the absolute discount (useful for percent codes on big orders).validFrom/validUntil— time window. Coupon code returns invalid outside these times.- Product / variant binding — restrict to specific products. Without bindings, coupon applies to anything.
- A general code (
BF25for 25% off everything, capped at $X). - Product-line specific codes (
PRO-BFfor the Pro tier only). - VIP code with bigger discount, low max-uses, shared only with your top customers.
/coupons).
Build your email lists and segments
In Marketing → Email (/marketing/email), your list of buyers is automatically
maintained. Build segments based on what you want to target:
- All past buyers.
- Buyers in the last 90 days (recent + warm).
- High-value buyers (LTV > $X).
- Trial-only buyers (never converted to paid).
Draft the email
Email Marketing’s template system is MJML-based. You can either:- Use the builder to drag-and-drop the email.
- Write MJML directly if you want pixel-precise control.
Build a parallel Telegram blast (if you use Telegram)
Same idea on Telegram side. Store → Telegram → Broadcasts → New broadcast.- Pick the target segment.
- Compose the message (include the coupon code or a deeplink).
- Schedule for the same moment as the email.
Sale day — go live
Schedule everything in advance
Don’t manually hit “Send” at 9am — set the schedule the night before. Both campaigns (emailMarketingCampaigns.scheduleAt) and Telegram broadcasts support scheduled send. You
wake up to the campaigns already going out.
Make sure your coupons’ validFrom matches the announcement time. If you email at 9am with
a code that says “valid from 10am”, buyers will hit “invalid code” at the first 100 attempts
and you’ve lost them.
Watch the dashboard
During the sale, your live indicators:- Analytics → Revenue (
/analytics) — running revenue total. - Orders page — orders coming in, filterable.
- Email campaign status — sent / delivered / opened / clicked counts, available per campaign.
- Telegram broadcasts — same kind of stats, per broadcast.
React if something underperforms
If the email got delivered but conversions are flat, consider:- A follow-up email 12-24 hours later with a different angle (urgency, social proof).
- Lower the coupon’s
minOrderAmountif you’re getting “cart abandoned because code didn’t apply” complaints. - Spawn a deeper discount code for an off-hours segment.
After the sale — post-mortem
Within a few days of close:- Filter Orders by each coupon code. Count: total redemptions, average order value, total revenue.
- Compare against the same week last month (or last year if you have one) to see net lift vs. just-discount-already-existing-buyers.
- Check Email Marketing stats: open rate, click rate, conversion rate per campaign.
- Note the segment that converted best — that’s where you push for the next campaign.
Common pitfalls
- Forgetting
maxUseson a percent code shared publicly. Someone leaks it; you’re refunding a thousand orders. Always cap. - Email templates that break on iOS Mail. Test before scheduling. MJML compiles to cross-client HTML but you still want to eyeball it.
- Coupon stacking. Shoppex applies one coupon per cart. If buyers complain “I can’t use both codes,” that’s expected — pick which one wins (usually the bigger).
- Shipping a sale on a day where one gateway is down. Test Stripe, PayPal, crypto before the announcement goes out.