Don't think that follows automatically. My dollar - in isolation - can feed someone tomorrow, even if it doesn't feed others and they're all hungry next week. Lack of my dollar alone won't change the ethics of Amazon in the slightest, and much as the more ethical shopkeeper won't mind the extra number in his bank account it's unlikely to allow him to displace ethical companies or do anything else wonderful with it. The difference between direct, tangible outcomes and perhaps more significant outcomes which depend on a lot more other people acting in a particular way is one of the thornier questions about what's rational to prioritise. tbh when I do boycott stuff it's mostly an emotional response
(notwithstanding better objections to the original example: in practice most donors' finances aren't so tight that buying the $90 product rather than the $100 dollar one is really necessary to free up the donor funds for a worthy cause, as opposed to emotionally salve donor conscience for buying from an unworthy vendor...)