First and foremost…extreme patience.
Dogs do what they find rewarding, and stop doing what stops being rewarding. The following two methods each address one of those.
METHOD ONE: Make it rewarding to walk beside you.
I assume she’s food motivated. Rare is the dog who isn’t.* Take PLENTY of treats. Walk SLOWLY, one step at a time, holding treats in your hand down at your left knee. Keep your fist closed at first, so she can smell, but not snag any. She should be right beside you, hoping you’re going to give up some of what’s in your hand. Begin stepping forward, slowly. She should still be right there, give her a little bit of treat. Step, step, treat, step, treat, step step, treat, step, treat, step, treat. Also praise as she stays beside you.
Keep doing this. Over time you reward less and less frequently as she gets the rhythm and knowledge that the most rewarding place to be on a walk is right next to you. Eventually, you stop treating altogether, but of course you always praise.
METHOD TWO: Make it UNrewarding to pull.
This comes into play after you’ve got her doing a better job of staying beside you. When she decides she’s going to pull you, you immediately reverse direction and walk the other way. INSTANTLY. No fuss, no correction, no anger, no fight. Just turn around and walk in the opposite direction from the direction she’s pulling. If she pulls in the new direction, do it again. If she pulls in the new direction, do it again.
You may find that sometimes you don’t get to take more than a step or two in any direction at first. But she’ll get it, and she’ll get tired of it - she’ll figure out that the only way to actually GET to anyplace she’s interested in going to is to relax, and that the minute she pulls towards it, it’s gone.
Trust me, these methods WORK. They depend on your patience, but if she’s even average smart for a dog, it won’t take long at all before she gets it.
For any and every issue you ever face training a dog, just remember that they do what they find rewarding, they stop doing what isn’t rewarding anymore.
*If she isn’t, it might be because you are free-feeding her. **Stop that. ** Feed her unpredictably. Give her no more than 10 minutes to finish, then pick up the dish. Even if she hasn’t eaten anything at all. Wait a few hours, do it again. Let her go 24 hours without once in while, it will not hurt her at all. You must control all the food all the time, and she must not be able to predict or demand it. You will find she will appreciate treats as a training tool much more.