Paolo Di Canio’s team looked to be heading for a victory at the Memorial Stadium, but had to settle for a point after being pegged back three minutes from time when Danny Woodards headed home a Craig Stanley free-kick.
Caddis was allowed to run through Rovers’ midfield from his own half before slotting a low left-footed shot past Scott Bevan from the edge of the box on 37 minutes.
The right-back’s fine effort looked like being the winner until his opposite number Woodards netted for the second successive week.
Rovers could have been ahead inside 15 seconds when Matt Harrold got behind the Swindon defence. The striker looked to be clipped from behind by Aden Flint, but kept his balance only for goalkeeper Wes Foderingham to save at his feet.
The home side made a bright start, but Swindon came more into the game as it progressed and were well worth their point.