Your best customers are the ones worth a thank-you, and they are already sitting in your order history. The trouble is pulling the list by hand: sorting customers by spend, checking what actually sells, then building a coupon for each without fat-fingering the discount. This hands the digging to the agent and keeps the sending, and the deciding, with you.
I want to reward my top customers with a coupon. First, change nothing: pullmy customers sorted by total spent, show me the top [15] with their ordercount and lifetime spend, and pull the best-selling products for the [last90 days] so the reward matches what they buy.
Then propose a coupon plan as a table: a code for each customer or one sharedcode, the discount ([15%] off), a usage limit of [1] per customer, and anexpiry [30 days] out. Change nothing yet, just show me the plan.
Once I approve it, create the coupons in small batches and show me each batchas it saves. At the end, give me the final list of codes in plain text so Ican send them out myself.Why this is safe to run
The whole first half is reads. Listing customers and pulling the top-sellers report writes nothing, so you see the full coupon plan as a table before a single code exists. Nothing is created until you say the plan is right.
The write half only creates coupons, and only in batches you watch go by. It never touches an order, a customer record, or a product, and it cannot email anyone, so the codes land in your hands and the sending stays yours. If a coupon comes out wrong, a coupon is the easy write to undo: disable or delete it in WooCommerce and it is gone. Every create is checked against the capability of the user you bound the agent to, and every one lands in the Activity Log with the code it made.
Already connected? You do not have to paste this at all. Ask your agent for the “reward your best customers with targeted coupons” recipe, or just describe who you want to thank, and it runs the same reads-first flow on your own store.