Training your dog loose leash walking takes time. Here are some tips to train your dog not to pull on the leash:
Expectations: Young or energetic dogs take longer than mature or calm dogs. Dogs who don’t see the outside world often will require more training than dogs who are exposed to external stimuli frequently
Consistency and Patience: Be consistent. That includes anybody and everybody that handles the leash. Make sure the whole household is practicing the same consistent training. It may take your dog a long time for the learning process to fully take place. Maintain patience and meet your dog where they are in the process
Reward in the right spot: Keep treats or a tug toy with you as you are training this behavior. It won’t be forever, you will do this while your dog is still learning. When the leash is loose, give the treat or toy while your dog is still moving. This may take practice from you to master delivering a reinforcement while still moving. Keep the reward in your hand next to your leg on the side your dog is on so your dog comes to you to get the treat and you aren’t reaching towards them.
Punishment when pulling: Punishment in this context means that we want to decrease a behavior. When your dog is pulling on the leash, in order to decrease that behavior we take away the ability to get to wherever they are trying to pull towards. You can do this by stopping movement, plant your feet and ground in place. Once your dog releases pressure you can take a step forward. Repeat as if you are playing red light green light. This may take some time. You can also give penalty yards where you stop the movement and move backwards away from the direction your dog was trying to go. Remember that when you let your dog pull to get to a rewarding sniff or wherever they want to go, you are reinforcing that behavior. To your dog, pulling = getting what they want. You need to teach them that pulling gets them the opposite of what they want and a loose leash gets them what they want.