Shadow banning is way more effective. IP bans don't work because even tech illiterate users can figure out what's going on and get a proxy working.
We ended up going with normal account-level banning after experimenting with IP-based shadow banning. The game was popular with kids, who would tell their siblings/school friends about it. So lots of IPs were associated, and at the time teasing apart different traffic streams from the same IP was sci-fi level stuff.
But, we did learn that normal banning was way less effective. If it weren't for the collateral damage, we would've kept shadow banning with IP account association.
The shadowban slowed them way down by denying the feedback. A user would have to respond to them for them to even know they did it. If they did, we’d manually shadowban that one too and they wouldn’t realize for awhile.
Lots of work for them. Little for us.