"I thought we were up for it from the start and fully deserved our point," he said.
"After a couple of defeats it was important we came away with something. Our problems have been at home this season and it was another good away performance.
"Giovani showed great coolness with the penalty and certainly made a difference for us when he came on.
"We played some good football and created a number of chances so overall I'm very happy."
City had taken a 48th-minute lead when midfielder Marvin Elliott ran onto a Michael McIndoe flick and slid the ball past Richard Wright with the outside of his right foot.
But the home side were never convincing and when Ipswich applied pressure in the closing stages substitute Ivan Campo was fouled in the box.
City boss Gary Johnson said: "I thought in the first half things were flat on and off the pitch," he said.
"At half-time I said the sort of things you would expect and we were more effective. If we had won 1-0 it would have been a good result.
"But conceding so late on is always disappointing. I'm not sure who conceded the penalty and it may even have been that the Ipswich player tripped himself.
"One positive for us was the performance of goalkeeper Stephen Henderson. We had to send him on very early as a substitute and he turned in a very good display.
"There will be a new contract on the table for him at the end of the season."
Irishman Henderson found himself in the action for only the second time as a City player after just nine minutes when Adriano Basso hobbled off with an ankle injury.
He proved his side's man of the match with fine saves from David Norris, Dos Santos and Campo in a brave and agile performance.
City defender Jamie McCombe looked lucky to escape with a yellow card five minutes from time when judged to have impeded Kevin Lisbie as the Ipswich striker threatened to break clear.
Campo's free-kick brought Henderson's best save, but there was nothing even he could do to keep out Dos Santos' penalty, which sent him the wrong way.