If you haven't done so already, see page 1 of Leash Training a Puppy for:
If you're still having problems, or just want some more options, below are another two methods for training your puppy to walk nicely on a leash.
Using a flat buckle collar and a 6' leash go outside with your pup. Now have lots of tasty treats or a toy and back away from your pup. Make it a game and be exciting. If he follows, give him his treat.
Practice that a couple of times until he is following you (while you back up) consistently. This time when he comes up to you looking for his treat, swivel round so that he is on your left side and you are both facing forward with a loose leash.
Take a few steps forward together and then swivel back to being in front of him backing up. Make sure you get his attention when you are backing up and again swivel round when he is coming up to you for a treat.
You can repeat this over and over with the aim of increasing the amount of time you are walking forward together each time you do it. Eventually you should be able to walk forward together with a loose leash and every time you see him getting a bit further away then back up and repeat the exercise.
The most important thing with this method is to be as exciting and fun as you can so that your pup is going to want to be with you more than he is going to want to move away from you. Lots of treats and lots of excitement for this method.
For this method you're going to do something completely different. You're going to use a 15' long line and get your pup to walk by your side willingly.
Attach the long line to your dog's collar and hold on to the other end loosely. Let your dog do as he wants on the other end and have some tasty treats or a toy. This time you're not going to try and entice your dog to come to you but instead will reward him if he does.
If he doesn't come to you at all just be patient and wait. You can try pretending to play with the toy by yourself or pretend to eat the treats if he is just ignoring you.
When he does come then give him some treats, play with his toy (don't let it go though) and give lots of reward. As long as he is staying by your side, start walking forward and give him treats one by one or have a game with his toy. If he goes away again, stop walking, stand still and wait for him to return. Again, if he doesn't then pretend to play with his toy or pretend to eat the treats until he returns.
Every time your pup comes to you the leash will naturally be loose and he will get used to walking with a loose leash. This method works well as it teaches your pup that coming to you is rewarding and that he isn't being restrained by the leash. He will feel more like it was his choice to be by your side and won't get used to walking with a tight leash. Once he is consistently staying by your side you can change the leash out for a regular 6' one and he should still be walking by your side calmly.
If at any time he starts to pull on the 6' leash go back to training with a long line or try one of the other methods when on a short leash.
When going outside you should start somewhere fairly quiet and gradually increase his exposure to every day distractions you are likely to encounter. These can include:
When leash training outside, always start as far away from a distraction as you can and gradually build up to getting closer. If your pup seems worried by any of the distractions then go slower and don't move closer until he is happy to do so.
Sometimes, however, you really need to get somewhere quickly and haven't got time to practice leash training with your pup. In these circumstances, I would recommend that you obtain a gentle harness that prevents your puppy (or dog) from pulling. The best one I've found is the Sporn Non-Pull Mesh Harness.
This type of harness will not teach your pup to stop pulling but it will prevent pulling and allow you to get from A to B without your arm being pulled out of it's socket. You can use it in-between your training sessions but I don't recommend using it instead of leash training your puppy. Reason being, as soon as you take the harness off and put a normal leash on your puppy, the pulling will start again.
Never use prong, choke, check chains or electric shock collars on your dogs. These cause distress and unnecessary discomfort. Also, don't use the "old school" method of pulling on the leash (usually with a check chain) to get them to be in the position you want them to be. It doesn't work very well and far more exhausting for you than training needs to be.
Keep practicing your chosen technique on a daily basis. Once your puppy is consistently following you and looking away from distractions, you can begin to give treats less often.Start by reducing the number of treats you give him to every second or third time. You should, however, continue to praise him for walking nicely on a leash.
If you practice these steps in leash training a puppy consistently, your pup should grow up to be a dog that walks with a nice loose leash and a pleasure to take out.