Personally, I don’t think you need any kind of training tools to teach your puppy to walk properly. What do you do when he pulls? Whenever my dogs pull, I immediately stop in my tracks and refuse to move until there’s slack in the leash again. Every. Single. Time. This includes going to a store, going to the dog park, going to your training class, going to the vet. Get there half an hour early if you have to so you aren’t late. Yes, it’s a pain. Yes, walks take forever for a while. It’s necessary.
As a result of that (and giving lots of high value treats whenever my dogs were walking at my side), neither of my dogs pull at all, even in exciting situations. Pulling literally never gets them what they want, but walking nicely does. I have a 75lb German shepherd. He can’t be pulling me around.
I would try teaching him to walk with you without a leash. Play follow the leader - run, twist, turn, try to lose him, change direction, and every second or two give him a tiny treat for managing to stay with you. Start somewhere boring, then play it in safe enclosed spaces out of doors. When he has got the idea introduce a cue - I use "With me!". Keep up a really high rate of praise and reward - at least every two seconds, preferably more, and play in short bursts, letting him go off to sniff and explore before he gets bored, and then running away to start the game again.
When it is the Best Game Ever put the leash on somewhere boring and use your cue to remind him to stay with you while you play the same twisty turning game, rewarding very, very frequently at first. Remember to keep up the rate of reward when you move on to more interesting places and more challenging situations - keep rewarding him for staying with you and not pulling, rather than waiting to correct him. If he begins to pull stop, use your cue, and set off in another direction, praising and rewarding him.
If he is an inveterate puller and there are times you have no choice but to use a leash I would get a harness while he is learning the skills of loose leash walking, rather than risk damage to his trachea.
With Pogo I made the mistake of letting him pull when he was a youngster. I graduated him from his baby harness to a collar to a martingale to a front clip harness to a head collar. Each would stop the pulling for a few weeks. Then he would grow accustomed and return to pulling. The problem was me relying on a device and not training.
Something I realized in all this is that he was always beautifully behaved when I took him to visit my mother in law in the nursing home. Why the difference? Again, it was me. Knowing he would grow to be a big dog, I had zero, and I mean zero, tolerance for him rushing at my mother in law or any other elderly person. I would stop him dead and usually make him sit. If that didn't get his attention, I would grab the back of his harness and remove him from the scene as though I was lugging a suitcase. Because I was so concerned about him hurting an elder or doing something to get dogs banned, I was consistent in a way I never was when we were just out on walks together. Without me consciously realizing how I was training him, he learned my rules about nursing home behavior were absolute and non-negotiable.
I'm trying for the same kind of consistency now as I train Galen to walk on leash with his harness. He pulls, I stop moving. Every single time. (He also got introduced to the dog-as-luggage concept when I needed to quickly get him out of the way of a car turning at us. With me now means NOW.)
This can be a very long process, so I recommend starting by getting your puppy into a harness so he can't damage his trachea.
Then here is a step-by-step positive reinforcement how-to article, which begins by explaining why "tried and true" methods (like stopping every time pup pulls) can backfire with our smarty pants poodles:
Loose leash walking can be a challenge for many dogs. Our extensive guide explains step-by-step how to get your dog to walk politely and without pulling!
I do lots of short "loose-leash" practise sessions, every day, throughout the day, inside the house and in our fenced backyard, without a leash.
My husband and I also exercise Peggy with weekly doggy play dates, gentle hikes on a 15-foot leash, and the 4 Fs: Frisbee, fetch, flirt pole, and freeze. (That last one is a fun game I play with her, where she runs around the backyard and then I ask for a "Wait." Let the tension build. Then release! Repeat repeat repeat. Kind of like freeze tag from our playground days.)
I mention this additional exercise because of something important in that link I shared:
"Loose leash walking is a calm and low-energy activity. If all the exercise your dog gets is leash walking, and he does not yet understand that he should not pull on leash, you are setting yourself up for a cycle of frustration and disappointment."
I would either do as Pytheis suggested with the addition of turning around and going home if the pulling persists. Or if you have a safe place to do it, try fjm's approach. It is interesting to notice that well trained performance obedience dogs almost always heel better off leash than on. I htink it puts more responsibility on the dog to understand that you are a team while walking.
I actually would not use a motion restricting harness. Harnesses that are designed to prevent pulling and jumping may actually injure the dog. The only extraordinary tool that I use is a pinch collar and then only under carefully proscribed situations.
A few things. It is far easier to teach a dog not to pull on leash if you practice inside first. That way you get a chance to set the dog up for success with less distractions around. By working inside, you get to teach the dog what you do want, which is to walk next to you.
Here's one game I use with my students.
In a very boring place inside your house, put on your dog's leash and put a treat next to your left foot. Wait for the dog to eat it. Take one step, put another treat next to your left foot and wait for the dog to eat it. The dog does not have to sit. Repeat this pattern for 8 steps. Walk a step, treat by your foot, walk a step, treat by your foot.
On the way back to where you started, you will skip treat #6. Fifth step, stop treat, keep walking, stop on 7, treat, stop on 8, treat.
Repeat again, same game. This time skip treat 3 and treat 6.
Same game, only this time, treat, step step, treat, step step, treat.
Same game, treat, walk to the middle, stop and treat, walk to the end, stop and treat.
Same game, treat step one, treat step 8.
Look at that!!! The dog is walking next to you on a loose leash all the way from point A to point B.
Practice this game in your house. Next day, same game, different room, start at the beginning. Third day, take the game outside to the most boring place you can find. Next to the garage is a good one. Same game. Next day, new boring place, same game.
After two weeks of practice, start using sidewalk square lines. Treat at every sidewalk line for a few steps. Skip a line, treat at the next one. Slowly work until you can walk from one driveway, stop treat, to the next drive way, stop treat.
By doing this method, you're setting your dog up with a very high rate of reinforcement, and also raising criteria at the same time. So, it gets slightly more difficult every time, but not so difficult the dog gets frustrated.
While you are working on that skill set, consider getting your dog a Freedom Harness for walks. I like this one because it doesn't impede shoulder movement as much as some other harnesses do. A front clip harness will help, but it's not a magic dog training tool. The magical secret of dog training is... there is no magic. Just practice in low distraction environments first before moving to higher distraction environments, and raising criteria quickly, but fairly.