Why do my iPad and iPhone send *two* notifications for every gmail I receive? Every time I get an email, I hear a ping and a vibration on my devices, followed by another about 3 seconds later.   

I'm using gmail (through exchange) on both devices.  The only option I can find in settings is to turn 'new mail' notifications on or off.   I do not have other email accounts on the devices, so it's not auto-forwarding to two accounts or anything.

I'd like to get a single ping and or vibration for each message.
You get the notification sound with each push event that results in a new message to any mailbox.

Google likes to send mail to All Mail as well as Inbox, so that is the likely cause of the two push events. You could make a temporary rule to skip the inbox for all messages and test to confirm this is the root cause.  The phone sees them as two messages, because they are in reality two messages arriving at different times to different mailboxes. I don't know a way to mark the All Mail always read, but perhaps the google filters are powerful enough to make this happen on your account.

Until (or if) google changes things to push them all at once, you can enable control over folders/tags in the labels settings. By controlling the Show in IMAP... status,  you should be able to avoid the second ding. 


You could also try setting up rules to avoid any one message from hitting more than one folder as an unread message. iOS doesn't ding on sync of read messages, just syncs that change the unread count on a folder.

Lastly, iOS has changed behavior of the mobile mail app in the past to work better with Google mail. It's a common complaint, and could also be fixed with a change to mail on iOS.