Wing McGuigan scored either side of half-time and hooker Dougie Hall was also on the scoresheet, with Henry Pyrgos adding all three conversions and a penalty.
Having gone 24-3 up, though, the Scots switched off and allowed their hosts to score tries through Samuela Vunisa and Leonardo Sarto.
Glasgow should have scored from a scrum in the 18th minute when scrum-half Pyrgos broke down the short side but hesitated and was tackled, and his pass to Josh Strauss was intercepted.
Zebre's Matteo Pratichetti ran the ball out from his own line but was brought down just short of halfway and as a frantic passage of play continued, Strauss was stopped after a flying break and he too missed his off-load.
The first points came in the 25th minute from a Pyrgos penalty, after he had wasted the advantage with a knock-on while stretching for the try line.
A try quickly followed when Gabriel Ascarate's inside pass allowed Sean Maitland to burst clear and send McGuigan over in the corner. Pyrgos added the extras for a 10-0 lead.
A ruck infringement allowed Luciano Orquera to cut the deficit with a 45-metre penalty just after the half-hour but Zebre prop Salvatore Perugini was sin-binned for 10 minutes for kicking out twice in a ruck after his tackle on McGuigan. Pyrgos missed the resulting penalty.
Glasgow sloppily conceded a penalty in their own half on the stroke of half-time but Orquero's kick faded wide of the far post and it remained 10-3 at the interval.
And the Warriors made him pay straight from the restart, with Zebre still down to 14.
A great break started by Tommy Seymour continued by Alex Dunbar set up a move which ended with hooker Hall touching down in the corner. Pyrgos swung a superb conversion through the posts.
Glasgow's defence stood firm through several phases on their own line as Zebre's forwards tried to drive the ball in, Mauro Bergamasco eventually knocking on.
McGuigan gathered Maitland's grubber despite an awkward high bounce to touch down for the second time and another excellent Pyrgos conversion made it 24-3.
Glasgow again escaped without conceding a try as the television official ruled he could not say conclusively that Tommaso d'Apice had grounded the ball.
But they finally conceded their first try in the competition when number eight Vunisa barrelled over, taking two defenders with him.
Orquera converted for 24-10 and Zebre were soon in again as Giovanbattista Venditti's stirring break set up field position and Vunisa ultimately sent Sarto over.
Glasgow held on but a final push for the fourth try came up short.