I can't tell you how pissed I am. I'd say it's all my fault, but it's not entirely my fault. There was a series of cascading errors and failures, and the result is that three years of contacts went poof. All gone. Unrecoverable.
My Gmail account has years of accumulated contacts. When I got my latest iPhone, these were downloaded to my device. They were stored on my iPhone in an All Google contacts group (not the iCloud group).
My phone was apparently set up so that when I added a new contact, it went into the All Google group instead of the iCloud group. I had no contacts in iCloud.
At some point, contacts added on my iPhone and in my desktop Gmail stopped syncing. I did not know this. I use Gmail on my phone every day, and I've had no problem with it. So I never suspected that my contacts weren't syncing properly.
I almost never use my iPhone contacts on my desktop computer. After all, I use the iPhone contacts to text and call, and that's all been done on the iPhone.
Over the past month or so, I've been updating my Apple hardware. While testing out new configurations, I noticed that my iPhone contacts never showed up in the Mac Contacts app. It didn't bother me that much, but I decided to explore it because it was a mystery -- and I don't really like mysteries.
There was one other symptom. For some time now, my iPhone has been intermittently spitting out a CardDAV synchronization error screen. CardDAV is a data exchange protocol for exchanging address book information. I was never sure what was causing the error, or what apps I might be using that needed CardDAV.
I didn't realize that even though my Gmail calendar and mail sync using Google's protocol, my Gmail contacts were trying unsuccessfully to sync using CardDAV. It never dawned on me that all three elements of Gmail wouldn't sync using the same mechanism.
So, let's recap. First, all the contacts I added on my phone were not stored in the iCloud group, but in an All Google group. That group does not sync to iCloud, and is not backed up by the iPhone's iCloud backup system. That group also doesn't backup to Google any longer, because the CardDAV authentication broke at some point.
Now, here's another gotcha. You can't just export contacts from secondary groups on your iPhone. You can export individual vCards, but you can't do something like a tab-delimited data dump. You also can't transfer contacts from one iPhone Contacts group to another.
My attempt to fix it made it worse
With me so far? I had all my contacts on the iPhone, but they were locked into an All Google group that I couldn't move or export.
This week, after digging into this situation on and off for a while, I realized that the CardDAV error was most likely related to my Gmail contacts. Figuring this out took me a while because the CardDAV error simply said there was an authentication error, but not what it was trying and failing to authenticate.
Once I figured it out, I tried to fix it. There's an "account enabled" button in Settings for Google contacts. I turned that off, thinking that perhaps I could fix any account-related authentication errors and toggle it back on.
I never expected it to be destructive, and there were no warnings when toggling it off. Once off, the account was then listed in Settings as "Inactive."
I went back to my Contacts and noticed that my contacts were gone. In fact, the All Google group was gone too. At this point, I wasn't yet worried. There had been no warning that data was going to be destroyed and, besides, I'd been (I thought) backing everything up to iCloud.
But when I went back to the Accounts screen and turned my Google Contacts back on, all the local data was gone. Just gone.
In a bit of a panic, I tried figuring out how to restore those contacts. With no useful ideas, I called Apple Support. The Apple guy couldn't seem to understand that I had had a bucket of contacts on the iPhone that had never made it to Google's servers.
He tried getting me to put my password in on the Google contacts account screen, but that didn't work. It turns out that to use Google contacts on the iPhone, you need to authenticate CardDAV with a special Google App Password (you generate these one-use passwords in the Google Manage Your Account screen).
I put that password into my account screen and, lo and behold, my Gmail contacts were mirrored down to the iPhone's All Google group.
And here's where there's not enough coffee in the world to make it better. My old desktop contacts were now in the All Google group on my iPhone. But all the contacts I had manually added into my iPhone over the past three years were gone forever.
I moved to Oregon three years ago. I can't find a single Oregon contact in my Google contacts or my iPhone contacts. Everyone's contact information for everyone I met in the last three years, all the services and contractors I've worked with -- everyone I added over the last three years -- is gone.
Learn from my mistakes
So, what's the moral of this story? Don't be like David. Check to make sure your contacts are syncing and backing up to another source. Don't assume backups magically work.
Also, I think it makes sense to recommend you keep your Gmail contacts and your iPhone contacts separate. I have thousands upon thousands of Gmail contacts because every email correspondence I do adds a new contact. I don't need all of those on my phone in my iPhone's Contacts app. So I'm not going to sync my Google Contacts to my iPhone. Instead, I'm just going to use iCloud contacts and sync to iCloud and my Mac.
What about you? Are you running fast and loose with your contacts? Do you have them backed up? Have you checked that they are, in fact, syncing the way they're supposed to? Do you use iCloud contacts or Google contacts? Let us know in the comments below. And be nice and be kind. I don't want to hear "you were stupid" criticisms a hundred times over. Waaah.