Before a baby can walk, he has to learn to crawl. So what I usually recommend to people is: before a dog can heel, he should learn to walk on a loose leash....a nice walk, quite close to you, but not as precise as a heel. Heel is a very exacting position, with the dog's shoulder/neck area right in line with your thigh and close. It never wavers from turn to turn, from one speed to another. It takes a great deal of practice and is a more advanced skill. It also takes a good deal of concentration, even for the best of them. My dog has an accomplished heel but I rarely ask him to keep it up for an extended walk.
So, my recommendation is to work on a nice, loose leash walk, with a cue like, "let's go" or whatever you like. (that's sort of the fad now. lol)
In order for a dog to receive your instruction...your cues, he has to be focused on you. And that's where the attention training comes into play. You condition him to make eye contact with you on cue, by holding a treat in front of his nose and bringing up to your face. When he looks at you, give him the treat. When he is doing this regularily, add a cue, "watch me." Or "watch" or whatever. Do it in different places, random times, starting in low distractions and working up. He must be focusing on you and that will help him walk nicely along side you.
Frequent sits help a dog walk nicely. Frequent turns, zig zags, about turns all help him pay attention. When a dog sits or better yet, lies down, or turns his head away from the other dog (you help him with a lure) when another dog is coming, those are calming signals...as well as....it puts him in a more vulnerable positition and is less likely to be so brave as to lunge at the dog. Of course, sits and downs with stays need to be practiced in no distraction areas and worked up, just like everything. When he is walking nicely, reward frequently...every few steps which are nice and not pulling. This way he will get what it is he's doing which is earning him the reward.
Most dogs are treat motivated. You just have to find a tastier treat. If you work with your dog when he hasn't eaten for a while, and is a little hungry, it should help. A little deprivation will increase the value of the treat. You can use whatever motivates him....a toy or tug rope. But I like treats because they can eat them fast....tiny treats, the size of a pea...hot dog pieces, white cheese.
Don't worry about your dog focusing on the treat. Dogs do what works for them. They do not do things to please you. That's a big falacy. They are opportunists and scavengers and they've survived by manipulating their environment, including us for tens of thousands of years. LOL.
In order to motivate your dog, you need something he loves. This is a reinforcer. If you use what you think he should like, but he isn't that crazy about it, you're selling yourself short. Most trainers today use treats because most dogs are food motivated if you set them up to be. Food is an inherent need. Dogs get praise a lot anyhow and dogs who have been traditionally trained with a lot of corrections, aversives etc....naturally appreciate affection because it is a predictor that no aversive is likely to occur at that time, so they wag their tails. Of course they like praise. But why not give them something they REALLY love for a job well done. It will increase the probability of the correct response being repeated. Later, the treats can be put on a variable reward schedule so you can phase them out for the most part. But when a dog is learning a new behavior, a reinforcer is needed. A reinforcer is something which causes the behavior to be repeated. A reward is a nice thing. You need to distinguish between the two. A reward (something you think is a reward) is not necessarily a reinforcer. If your dog has a favorite toy which he doesn't get at any other time, use that and give a little play time. The reason I like treats is they're quick and you can get on with what you were doing. Toys....you have to give the dog some time to enjoy them and if you're teaching the dog to walk nicely, it interrupts the lesson, the walking. I would just pop the dog a treat while you're walking as long as he's walking nicely...every few steps. Then you can space it out later, (treating every few times, randomly) once he is walking nicely 90% of the time.
Think of treats like this: They're a paycheck. You wouldn't want to work without a paycheck. LOL.