Shopper numbers fell last week but Sunday was the busiest day of the year, according to data.
Springboard, the retail analytics company, said that shopper numbers fell by 4.6% in the week to December 17, with rail strikes and cold weather keeping people at home.
High streets were hit hardest, with footfall down 10.2% week on week.
However, Sunday saw the busiest day of the year, according to research by GlobalData for the website VoucherCodes.
It was believed around 10mln people braved the icy conditions on the last Sunday before Christmas to do some shopping, with roughly £3mln spent per minute in six hours.
Data from analytics firm Sensormatic, however, suggested that 23 December, this Friday, could be the busiest day of the year.
"High streets and retail centres are hoping for a last burst of present buying this week with Friday 23 December forecast to be the busiest shopping day of the year, but sales are still likely to disappoint,” said Susannah Streeter, a senior investment and markets analyst at Hargreaves Lansdown.
“The latest wave of strikes is set to put a dent in online sales with warnings from retail bosses that Royal Mail walkouts mean they can’t guarantee deliveries, and other delivery firms like Evri struggling under the pressure.”
“It’s unlikely bricks and mortar stores will offset the drop in online demand given strikes by rail workers are also disrupting travel into town and city centres.”
“Despite the forecast from Sensormatic, there is a chance the peak shopping period may well have passed in the UK, as consumers heeded warning to buy early to avoid disappointment.”