The Conservatives lied to the electorate. Boris Johnson campaigned in 2019 in the exact same way he did at the 2016 referendum; by lying as often as possible and propagating the same mistruth repeatedly until people believed it.
88% of the Conservative Party’s most widely promoted social media advertisements contained lies or inaccuracies.  By contrast, none of Labour’s ads contained lies. The Conservatives fed voters lies about Corbyn’s plans to “extend the free movement of people," among other things, then repeated them until they stuck. This is why, just as in 2016, Johnson was able to make sure he was on the winning side in 2019.
Everyone lies. It's politics. If your campaign isn't telling any lies you aren't doing it properly. Tony Blair told lies about the Iraq war. Gordon Brown told lies. Not only is everyone doing it, the public knows everyone is doing it. In the wake of the 2016 Brexit Referendum and the lies that were plastered across buses, if anyone thinks that the British electorate believed any of the promotional material coming out of either party they are insulting the public's intelligence. Nobody believed anything any of the political parties were saying about each other. The Conservative Party's lies persuaded nobody. Corbyn lost because the public did not want him or his party to run the country. It is as simple as that.
[P1] The Conservatives told more lies on the election campaign. [P2] This was a key component of their election strategy and ultimately ensured victory.
Rejecting the premises
[Rejecting P2] The public expects to be fed lies in political campaigns. Nobody was persuaded by any Conservative campaign material.