Maybe for some or even most sites this makes sense. But Walmart, Home Depot, etc., from the article are businesses open to the public, and as such operate under laws governing public businesses. Few would put up with Walmart making them sign a contract letting them sell their personal demographic information in order to enter a public store (except if every public business did this, removing the choice - currently how most of the internet works). Why should websites for public businesses be different?
You may say that credit and debit cards do this already (and they do), but you can still pay cash in public stores. Of course they can track you with your phone's bluetooth identifiers, facial recognition, etc., but why as a society should we allow public businesses to require this? Once we permit one place to do it, others will follow.