For whatever reason setting up your Google account with your iOS device doesn’t allow you to synchronize your contacts. I suspect it has something to do with the limitations of IMAP, but nonetheless it’s a tad annoying. You can, however get your contacts synced up by setting up your Google account a second time as an exchange server. Google has (mostly) implemented the necessary pieces to allow it to appear to clients as a Microsoft Exchange server.
The server connection details are as follows:
- Server: m.google.com
- Username: firstname.lastname@example.org (for @gmail.com addresses)
- Username: email@example.com (for Apps-for-domains addresses
Make sure that you don’t double sync your mail or calendars if you’re already using the built-in Google account support in iOS. If you don’t need notes, you could consider using the exchange-mode only to reduce the number of accounts on your device.