But it should be possible to a) use a prepaid credit card or b) pay with good old cash. That way it is still possible to buy without getting tracked (while all the others that don't care use the loyalty card).
Also any online shop (Amazon included) has a complete history of everything you've ever bought.
For brick&mortar shops you would be a fool to assume they don't mine your shopping history based on your credit card (or some sort of hash that's computed from your CC#).