Mellem 1981 og 2010 oplevede St. Gallen et gennemsnit på 141 dage med regn eller sne hvert år med 1,248 millimeter (49.1 tommer) nedbør. Den vådeste måned var juli, med et gennemsnit på 172 millimeter (6.8 in) regn i St. Gallen. Nedbør faldt i gennemsnit på 13.8 dage i denne måned. Månederne med de største nedbørsdage var juni og juli maj. Februar var årets tørreste måned med et gennemsnit på 57 millimeter (2.2 tommer) nedbør over 9.1 dage.
St. Gallen ligger i det nordlige Schweiz i en dal 700 meter (2,300 fod) over havets overflade. Fordi det er en af de højeste byer i Schweiz, får den meget sne om vinteren. Byen ligger mellem Bodensøen og Appenzell-alperne (det højeste topmøde er Säntis på 2,502 meter (8,209 fod)). Som følge heraf har det gode rekreative muligheder i nærheden.
Alle bygninger på dalniveau skal opføres på pæle, da byens centrum ligger på en ustabil græsgrund (dets skaber Gallus søgte efter et sted for en eremitage, ikke en by). Hele fundamentet af banegården og pladsen er for eksempel bygget på hundredvis af pæle.
St. Gallen har et samlet areal på 39.3 km2 i 2006. (15.2 sq mi). 31.1 procent af denne jord bruges til landbrug, mens 28.9 procent er skovbevokset. Størstedelen af jorden er bebygget (bygninger eller veje), og den resterende del (1.7 procent) er ikke-produktiv (floder eller søer).
St. Gallen havde en arbejdsløshed på 2.69 procent i 2007. I 2005 var der 336 personer, der arbejdede i den primære økonomiske sektor, og omkring 95 virksomheder var aktive på dette område. I den sekundære sektor er 11,227 personer beskæftiget, og 707 virksomheder opererer. Den tertiære sektor beskæftiger 48,729 mennesker og er hjemsted for 4,035 virksomheder.
Den gennemsnitlige arbejdsløshed i oktober 2009 var 4.5 procent. I kommunen var der 4857 virksomheder, hvoraf 689 var i den sekundære sektor af økonomien og 4102 i den tredje. I 2000 var der 28,399 indbyggere, der arbejdede i kommunen, 8,927, der arbejdede uden for St. Gallen, og 31,543, der pendlede ind i kommunen.
Helvetia Insurance er et stort selskab med base i St. Gallen.