I don't take any credit whatsoever for any of the following exercises. They are a compilation and combination of a few different authors' ideas, namely Lana Mitchell, Morgan Spector and Jean Donaldson. They may not be the original authors of these techniques (there are likely other people who have written about these techniques that I don't know about), but they are my sources.
As with all training, start in a relatively non-distracting environment, but one in which you know your dog will pull. An empty parking lot can be a good place to start. As the dog becomes proficient in one area, move to a slightly more distracting situation. This follows for teaching anything new to your dog. When upping the distraction level, you'll find that the dog does worse than it did in the previous setting. This is NORMAL. Practice just like you did in the less distracting environment and after a few sessions the dog will discover that it can also perform its "new trick" with a bit of distraction present. If after several sessions in the new environment you aren't getting anywhere, you've probably gone too far too fast, and should move back to a less distracting place. Set the dog up for success! If you take a dog into an environment where you're pretty sure it won't be able to 'perform', this is not fair to the dog, a pointless exercise, a waste of time and frustrating for you. Don't set the dog up for failure!