I dealt with this exact thing and what confused me at first was that shocking helped for maybe a day, then the foam was right back. What finally clicked is that shock burns stuff off temporarily, but it doesn’t remove it from the water. As soon as the jets add air, anything still dissolved just gets whipped into foam again.
One angle that doesn’t get talked about much is total dissolved solids and water age. After a few weeks of regular use and topping off instead of fully changing water, all the leftover oils, sweat, and byproducts just stay suspended. The water can look clear and test “fine,” but it’s basically saturated. I noticed mine foamed way faster once the fill got past the halfway point of its life, even with good habits.
Another thing I caught was how much worse it was with air controls fully open. With less air, the foam dropped noticeably, which told me it wasn’t a sudden contamination, just residue getting aerated. After a drain, wiping the shell and waterline, doing a real filter clean, and refilling with fresh water, the foam stopped coming back. Since then I pay closer attention to calcium staying out of the soft-water zone and don’t rely on shock alone to fix surface issues. Anyone else notice foam gets worse as the water ages, even if everything tests in range?