well, I don't really think of it as rudeness. basic customer service reward theory should indicate that you reward someone who's making you money, not someone who hasn't ever been a customer. you want to incentivize existing customers to spend more., right?
also, sometimes, they mess up and it costs you money, for which they should definitely compensate you.