I had this with my DD1. I had tried the taking straight back but like you ended up taking forever. I then introduced a sticker chart. She chose the background (I just googled sticker charts & found a site you could print one from) and the stickers (from a supermarket) and told her that each night she stayed in her bed ALL night she could get a sticker. When she had 5 stickers she would get a treat, that she could choose at the beginning of the 5 days. This would be something like going to feed the ducks, to the park, baking a cake nothing expensive.
I know not everyone is a fan of sticker charts but I can honestly say this has worked brilliantly. We have been able to move the goalposts to 7 days and will soon finish using it. It did take a couple of days for her to figure it out but I found having the treat as the carrot to dangle was a reminder for her about what was in it for her. She soon cottoned on that quicker she got the 5 stickers the quicker she could get the treat, which meant I got my evenings back. It was win-win for us!!!