Subway, 5 Guys, Starbucks, etc...where they have a jar they get some change maybe a buck & change. Sit down restaurant 15-20%. 15% is for mediocre but passable service, great service may get more than 20%. I expect more at a fancy, high end place, obviously, than a family place or pizza place. Yes, I tip less when service is not up to expectations. But I make a real effort to try and correct the problem with the waitstaff before it gets to the point of tipping less. This helps almost every time. Let them know you are upset and give them a chance to make a correction.
If that doesn’t work, and it hasn’t before even at high end places, they are going to get a lot less. I have been asked “was there a problem”? And I have said, “yes, and I let you know 10 minutes in and you didn’t seem to care so that is what you get.”. Tough shit. I have only left zero tip a couple of times when it was clear we wouldn’t be finishing the meal.