I have not read the entire thread, but someone might have said this.
I worked for a few years at a large grocery store where once a year we were required to get phone numbers in a survey.
The reason that phone numbers are chosen over zip codes is that phone numbers point to a direct customer and house, and that way a specific profile can be created of exact neighborhoods. Zip codes can only be traced to a very large area.
On the practical terms you can have multiple neighborhoods in one zip code, and the task is to find out why some neighborhoods are shopping at your store and not others. Does another store need to be built so that customers can get to the store easier and closer? Do more promotions need to be enacted?
Zip codes don't tell all of the story.
Oh, and BTW we never once sold a number or called it. No additional junk mail either. Stores don't do that anymore.