How do you get repeat customers?
By turning up at the right moment through a channel you do not pay per message for. Timing matters more than the offer, and most stores have the timing data already.
In more detail
The sequence that works: know the median repurchase gap, reach the customer just before it, and make reordering take one step rather than five. Owned channels — email, push, the app — cost nothing per send, which is what makes this repeatable.
What to do about it
Retention beats acquisition on every measure, and almost every store spends the other way round.
The slowest part of most mobile stores is images nobody resized. It is the most common performance problem and the easiest to fix.
Discounting to grow trains customers to wait for discounts. It works once and costs afterwards.
The mobile app angle
Push notifications are the one growth channel you do not rent. Every other route to a customer is paid for again each time.