Schoop is hitting .289 and has a team-best 64 RBIs. His 18 homers are tied with Eric Haase for the club lead.
Schoop gets $7.5 million annually under the new deal, and he has the right to opt out after the 2022 season to become a free agent.
The 29-year-old agreed in February to a $4.5 million, one-year deal with the Tigers, down from $6.1 million last year, which resulted in prorated pay of $2,259,259 for the 60-game season.
Schoop is a nine-year big league veteran with a .262 average, 159 homers and 479 RBIs for Baltimore (2013-18), Milwaukee (2018), Minnesota (2019) and Detroit (2020-21). He was an All-Star in 2017.