Lovren, 31, has been at Liverpool for six years and was part of their Premier League title-winning squad this season.
He will now head for Russia with a move to Zenit said to be ‘imminent’ for a fee of £10.9m.
Zenit had hoped to sign Lovren for a lower price, believing he was entering the last year of his Liverpool deal.
However, Liverpool triggered an option to extend Lovren’s contract until 2022.
Lovren has made 195 appearances for Liverpool since arriving from Southampton in 2014.