When your dog knows how to heel it is easier to take him places. Instead of feeling anxious and frustrated by his pulling, the two of you can enjoy the outing together, moving along like a team. Your dog is safer in the 'heel' position, is more focused on you and ready to listen, and is more likely to be welcomed into places.
Because forward movement towards something that your dog is interested in is a reward in and of itself, it is extremely important that you are consistent with the training, and do not allow your dog to get to whatever he is approaching until he is walking in the 'heel' position to get there. If pulling can get him what he wants then he has no real reason to heel, but if heeling gets him where he wants to go then he will be motivated to walk in the right position.
Because the desire for forward movement is such a strong urge in your dog, expect this training to take time, especially when you introduce distractions. Be patient with your dog. He will need a lot of practice and instruction to learn this, but he can learn it with your help, and it will be well worth the effort. Just imagine years of wonderful walks and being able to take him to lots of places.
While training this, expect walks to take place close to home for a while. It is completely normal while training for your entire walk to take place in your own front yard, in the form of right and left turns and stops. If your dog is focusing on you during the training and walking lots of steps in your yard, then he is being exercised both mentally and physically. You will eventually be able to take him on normal walks again. If you get tired of your own yard while training this, then try taking him to a nearby, calm park with an open field or a paved area, where you can practice heeling.
Remember to tell him when he is doing the right action. When he is walking nicely beside you for several steps, or looks up at you, or sits when you stop without being told, or adjusts his pace to match yours when you turn, praise him! Let him know when he gets it right so that he will learn and be motivated to continue. After he understands what he is supposed to be doing, then as he improves, gradually decrease the number of treats that you give him. Begin to only give him treats for doing especially well at something. That might mean giving him a treat after passing five houses while heeling instead of just four, or giving him a treat for continuing to heel while you pass by another dog, or sitting when you stop without having to be told. Pay attention to his improvement and reward him for doing even better than he did before. Expect to reward him more frequently again whenever you introduce new distractions though.