It's all or nothing. By that I mean ideally he barks no where. By that I mean obsessive barking for no reason. As you have found it's not easy to change, but the dog can't on his own know when it's acceptable or not. So I would think it starts at home, then work yourself to other places. Use a combo of training methods, redirection, reward, and light corrections, etc. He'll get it. You'll get it. Sometimes you have to take a step back, re-evaluate, and start again.
Misty- Samoyed Mix, Tannor- Golden Retriever CGC
Robyn- GSD CGC, TC, Midnite-GSD CGC,TC, Brennan-Golden Retriever CGC, Batman-Husky/Greyhound , Apollo-GSD