Teach the dog where the good stuff happens
The core idea is simple: being next to you, on a loose leash, is the best place in the world.
Step one: reward position
Walk with a treat in your hand on the side you want the dog. Every few steps, while the leash hangs loose, say "yes" and deliver the treat right at your leg. Do this ten times in a row. You are not asking for heel. You are paying for being close.
Step two: stop when it goes tight
The moment the leash goes tight, stop walking. Stand like a tree. Do not yank. Wait for the dog to look back, ease off, or step toward you. When the leash slackens, mark and reward, then go forward. The forward motion is a reward too.
Step three: change direction
If the dog keeps surging, say "this way" in a cheerful voice and turn around. The dog follows, the leash loosens, and you reward at your leg. Over a week, many dogs begin checking in before the leash tightens.
A five minute starter session
Pick a quiet spot. Count out ten treats. Walk twenty steps and reward every four or five steps while the leash is loose. If the leash tightens, stop, wait, then reward the moment it slackens. When the treats are gone, you are done. Five focused minutes, once or twice a day, builds more than a stressful forty minute slog where you spend the whole time bracing.
Track what the dog does when they get to the end of the leash. A dog who looks back at you is learning. A dog who leans harder is telling you the environment is too exciting, so move somewhere easier and rebuild.