Facebook, NBC and Fox News Channel have all said they will stop airing Donald Trump’s campaign advertisement that featured an immigrant convicted of killing two police officers.
CNN had already rejected the same ad, declaring it racist.
Asked before leaving for campaign rallies if he thought the advertisement was offensive, the president said: “A lot of things are offensive. Your questions are offensive a lot of times.”
NBC aired it on Sunday Night Football, which drew the highest overnight ratings of the franchise’s history. During football season, it is usually the most-watched show on television, often with around 20 million viewers.
MSNBC aired it on Morning Joe on Monday.
Released last week, the advertisement includes footage of Luis Bracamontes, a twice-deported immigrant from Mexico sentenced to death in California for killing two police officers.
He is seen smiling in a court appearance and saying: “I will break out soon and I will kill more.”
The ad says, without evidence, that “Democrats let him into our country”.
It shows masses of people shaking at a fence, apparently trying to break it down, and ends with the tagline: “Trump and Republicans are making America safe again.”
NBC was the first of the three companies to say it was stopping the advertisement on Monday, apparently after a fierce online response.
“After further review we recognise the insensitive nature of the ad and have decided to cease airing it across our properties as soon as possible,” NBC Universal said in a statement.
Marianne Gambelli, Fox News’s president of advertising sales, said the commercial was pulled on Sunday “upon further review”.
Fox did not say how many times it had aired on either Fox News Channel or the Fox Business Network.
Facebook initially ran the ad but that was an error, company spokesman Andy Stone said, because it violates the company’s content policy.
Facebook is still allowing its members to post the ad in their news feeds.
Mr Trump’s campaign manager Brad Parscale tweeted that NBC News, CNN and Facebook had chosen “to stand with those ILLEGALLY IN THIS COUNTRY”. He said the media was trying to control what people see and think.
He made no mention of Fox’s decision.
The president’s son Donald Trump Jr tweeted over the weekend, noting CNN’s refusal to air the advertisement: “I guess they only run fake news and won’t talk about real threats that don’t suit their agenda.”
CNN said on Twitter that it was made “abundantly clear” through its coverage that the ad was racist and declined to air it when the campaign sought to buy airtime.