Here's the thing about boycotting a business that a lot of folks seem to gloss over - the flexibility to boycott is often rooted in #privilege. Wal-Mart, Target, Kroger, sometimes these are the only ways people are able to afford food, clothes, Christmas gifts, etc.
Maybe it's just been my personal experience but the "Don't shop at Amazon" crowd seem to be the most ignorant about the #classism inherent in their blanket statements. I've had money be tight enough where a couple of bucks in price makes a big difference and Amazon was my cheapest option.
I remember when the zergling was in diapers, Amazon was the cheapest available option for us and when I was laid off and had no safety net, $8 out of my unemployment check made a big difference. I could get 5 or 6 boxes of spaghetti with that $8 at that time.
Bear in mind that time == money too and sometimes even if it's a break-even to shop locally, a person doesn't have the privilege of available time to be able to get to a certain store and buy locally and their only option is to buy from a place like Amazon online or a local Wal-Mart.
Now to be clear, I'm not saying there's no point in a #boycott, far from it in fact. What I *am* saying is it's important to understand the privilege inherent in being able to do so. When you can afford to do so, letting your wallet do the talking is great. That's a choice only you get to make for yourself though. You don't know how much money someone else has, or how much time they have to shop around and trying to shame them only makes you look bad. It takes what was a moral stance and turns it into masturbatory, performative BS.
I know your heart is in the right place and you're passionate, but don't let that blind you to the fact that who deserves attacks are the monopolized companies like Amazon, not the people who have too little time or money to be able to shop other options.