I would do it via a randomised lottery, in order to fairly distribute the offer / tickets, as well as making the process as transparent as possible.
For prize draws then I think the random number generator is still the fairest way of getting a winner.
For tickets then it just so long as you give everyone enough notice it is up to them to join a queue or open the website up.
As for other offers (like the free coffee) then again give people enough notice and it is up to them.
Not sure if excluding people who regularly use a particular offer would be fair or not - for instance, if someone gets a coffee 3 weeks in a row could you exclude them to give someone else a chance? Tricky one to measure and decide...
Please note, this is not customer services and we cannot access your account. Do not publish personal details (email, phone number, bank account).
Link to our guide on how to contact them can be found here
Random selection based on Postcode - making sure to include ALL UK official Royal Mail postcodes (surprising how many lotteries use certified software from the Gambling Commission but exclude Inner and Outer Hebrides, Orkney, Northern Scotland, Shetland, Isle of Wight and Northern Ireland postcodes... 😖)
Tricky one.. if the offer is of value.. ie tickets.. then I'd let everyone know there are X amounts up for grabs, register interest on a particular URL.. upto the Customers then to react in time...
It's still fair... you just have to be an Active Customer...
I'd split by area
Offers -- generally do have a close date on them. I like the current priority offers/competition for summer which has a "Active from xxx date" so that customers are aware when it starts. Giving all a fair chance to enter and then random selection, taking on board what @pgn said about the randomiser.
Tickets -- first come basis would seem fair, although that is on the basis of someone who has not tried to get a ticket before.
Though going back to last week's question, if I were in charge then I would ask for the data on ticket allocations, Is it difficult to get certain tickets? Do they disappear in seconds? Do certain customers always get tickets?
Then use the data to say whether there needs to be any changes to increase fairness (if it is unfair)
The fairest option is first come first served, however I can understand how people feel cheated on it, a potential for those which are prize drawer based is introduce a tiered system, where the longer you have been an O2 customer for you get some additional entries (for example 0-3 Years just the single entry, 3-6 years an additional entry, 6 years + an additional 2 entires).
When advertised make it clear what times they go live and times they finish. That way everyone is in the know. Ensure you pick offers which have a lot of branches, eg, gregg. Also, negotiate more offer claims per retailer. I do get annoyed when i go into town and suddenly Nero is sold out.
Limit offers that can be used. For example, if you use a coffee at Greggs you can’t use a coffee at Nero. This will stop people using them all throughout the day.
If people don’t get to use the offers they will stop using the app. That then gives them one less reason to staf with O2.