From a purely consequentialist viewpoint, any boycott does fuck all to actually affect material change. Even collective boycotts aren't as effective as advertised. However, you do not have to adopt a consequentialist ethics on the level of the individual. I would argue that virtue ethics makes much more sense because at the end of the day, socialists need to convince and onboard new socialists and nobody's going to want to become socialists if the current stock of socialists can't exert basic discipline like abstaining from chocolate that doesn't even taste that good.
"You hate capitalism, yet you use iPhone. Curious." is an argument that reactionaries make, but most people who aren't socialists are swayed by this on some level. That's literally why reactionaries keep on making that stupid argument. Because it works. They don't make the same argument with cars because average people (from the US) see cars as something essential for daily life while iPhones are seen as a luxury item. The argument is "you hate capitalism, but you use nonessential commodities that wouldn't exist without capitalism, so how can you criticize capitalism while enjoying the fruits of capitalism that is not essential for daily life?"
Nobody wants to sign up to join a political movement steered by a bunch of hypocritical losers who can't exert a basic level of discipline. To use chocolate as an example, US-made chocolate doesn't even taste that good. It's like, I'm not going to take your calls for class warfare seriously if you can't even abstain from eating vomit-tasting chocolate. You bozos aren't going to be embarking on the Long March anytime soon.