La variante corretta tra le due è facciamogli la spesa.
A differenza delle particelle pronominali (tecnicamente chiamate pronomi cliticimitici vi, che possono fungere da oggetto diretto e indiretto (prendimi = 'prendi me' e 'prendi a / per me'), i pronomi clitici di terza persona si distinguono per la varietà delle forme. In funzione di oggetto diretto avremo lo la al singolare e li e le al plurale (prendili = 'prendi loro'); in funzione di oggetto indiretto, invece, avremo gli e le al singolare (prendigli = ‘prendi a / per lui’), e il solo gli al plurale (prendigli = 'prendi a / per loro). *"Facciamoli la spesa" è, pertanto, impossibile; “Facciamogli la spesa”, invece, significa 'facciamo la spesa a / per lui' e 'facciamo la spesa a / per loro' (la disambiguazione è affidata al co-testo). L'uso di gli per 'a loro' è ormai accettato a tutti i livelli di formalità; è possibile, però, ancora propendere per "Facciamo loro la spesa" in un contesto molto formale.
Raphael Merida
Fabio Ruggiano