The campaign promise was that he'd build a wall that Mexico would pay for. It's a lot easier to get the public to agree if you tell them it won't cost them anything.
Although now he says that _obviously_ he didn't mean it when he actually did, on record, say that Mexico would pay them a lump sum, and claims that the agreement from the NAFTA negotiations will cover it in other ways. (Which it won't, because he didn't get anything out of Mexico.)
And now he's stamping his feet to get the US public to pay for the wall so when the next presidential election comes around he hasn't come up empty on his big, dumb pledges.