Keep him on a long line and increase distance slowly as his recall and attention improves. Work at his pace and set him up for success! Practice recall games and use higher value treats.
Most dogs hate the head halter. Also, using it is just controlling it, not trying to train it out, you have to either train as well or just figure you'll use it however long. If you want an alternative method you can try a front clip harness, and do some loose leash training. I recommend the book "My Dog Pulls, What do I do?" by Turid Rugaas. And you can explore other methods of loose leash training if you want.Yeah, that's another issue we're having is pulling when walking. We got him a head halter that goes over his nose and he HATES it but it stops him from pulling.
Initially, you should always have a reward of some type when you take him out, so he learns that a toy/treat could appear at ANY time and he should always have at least half an ear attentive to you so as not to miss out! Put a few treats in your pocket when you take him out, and a leash on him, and periodically call him back to you and reward with a treat or throw the toy- don't lure him with it, but reveal it once he's come to you. The first couple times you may have to sort of reel him in, or you may try calling him excitedly and running backwards a few steps to entice him. Eventually, once he recalls when you call him consistently, you can wean off the food/toy rewards to a variable schedule (think slot machine- sometimes nothing, sometimes one treat, sometimes 5, sometimes toy), just giving him praise/affection the other times. You can start with him on a regular or long leash, then graduate to a long leash, dragging a long leash, and off leash only when he is recalling every time.The problem I have with treats is that once he knows I have them, he'll get excited and follow me anyways