I feel like “contract length to be the same” isn’t viable really (although appreciate this is hypothetical). Ultimately, contract length is the biggest deciding factor for me.
If we were signing a young player like Haaland, you’d want to tie him down for at least 4 years, not 2 years. But if you were signing Messi, on his wages, with his age and the needs of the squad, any more than 2 years would be unwise. I’m not including CFG entities for this purpose, as can see Messi playing another 3 seasons in the USA or similar, but I only care about our club.
On pure ability and experience alone, Messi would hit the ground running next season and I’d love to sign him. But that’s not what we need: we need someone for the next 4-5 years (and hopefully longer!) to replace Sergio, and we absolutely need a striker. So Haaland for me all day, it’s a no brainer