We evaluate the efficiency of various heuristic strategies for allocating vaccines against COVID-19 and compare them to strategies found using optimal control theory. Our approach is based on a mathematical model which tracks the spread of disease among different age groups and across different geographical regions, and we introduce a method to combine age-specific contact data to geographical movement data. As a case study, we model the epidemic in the population of mainland Finland utilizing mobility data from a major telecom operator. Our approach allows to determine which geographical regions and age groups should be targeted first in order to minimize the number of deaths. In the scenarios that we test, we find that distributing vaccines demographically and in an age-descending order is not optimal for minimizing deaths and the burden of disease. Instead, more lives could be saved by using strategies which emphasize high-incidence regions and distribute vaccines in parallel to multiple age groups. The level of emphasis that high-incidence regions should be given depends on the overall transmission rate in the population. This observation highlights the importance of updating the vaccination strategy when the effective reproduction number changes due to the general contact patterns changing and new virus variants entering.