BabyRider wrote: Training for a consistent "come" should start at home, in the yard. Keeping the dog on a leash, use the command one time, and one time ONLY, then reel your dog in, without giving it a choice whether to come or not. You will want to work with one dog at a time on this, unless your partner can work with the other at the same time.
The problem most people have with this command is, they continue to say, "Come on, Spot, come here, let's go, come on," and ultimately go get the dog themselves, reinforcing the dog's assumption that this is not a command to be followed all the time. In fact this is THE MOST important command your dog must learn to obey every single time without fail. If you can get your dog to come to your side with one word, every time, you can avoid lots of dangers, and possibly keep him getting hit by a car.
So, you're reeling the dog in after giving the command ONE time, and rewarding with praise and treats. When this has been mastered to where you don't have to forcefully pull the dog to you, continue with the leash still on, but dragging.
Consistency is the key to training for any command. Keep sessions brief, but frequent, and make it fun for the dog. Just make sure you're NOT giving in to the urge to go after your dog, and the importance of having him come after ONE call.
Good luck with this, and if you have more questions, come on back! Let us know how you're progressing, too.

I agree to this, also if your dog is getting confused with this comand on other times, you might want to use a new comand for the other time you want him or her to come. (like the times in the house or in the yard.) You need to make sure that your dog knows which is which. Your dog might be thinking that like the times in the house when you call to it that it can come at any time and still get loved. You must make sure that you differentiate between which is which comand. Do not use the same one for different things. I should know, I worked at a vets office. Good luck!:D