Introducing the new migration experience from Google G Suite

Published Apr 16 2019 03:40 PM 27.2K Views

Several weeks ago we added a new Microsoft 365 Roadmap item announcing our intent to add ability to migrate Google G Suite calendars and contacts to the ability to migrate mail to Office 365 using our native migration tools.  We're excited to say that this functionality has started rolling out!  You can expect to see the new features light up for your tenant in the coming weeks. Since this is a new flavor of migration to Office 365, let's take a look at what is now becoming available and answer some frequently asked questions about it.  Before diving into any migration project, it is important to answer some basic questions about it:

  1. What is the size of the organization you are trying to migrate?
  2. Based on your business requirements, would you like to migrate using a "cutover" (everyone at once) or "staged" (longer-term coexistence) approach?
  3. What is the (approximate) average mailbox size that you'd be migrating?
  4. What kind of data do you need to migrate - like mail, calendar and contacts?
  5. Given the answers to the above questions, does this migration tool fit my needs?
Answering these questions will give you some idea of the scope of your project. Then you just need to find out how to get started. And you can read all about that here. Before you actually start clicking though, let's cover some of the terms you'll need to understand and an overview of how the new G Suite migration flow will work:

Intro to Mailbox Replication Service (MRS)

Microsoft Exchange Mailbox Replication Service (MRS) is a component that handles mailbox import, export, migration and restoration for Exchange and Office 365.  Migrations are managed using individual requests.  MRS is the principal mechanism used to move mailbox data from one place to another.  In context of moving data from G Suite to Office 365 MRS is used to move mailbox data, including messages, contacts, and calendar items.  Each mailbox being migrated from G Suite to Office 365 has its own request that will be processed by MRS.

What is a migration batch?

For better usability and scheduling at scale, another component called the Migration Service provides the ability to submit migration requests for batches of users. Behind the scenes, the Migration Service uses the Mailbox Replication Service to manage the per-mailbox requests.  Grouping a set of users into a batch is primarily for management purposes and does not impact the speed or throughput of your migrations based on batch size.  For your migration, you could choose to have one batch of all users or split the users into multiple batches - the choice is yours.

Give me an overview; how do migration batches work?


How is mail data migrated?

Mail data is currently migrated using IMAP protocol.  Authentication happens using domain-wide delegated access using a Service Account that is under your control.

How fast can I migrate my data?

For mail data there is a throughput limitation of 2 GB per mailbox per day. This limit is enforced by G Suite. For contacts and calendar data, this completely depends on the quota restrictions for your tenant's service account on the Google G Suite side (because a different protocol is used to migrate calendars and contacts; please see documentation).

I reached my 2GB limit for the day (for mail) - will the migration continue the day after?

Yes - it will automatically continue once there is capacity to migrate more data, until the 2GB/day quota is reached.

What data will NOT be migrated over?

  • Mail: Vacation Settings or Automatic reply settings as well as Filters or Rules
  • Meeting Rooms: Room bookings
  • Calendar: Shared calendars, cloud attachments, Google Hangout links and event colors
  • Contacts: A maximum of three email addresses per contact are migrated over
  • Contacts: Gmail tags, contact URLs and custom tags are not migrated over

Will this also support migrating data from Google Vault to Office 365?


What is the smallest batch size and is there an optimal batch size?

A migration batch can have a single user, with no current upper limit.  There is no magic number for the best migration speed or efficiency.  We recommend creating batches per-department or another logical grouping for your organization.

What is the size of the largest email I can migrate from G Suite to Office 365?

The limitation is based on the transport configuration for your organization.  The default limit is 35MB. Please see this article on how this limit can be increased.

I tried migrating and saw mention of bad items; what are those?

Bad items are data conversion failures that may be encountered during the syncing phase.  Should you encounter any bad items, you can see these in the migration report on the user and batch levels.

How do I track progress of migrations?

You can view the progress and reports via the Exchange Admin Center or use the Get-MigrationBatch PowerShell cmdlet.

Mail on Office 365 doesn't support labels.  How is mail translated to folders?

In order to provide the best mail experience in Outlook as well as account for the Focused/Other view, we translate most labels to folders.  Mail with the 'Starred' label will become flagged.  Mail with the 'Important' label will influence its Focused/Other designation.  Mail with other labels will be copied into a folder with the corresponding label name, and mail with no other labels will be moved to the Archive folder.  This means that some items that had multiple flags in G Suite will appear in multiple folders in Office 365.

I started off a batch in EAC, why doesn't my migration make progress?

Please make sure that you went through all of the pre-requisite steps on the G Suite side and have provisioned users on the O365 side.  Also check the per-user error messages if you see users with a status of 'Failed'.

My messages have completed copying but my migration is stuck at 95%. Help!

This could be expected.  Check the status of migration batch; if it reached the 'Synced' status, you can choose to complete the migration batch.

What does completion do?

For G Suite migrations, there's an option to complete a batch.  During completion, an additional incremental sync of data is performed, followed by a "switchover".  During switchover, a forwarding address is applied to the source G Suite mailbox to forward emails to the configured Target Delivery Domain.  Also, any forwarding address applied to the target O365 user is removed.

Do I really need to "Complete" my batch?

Depends - If you're taking the cutover migration route, you don't need to complete your batch(es). If you're taking the staged migration route (i.e., migrating a subset of users sequentially over a longer period of time), you'd want to complete certain batches if you'd like the automatic mail forwarding rules to reverse (Forward email from Gmail to Exchange Online instead of Exchange Online to Gmail).

How can I tell if this feature is available in my tenant?

As an Admin, you will see the G Suite (Gmail) migration option under the Migration tab in the Exchange Admin Center (EAC) or will have access to the -Gmail parameter for New-MigrationBatch CMDlet. If the feature is not available yet, please give it a few days and try again. It is still rolling out to all tenants.

What is the big deal? Why is this way of migrating better?

We believe that our customers will see multiple benefits from this new way of migration:
  • Being a first party migration experience that’s built in, there are no additional costs or set up required and no ‘per head’ migration cost (like some 3rd party migration solutions might require).
  • Ability to migrate mail, calendar and contacts with high fidelity.
  • Data is copied straight from the source to Office 365 with no rest points along the way. Be at peace knowing that your tenant’s data is migrated in isolation.
  • Service account authentication delegation: no need to have knowledge of or reset user’s credentials to migrate their data.
  • Tenant service account isolation: the service account used to migrate data is owned and controlled by you, and can only be used to migrate data into your own tenant.
  • Ability to migrate users in batches; staged migration support.
  • Settings simplification: automated mail forwarding between source and target environments for users being migrated in batches.
  • Built-in mechanism to optimize storage for Labels to Folders conversion by reducing item duplication.
We really hope you enjoy using this new set of tools and it makes your migration from G Suite to Office 365 even easier. We really want to hear your feedback, so please do leave us a comment, and feel free to ask any questions here too. We have plans to make this migration toolset even better over time, so keep an eye on the blog. The Exchange Migration Team
Not applicable
Can't wait to use this!! :)
Not applicable
Nice addition!

For big mailboxes you just need to start the migrationbatch long enough upfront to work around that 2GB limit/day?

Not applicable
Yes. Big mailboxes just take several days, but they do complete.
Not applicable
We are just kicking off a migration to O365 and have been doing individual mailboxes. It has been painful to say the least. We were dreading trying to switch over calendars too. We have a deadline to switch over by May 23, 2019. I know we are a small company, but will we have the G Suite option in our tenant before then?
Not applicable
The feature should be available to you now!
Not applicable
I have a couple of questions.

Does this tool automatically setup/configure my domain/DNS settings for me at GoDaddy & Google as I walk through the tool?

Does this tool run both services (GSuite & Exchange Online) side by side as I gradually move users over one by one until I am done and then I can cut off the Google side?

On another note -I was so close to buying & using Quest's ODME when I heard about this last week. :)

Not applicable
The tool does not automatically configure DNS or other settings, but there is advice and instructions given within the documentation linked above. Sadly there are too many different DNS providers, and a lot of Gmail's admin portal is not easily managed using their APIs.

Yes, this tool performs a staged migration. You can specify batches of any size to migrate groups of users at the same time, and cut each group over individually. Mail should still flow between Gmail and O365 users within your tenant, but other coexistence features (such as free/busy calendar availability) may not work correctly when users have not all been migrated.

Not applicable
(The content was deleted per user request)
Not applicable
Hi everyone, I was wondering about that 2Gb limit, I had experience with another tool that had not this limitation so this is an enforcer, because in that context a 50 Gb account can last up to 25 days to migrate completly.... anyone could already validate this restriction?

Thanks in advance.

Not applicable
Google posts about their 2.5 GB/day limitation here:

The tool uses a 2 GB/day limit so that other IMAP clients the customer may be using aren't impacted and blocked.

Not applicable
(The content was deleted per user request)
Not applicable
Has anyone had luck using the tool? I have a case open with support as the tool keeps failing, and support has not been able to help me. On smaller test mailboxes it syncs Mail and Calendar well, but contacts on the first pass only, then goes to a failure state (using get-syncrequest -Mailbox) of NotSupportedException and goes into a "Job Quarantined" state. You can stop and start the migration again, and it will sync everything excepts contacts, and go to the same failure state.

On larger mailboxes, once the 2GB limit hits, it keeps retrying the connection and fails with "TooManyTransientFailureRetriesPermanentException".

Occasional Visitor
Hi Everyone, I have tried to migrate 150 Mailboxes from G Suite to 365 by MS article I need to migrate by small batches of 5-10 mailboxes per batch (Endpoint configured by 200 initial syncs and 100 incrementals) In some step, after 3 or 4 batches that running concurrently (each department batch includes 3-6 -> 5-20 GB per mailbox) I have reached "limits" of MaxConcurrency value 5 and each next migration batch fail with same error: Error: MigrationProvisioningPermanentException: This operation exceeds the throttling budget for policy part ‎'MaxConcurrency‎', policy value ‎'5‎', Budget type: ‎'PowerShell‎'. Suggested backoff time 2147483647 ms. --> This operation exceeds the throttling budget for policy part ‎'MaxConcurrency‎', policy value ‎'5‎', Budget type: ‎'PowerShell‎'. Suggested backoff time 2147483647 ms. I have open a case via 365 Support - [Ticket #:16174789] After 3-4 days (logs, reset PowerShell connections) and "escalation" to the next support level , I get the answer : - We can't do anything. For tenant with 150 mailboxes the maximum that Microsoft can to assign in MaxConcurrency value (5) Anyone get same error ? Anyone have some ideas ? Thanks in advance.

HI, Everyone, 

I should migrate 600 user's mailboxes to office 365 from gsuite using this guide, so we made a plan changing mx record after sync and migration completes, but we have some changes to change mx record to o365 during migration, so I have some questions about that.

If we see that guide, it describes to make routing domain and alias both o365 and gsuite, I have questions about that routing domain function, does it only have delivering message when original mail server receive or send new mails for external, right? I hope gsuite oringal mail migration works with service account and json, etc which were created in gsuite side, so let me have question about routing domain and alias when that function works.

If I make new mailbox after create new users with set license, which type of cmdlet do I use it? Customer will have plan to make active directory server in on-premise with azure ad connect server after mail migration to o365, if we have active directory server and azure ad connect server, it looks recommends to use new-msoluser cmdlet, but we should provision users manually, so if I make new users to make mailboxes, do I make new-mailuser cmdlet, which is correcct? And I've already mentioned before, if we change mx record during migration, which type of cmdlet do I use to make mailboxs? When it make new user using new-mailuser cmdlet, we will set licesne. 

Senior Member

Hi, we are in the process of migrating about 4000 mailboxes from Gsuite to EXO using this process and recently the sync process wasn't working and found out that a change made by Microsoft to the Gsuite migration service on the 26th of May caused this issue and sine then then product engineering has applied a fix to our client tenant to get this moving so things are working as expected. I am told that a permanent fix going to rollout to all the tenant and no confirmed date.


Also, I have seen syncing more than 2 GB of data per mailbox and I will be doing more tests to capture some stats to prepare the migration schedule.


I have a question, unlike native Exchange to EXO migration, you can cutover a single user from a job and wondering how this is achieved in Gsuite Migration so that the user mailbox is removed and convert the account status back to Mail Contact.


Please advise.



Senior Member

Hi Team,


As mentioned in the article "Perform a G Suite Migration", it requests admin to disable directory synchronization: "Once the Mail Users have been created in Microsoft 365, the Azure AD Connect may need to be disabled in order to allow the migration process to convert these users into mailboxes - see Turn off directory synchronization for Microsoft 365."

However, disabling Directory Synchronization will make it disable for 72 hours before we can start it back. This is pretty much conflicting when you perform batch-wise migration and if any user wanted to reset the password at the time it will not sync back to Office 365 (Azure AD).

Kindly propose a clear solution for this? How to achieve this properly when there is a directory synchronization enabled? Step by step

"Set-MsolDirSyncEnabled -EnableDirSync $false
Note:If you use this command, you must wait 72 hours before you can turn directory synchronization back on."





New Contributor

Hi @NeoKevin!

I agree with you!. I have the same doubt. Could you fix it?


@The_Exchange_Team Could you provide a detail of how to do this?




Senior Member

Hi @The_Exchange_Team , 


Any update for this?


Occasional Visitor

I've been migrating batches of users from G Suite and some batches are getting a DCS of "Investigate" but when I go into the details of the batch and click "View skipped items" nothing shows up in the grid. I can also use the cmdlet "Get-MigrationUserStatistics" to view skipped items but it just returns an empty object {}.


I get from Google - 

"This app is blocked

This app tried to access sensitive info in your Google Account. To keep your account safe, Google blocked this access."


when i use the "Automate the configuration of your G-Suite for migration" app in the exchange admin center under Migration -> Batch -> g-suite migration option.  What do I need to do for Google to allow this?


Thanks for you help.

Version history
Last update:
‎Jul 01 2019 04:36 PM
Updated by: