Also "better" is a subjective term. If someone was on the old plan solely for the free weekend calling. They won't like getting advertising or spam for something that to them is a worse plan.
My understanding is that Vodafone maintains a list of customers who have opted out of marketing messages. Simple way would be to only send the new plan offers to those who haven't opted out. Then if someone complains about receiving or not receiving the offer. Vodafone can then say -You are / are not on the list to receive marketing offers and new plan offers. Do you want me to add / remove you from the list?