The only thing that i got in my mind are just check to check for everything.
Like if he has a score more than 0 or objects in his bags and all that stuff and if one of this becomes true than they will never get coupons for free.
And for reinstallers just check the store if they have purchased something and if its true than they will get none too. And if you have a facebook login then check this for a score too. If your game dont need scores and you have a login function for fb, then set the fb score to 1 and check for that too.
Even for checking if there is any webstorage key existing would be enough, if there is only 1 key existing than they dont get any coupon too.
If you thinking of saveing information on a server than just generate UserID's for each new player and let them at first choose a name for there charakters or something and save that information too. Now no one would be able to change his userID in webstorage because they dont know the correct username that belongs to it.
For reinstallers are no chances to check for something that i know would work. Maybe someone others has a better idea. Sorry thats all i can help.