Typical European loyalty programs offer spend-based ‘points’ accumulation which can be spent as a discount later. Additional offers on top of that like ‘bonus points on product X’ or personalized offers based on purchase history add to the degree of variation in how much individual customers end up spending.
Yeah, it seems that is allowed.
If a store exists that has a "membership discount" (e.g. members get 10% off their purchase), like maybe GNC does, it seems that would be allowed, too.