I was wondering the same thing. i hope apple puts out some migration software. i'd like to move all my old emails, contacts and calendar to the new icloud services. I'm tired of google's ads based on the content of my emails. i'm also tired of google adding people to my contact list w/o asking me. my mom responded to a friends email and now he knows every time shes online. there is something very disturbing about that.

There is no easy way. I own and use a Google Premier Apps account, and use Macs and iOS devices. Google's calendaring is improving, but just is not polished enough. Their contacts synchs well with nothing else - I've used Android and WebOS devices, and tried synching with both Windows and Macs. I'm done trying.

For my contacts, I exported each one from my Google account and imported each one into Address Book. I spent a weekend parsing the address and phone number data - a RPITA. Google's method of lumping all address data into one field was wrecking havoc with my devices and yielding complaints from my clients as they imported them (generally into Win Outlook). I then exported each contact as a v. 3.0 vCard, wiped my Google Account, then imported the vCards into my Google Account - they work perfectly now across all of my devices. I do not sync my Google contacts with anything but for another Google account I use Google Voice with. My Macs, Win Outlook, and iOS devices sync with my two iCloud accounts (I'm a developer).

I exported out my Google Calendars (I used 8 delegates along with my main calendar) and now use iCloud exclusively. Google's changed the behavior pattern of calendar delegates at least 5 times since I have used my Premier account, and their incomplete implementation of AS and CalDAV has left me wanting better CalDAV support, and I would have set up a colocated server rather than continue using my Premier account for calendaring. As of yesterday, Apple finally seems to have gotten iCloud running pretty smoothly across web and device spaces. I'm sold. Yes, it'll be free, I know...

As for a migration tool, not sure on that one yet, but it's not on my radar.

Desktop method:
- Export all your contacts from Gmail
- Export your calendars from Google Calendars
- Import them into iCal and Address Book (or whatever equivalent in Windows) and they will sync (got to have iCloud sync setup of course).

iOS method:
- Add your Exchange gmail account in iOS settings and allow it to grab all your data (has to be Exchange for contacts to sync).
- Once all your contacts and calendars synced (confirm they all show up in Contacts.app), go to settings and delete the gmail account.
- You will be promoted to delete the data from the phone or keep it, choose to keep it.
- Now you have a local copy of your data on your phone.
- Add your iCloud account and it will sync the local copy to the cloud

Hope this makes sense.

UPDATE: When following the above instructions, some are reporting that contacts get deleted once you remove the Exchange account without prompting you to save them locally on the phone. In that case, try to disable contacts sync within the Exchange accounts settings instead (do not delete the account). See if that works.

Don't forget to sing "la la la, la la la". And repeat. Synching is easy. The data fields don't match, that's my point and you're leaving out that part of it. Pick one of your synched contacts in your iOS device, tap on the address to launch the Maps app - there's going to be a pretty good chance the iOS device won't recognize the "address" because it's not formatted as a vCard. Edit any formerly-Google contact and navigate to the Address field, and you'll get a visual of what I'm alluding to. Each maps is messenger contacts, phone numbers, addresses differently. Hey, I'm done here. When you have your first WTF? moment when you realize your data's all bunged up, then you'll get it. Yahoo, AOL, Exchange - they all have their idiosyncrasies. Don't sync - export/edit/upload and keep your data platform-specific. Cheers.

Don't forget to sing "la la la, la la la". And repeat. Synching is easy. The data fields don't match, that's my point and you're leaving out that part of it. Pick one of your synched contacts in your iOS device, tap on the address to launch the Maps app - there's going to be a pretty good chance the iOS device won't recognize the "address" because it's not formatted as a vCard. Edit any formerly-Google contact and navigate to the Address field, and you'll get a visual of what I'm alluding to. Each maps is messenger contacts, phone numbers, addresses differently. Hey, I'm done here. When you have your first WTF? moment when you realize your data's all bunged up, then you'll get it. Yahoo, AOL, Exchange - they all have their idiosyncrasies. Don't sync - export/edit/upload and keep your data platform-specific. Cheers.

Well, I sung la la la la and I'm still singing it cause I have no clue what you are talking about.

I just checked all my formerly-Google contacts on the iPhone (which are syncing with iCloud now) and Maps.app recognizes all the addresses just fine.

I even tried to edit couple contacts and the address area is properly populated. The city goes in the city label and so on.

So, yea. I knew the process I posted above works but I double checked after I read your post and none of the "issues" you described are apparent.

I Just tried to do what Melwan sugested, but after Google sync doesn't transfer the data (contacts, calenders, etc) into the iPad, it only access them when needed..When i go to Groups, on my contacts, and choose "On iPad" or "On iPhone", it goes blank.
What should I do to transfer the data onto iCloud?
Thanks!

I have not figured a way to sync both Google and iCloud and keep them both up to date and I've been trying for a week.

To easily get your Google contacts over to iCloud do the following:
Turn off Google Contacts Exchange (if you have it set up).
in iTunes with iPhone plugged in set iTunes to sync with Google.
All Google contacts are now local on your iPhone.
Turn on iCloud Contacts and they will be synced with iCloud.

I've got to admit I'm not surprised. Try it my way. There is no automatic means of keeping your data synced. Google states their limitations. Apple states their limitations, despite their indication of improvements tied to the 10.7.2 update. Hey, I hoped against all that I was blowing smoke, and attempted to sync one of my work accounts to Address Book, and it just didn't work - I made just one change to a data field in one of my attorney's contacts - Google somehow changed his office address from "Work" to "Other" without my authorization (surprise, surprise...), and the address changed in my Address Book and my iPhones - and then instantly the attorney has 6 telephone numbers from the original 3. A second attorney has his office address in one data field, but every other address (14) seems to be acceptably formatted - but I haven't synched more than once and haven't had time to check for accuracy of the data fields, but I turned off the sync for now.

BTW, you'll only get "My Contacts" synched when using Apple's Sync conduit.

Surprise! With iCloud, there more new known issues! They're at the top of the list on the web page above. Keep your data separated according to platform and you'll be a happy camper. Since I did it my way, I have spent maybe 5 minutes this year ironing out any issues, and I've eliminated my IT guy (I didn't like him anyway, he was a tool...). If anyone tells you synching with Google is easy, well, read the hundreds of new posts on Google's Help Center that indicate something like "my iPhone/iPad won't sync to my Google account, waaaah" or "my Google contacts are all ******ed up, wahhhh". Too bad, so sad - do it my way.

If you select your device in iTunes, from the main screen you can scroll down and tell itunes to sync to icloud(provided you are signed in on your device).
Then from the tabs at top I.e. apps, music, videos, ect, Go all the way at the end to a tab called other. In there it will give you an option to sync your contacts, check the mark and then there is a tab that offers an option to sync your google contacts. Click it and enter your credentials hit apply and iTunes should take care of the rest.

You can also go to your gmail from the web, export your contacts to address book. Then from iTunes device menu tell it to sync contacts and the contacts should reflect what you exported from your gmail via the web.

The trick to getting it to iCloud is to tell iTunes that you are syncing your device to iCloud not your computer.

It's fairly easy to move from Google to iCloud. Here is what I did:
iOS method:
- Add your Exchange gmail account in iOS settings and allow it to grab all your data (has to be Exchange for contacts to sync).
- Once all your contacts and calendars synced (confirm they all show up in Contacts.app), go to settings and delete the gmail account.
- You will be promoted to delete the data from the phone or keep it, choose to keep it.
- Now you have a local copy of your data on your phone.
- Add your iCloud account and it will sync the local copy to the cloud

Hope this makes sense.

When I delete it, it deletes all my contacts associated with my gmail account as well. Is there a step I'm missing to transfer the contacts to my device?

When I delete it, it deletes all my contacts associated with my gmail account as well. Is there a step I'm missing to transfer the contacts to my device?

The same thing happened to me. I added my Google account back and everything is back.

How on earth do I move all my calendar events and contacts from Google to iCloud. This is something that should be simple. I don't care if the contact data needs to be tweaked once it makes it to my iCloud Contacts, as long as I don't have to re-type every last contact detail.

Ok this is very easy.
Delete your gmail account on your phone. If using exchange they will disappear.
Plug phone into iTunes.
Sync iTunes with gmail using your gmail login ID in contacts menu. This gets the contacts onto your phone.
Uncheck the sync contacts with gmail in iTunes.
Unplug your phone. The contacts will still be there.
Turn on iCloud contacts insettings. The contacts will sync with iCloud minus any date fields.

I found this article and it works. The key is to delete the default iCloud Contact that gets added. Ensure there are no contacts in the list. Then you can import your Google Contacts via the vCard file.

One caveat... Many of the addresses are missing. And those that do carry over are all in one field, and I had to break them out to their correct fields. This was pointed out by bonesb so he is absolutely correct.

Desktop method:
- Export all your contacts from Gmail
- Export your calendars from Google Calendars
- Import them into iCal and Address Book (or whatever equivalent in Windows) and they will sync (got to have iCloud sync setup of course).

iOS method:
- Add your Exchange gmail account in iOS settings and allow it to grab all your data (has to be Exchange for contacts to sync).
- Once all your contacts and calendars synced (confirm they all show up in Contacts.app), go to settings and delete the gmail account.
- You will be promoted to delete the data from the phone or keep it, choose to keep it.
- Now you have a local copy of your data on your phone.
- Add your iCloud account and it will sync the local copy to the cloud

Hope this makes sense.

What happens if I want to keep syncing with google for my contacts? I don't want to use icloud for this. What is the best way to go about this without creating duplicate contacts?