Hello!
I subscribe to PhillipL - this kind of lead is the most effective and is recommended by good trainers using positive methods. We tried it as well and had high hopes for it, but Oscar went crazy when we put it on (jumping, zooming, crying, trying to take the thing off). It was a mess. I could not walk him because he was rolling on the ground and jumping like a goat with that thing on. Also, to date, Oscar is not interested in treats outside the house.
I have found the most effective method for us to be short frequent sessions of heeling, repeated over and over again. Even in circumstances when he was expecting something else. We went to our playing field and would make him heel until he could do it well enough before we started to play with the ball. On longer walks (and when walking with an aim - like having to arrive at the office), we applied leash corrections in order to avoid giving the command too many times, as well as perfecting Cesar's "tshhh" while applying the correction. The correction was a short, stronger leash pull with the aim to get his focus back, more like a zap, not pulling him back into position - he resumed the position by himself. When he caught a scent and was adamant about going in that direction, I started to stop. Stay - sit - wait - attention - heel. Every time he pulled, I stopped and we started again, and again, and again. However, I think I have done these things thousands of times until I got results.
Leash pulling is also a form of disrespect in dogs later in life, when they understand the command and understand what is expected from them. For example, Oscar never did it with my partner and actually he is able to heel 90% of the time without a leash when with him (with me, I would say maybe 70% without a leash, but now heels nicely when on a leash). Following Cesar and other trainers, I understood that he pulled on me sometimes because I was not good at being a leader for him. When I changed my behaviour and started having clear boundaries with him (in all aspects of our daily lives - from where he can sleep, when he is allowed on the couch with me, to how he receives the food, how he welcomes me and who gets to go out the doors first, etc.) and enforcing every single command, his behaviour towards me started to change slowly. And since I set up boundaries and he hasn't been allowed to ignore me, lots of things have changed.
So my recommendation is to always focus further than heeling (you should practice this every single day, over and over again, but also focus on other aspects of your interaction), focus further than the commands. Focus always on becoming a leader for your dog and he will not only obey better, but he will trust you more.