Because boycotts always hurt innocent people (More than 575,000 Iraqi children died from sanctions,) they should not be used unless the matter is very important like life & death.
Don’t single out a particular country when other countries are doing the same thing otherwise you lose moral authority.
There should be just one demand & everyone should agree to stop as soon as the goal is met otherwise the target will not change if it is not confident that the sanctions will stop.
It is especially wrong to hurt innocents when there’s little chance of success.  Omar Barghouti, the founder of BDS, won’t end BDS until Israel agrees to take in all Palestinian refugees.  Israel would never agree to stop being a Jewish state so there’s zero possibility of success.