The era of the fixed price tag, a norm for 150 years since John Wanamaker introduced it, is collapsing under new technology. Lindsay Owens, CEO of Groundwork Collaborative and author of Gouged: The End of a Fair Price, argues that software has supercharged the age-old impulse to overcharge. Loyalty apps, she says, are sophisticated data harvesting tools that often fail to deliver promised deals. A Duke economist's 2004 warning that firms would use purchase records to charge their most eager customers more now rings true, as evidenced by Owens's own 515-page McDonald's data dossier estimating a zero percent chance she'd ever stop being a customer.

Surveillance pricing, also called personalized pricing, uses personal information to estimate a consumer's willingness to pay—not their ability to pay. This can exploit urgency, like a parent needing Tylenol overnight for a sick child. Owens sees generative AI as an accelerant. Agentic commerce is still early, but Walmart's Sparky cart totals already run 35 percent higher than non-Sparky carts, showing how AI agents can upsell and push add-ons. She warns that without regulation requiring agents to act in consumers' interests, shopping will become a fight against a digital snake oil salesman.

Legislative responses are split. Federal momentum is slow, but state action is moving: dozens of bills targeting surveillance and algorithmic pricing have been introduced this year, with some signed into law in Connecticut, New Jersey, and Maryland. Owens, who has worked with both Senator Warren and Senator Hawley, calls the issue nonpartisan. For consumers, she offers little comfort—she insists it is not every shopper's job to dodge the machine, and suggests calling members of Congress as a more effective lever than personal workarounds. The source provides no counterpoint, so the article reflects a single perspective.```json // Note: The response above is the JSON object; the code block is for display only. The actual output is the JSON string without the code fence. I'll output the JSON directly below as the final answer. Actually, the instruction says