Tipping prior to the service defeats the purpose, if you're tipping so you get a service you expect then you are rewarding the person for what they should be doing in the first place.

You tip afterwards If the service exceeds your expectations of what you're expecting from the service type. Giving the person the tip prior tells them that they don't need to work for it because you won't get that tip back. Regardless I always leave a tip or give one provided that the service isn't shit because those that work in the industry could do with a bit extra.

This is my opinion coming from a customer service back ground of more then 15 years.