How to migrate from Google Workspace to Microsoft 365
Move Gmail, Calendar, Contacts, Drive and shared drives into Exchange Online, OneDrive and SharePoint with Microsoft's own tools, then cut over mail without losing a message.
How do you migrate from Google Workspace to Microsoft 365?
This moves email, calendars, contacts and files from Google Workspace to Microsoft 365 with Microsoft's own tools, included with Microsoft 365. Mail moves through the Google Workspace migration in Exchange Online (Microsoft 365 email), in batches: groups of mailboxes copied together.
- Recommended route: Microsoft native tools: Google migration in Exchange Online, plus Migration Manager for files
- Order: Clean up in Google and set up Microsoft 365 first, copy mail and files in the background while people keep working in Google, then switch the MX record and run the last file top-up.
- 7 phases: Get ready, Set up Microsoft 365, Copy mail and calendars, Copy the files, Replace what does not move, Switch over and Check and clean up.
- You're done when: Every mail batch user and Drive task is Completed, with only gaps the owners accepted.
Files move through Migration Manager, Microsoft's file migration tool in the Microsoft 365 admin center, into OneDrive (each person's files) and SharePoint (team files). Users keep working in Gmail and Drive while the copies run, and the MX record (the DNS setting that tells the internet where to deliver your email) changes last. The time depends on how much mail and how many files you have: batches and file passes run in the background until each one has synced.
First-party tools from Microsoft for both mail and files, and users keep working in Google while the copies run.
Other options and when to use them
- Simplified Gmail migration and Migration Manager Lite: Smaller tenants (a tenant is your organisation's own Microsoft 365 setup). The admin center offers Simplified Gmail migration when you have 1,000 or fewer Google mailboxes, and turns on Migration Manager Lite by default when you have fewer than 300 Microsoft 365 licences. Microsoft says Simplified Gmail migration is not available worldwide yet.
- Third-party platform such as CloudM, BitTitan MigrationWiz or Movebot: You must move Google Chat history, room calendars or other content Microsoft's tools skip, or want one vendor for mail and files.
Clean up in Google and set up Microsoft 365 first, copy mail and files in the background while people keep working in Google, then switch the MX record and run the last file top-up. Rebuild what does not move, and remove Google last, because removing it deletes the data.
- Inventory and clean-up in GoogleMigration Manager silently skips orphaned files and all but one of two shared drives with the same name, so fix these first. Less data also means shorter copies.
- Microsoft 365 domain, routing subdomains and unlicensed mail usersEach mail batch converts a mail user into a mailbox, and the routing subdomains let mail reach people on either system while the move runs.
- Pilot: one small mail batch and a few drivesShows how fast mail and files copy, what is skipped, and what users notice, before everyone moves.
- Mail batches, licensing each person the day their batch startsBatches keep syncing until you complete them, so starting early costs nothing. Licences must come after the batch starts and within 30 days.
- OneDrive pre-provisioning, then the first file pass for My Drive and shared drivesA OneDrive must exist before files can go in it, and the first pass is the longest, so run it while people still work in Google.
- MX change, then the final file top-upUntil every batch is complete, Google still holds mail for people not yet moved. The last file top-up runs as users switch, so no edit made in Google is left behind.
- Rebuilds: Google Sites, Apps Script, Sign in with Google apps and Chat exportsSites and scripts need the files already in SharePoint to relink to, and all of it must be done before Google accounts close.
- Clean-up: batches, endpoint, routing subdomains, then Google licencesForwarding from Gmail needs each Google licence until mail stops arriving there, and removing licences deletes the Google data.
Built-in and third-party tools treat these differently. Tick each one off once you have decided.
Download this checklist (Excel)How each tool handles it
Built-in methodThe Google migration dashboard in the Microsoft 365 admin center sends tenants with 1,000 or fewer Google mailboxes to Simplified Gmail migration, and larger tenants to the classic batch migration. The classic path gives more control over batches. Microsoft says Simplified Gmail migration is not available worldwide yet.Tip: Open the dashboard before you plan dates, and record which path your tenant was given.
Microsoft Learn: Consolidated Google Workspace migrationHow each tool handles it
Built-in methodExchange Google migration: copies mail, calendars, contacts and rules. Gmail labels become folders, and Gmail filters arrive as Outlook rules that are turned off. Messages over the message size limit (35 MB by default) are skipped. Vacation replies, room bookings, shared calendars and event colours do not move.BitTitan MigrationWizMigrates Google resource calendars to room mailboxes, and every calendar a user owns with MigrateGmailAllCalendar=1. Since 1 October 2026 you must first add its app ID to the tenant's EWS allow list.CloudM MigrateMoves users, groups and resources into Microsoft 365, with Gmail, contacts and Google Calendar going to Exchange Online.Tip: Raise message size limits for mailboxes that hold large attachments before their batch starts, and tell users to turn their rules back on.
Microsoft Learn: Perform a Google Workspace migrationHow each tool handles it
Built-in methodExchange Google migration: a licence assigned before the batch starts creates a mailbox the batch cannot convert. Once the batch starts, you have 30 days to assign it. Google forwarding to Microsoft 365 needs the Google licence until mail stops arriving at Google.Tip: Keep migrating users out of group-based licensing until their batch starts, then licence them the same day.
Microsoft Learn: Google Workspace migration prerequisitesHow each tool handles it
Built-in methodExchange Online: items that retention or archive policies move or delete during the copy show as missing in verification. Microsoft recommends turning these policies off, or placing the mailbox on retention hold, until the migration is complete.Tip: Record the hold dates for each mailbox in your compliance record.
Microsoft Learn: Place a mailbox on retention holdHow each tool handles it
Built-in methodMigration Manager: copies only the current version by default. Under Project settings > Advanced > File versions you can choose a specific number or all versions (up to 50,000). Microsoft recommends no more than 10, because native Google files may be throttled above that. The destination library must have versioning turned on, and a file counts as migrated only when all its versions arrive.BitTitan MigrationWizNumber of versions is set on the Source/Destination tab, from 1 to 25, default 1. Custom version names and minor revisions of Google files are not migrated, and Drawings and Slides show the latest content in every version.CloudM Migrate"Migrate previous document versions" offers 5, 10, 15, 25 or All, major versions only. Changing the number between delta runs replaces documents at the destination.MovebotNot stated in Movebot's documentation: test it in your pilot.Tip: Pick a small number for most drives and more only where owners need the history. Versions take OneDrive and SharePoint storage too.
Microsoft Learn: Migration Manager file versionsHow each tool handles it
Built-in methodMigration Manager: maps users and groups automatically; you review the matches and upload the rest. Folder permissions move by default. File-level permissions are off by default, so files inherit their folder, and Microsoft notes turning them on can slow the copy. Editors become Can edit and Commenters and Viewers become Can view. Shared drive Managers become Can edit, not owners.BitTitan MigrationWizPermissions move only if Documents and Permissions are both selected in the first pass. By default it maps permissions by swapping the source domain for the destination domain; use UserMapping for more domains.CloudM MigrateMaps Google groups to Microsoft 365, where they can become Microsoft 365 Groups.Tip: Create Microsoft 365 groups with the same members as each Google group before the first pass, and add site owners yourself.
Microsoft Learn: Migration Manager permission settingsHow each tool handles it
Built-in methodMigration Manager: does not recreate external sharing links and does not share content with external collaborators.BitTitan MigrationWizLink sharing settings are not migrated, and permissions for other domains are not migrated by default.MovebotNot stated in Movebot's documentation: test it in your pilot.Tip: Ask users to list files they share outside the business before the scan, and give owners a resharing date.
Microsoft Learn: Migration Manager Google FAQHow each tool handles it
Built-in methodMigration Manager: Microsoft says identity mapping is needed so metadata lands correctly, but its Google documentation does not list which date and author fields move. Not stated in Microsoft's documentation: test it in your pilot.BitTitan MigrationWizMigrates file and folder name, modified date, modified by and created date. Creator is migrated but BitTitan warns it may not be accurate.CloudM MigrateNot stated in CloudM's documentation: test it in your pilot.Tip: In the pilot, compare Modified and Modified By on a few files in Google and in OneDrive.
Microsoft Learn: Step 5, map identitiesHow each tool handles it
Built-in methodMigration Manager: Docs, Sheets and Slides become .docx, .xlsx and .pptx. Google Forms move only if you set a Forms destination. Google Sites, Google Maps and shortcuts do not move. Orphaned files (files with no folder, often left when a sharer deletes or leaves) are not scanned, migrated or reported.BitTitan MigrationWizConverts Drawings to JPEG, Apps Script to JSON, Jamboard to PDF and Forms to a zip of HTML and a CSV of responses. Shortcuts and Google Sites are not migrated.Tip: Ask users to move loose files into a folder in My Drive and list their shortcuts before the scan.
Microsoft Learn: Unsupported files in Migration ManagerHow each tool handles it
Built-in methodMigration Manager: when two shared drives share a name, only the first is migrated, and slashes in drive names are not supported. If the destination is a library root, the drive's root folder permissions are not migrated. A destination cannot be changed once a task has run.Tip: Send each shared drive to a new folder inside its library, not the library root.
Microsoft Learn: Migration Manager Google FAQHow each tool handles it
Built-in methodMail: a batch keeps syncing until you complete it, and completing runs a final sync. Files: Migration Manager reruns copy new and changed files, but skip a file whose OneDrive copy is newer and do not carry permission-only changes. The other mode, "Migrate all files and overwrite any existing ones", overwrites edits made in OneDrive. Renamed or moved folders copy again as new content.BitTitan MigrationWizNot a sync tool: each pass is run by you. OverwriteDestinationFilePermissionsAndMetadata=1 updates permissions on files already copied; BitTitan advises it for the final pass only. A file renamed at the source arrives as a new file.CloudM MigrateNot stated in CloudM's documentation: test it in your pilot.Tip: Freeze folder names and structure in Google from the first pass until the final top-up.
Microsoft Learn: Delta sync in Migration ManagerHow each tool handles it
Built-in methodMigration Manager: Microsoft advises no more than 100,000 items or 1 TB per task, and runs at most 50 cloud tasks at once, counting scans. Google files last changed before 2 May 2022 show as 1 byte in the scan, so totals understate storage. Throttling means a service slowing down heavy traffic; copying versions adds load on the Google side.BitTitan MigrationWizBitTitan says its Google Drive (Own Service Account) connector greatly reduces throttling and recommends it for all Google Drive moves.Tip: Split big drives by root folder and schedule the largest tasks first.
Microsoft Learn: Step 2, scan and assess Google DrivesHow each tool handles it
Built-in methodMicrosoft's tools: do not move Google Chat. Google Vault can export Chat messages sent with history on, including direct messages and selected spaces, before the accounts close.CloudiwayMoves Google Chat spaces to Teams channels and direct messages to Teams chats. Meeting-linked spaces are not supported, and only the latest 1,000 messages per space move by default.Tip: Run any Vault export before you remove Google licences, because removing them deletes the data.
Google Vault Help: Use Vault to search Google Chat
- 1
Get ready
Before you startWatch out: Migration Manager: orphaned files (files with no folder, often left when someone who shared a folder deletes it or leaves) are not scanned, migrated or reported.
Ways around it
- Ask users to move important loose files into a folder in My Drive before the scan.
Show the detailed steps (4) →Watch out: Migration Manager: when two shared drives share a name only the first is migrated, and slashes in drive names are not supported.
Ways around it
- Sort the Manage shared drives list in the Google Admin console by name, then rename duplicates before you scan.
- 2
Set up Microsoft 365
Watch out: Exchange Google migration: a licence assigned before a person's batch starts creates a mailbox the batch cannot convert. Once the batch starts, you have 30 days to licence.
Ways around it
- Keep migrating users out of group-based licensing until their batch starts, then licence them the same day.
Watch out: Exchange Online: items that retention or archive policies move or delete during the copy show up as missing in verification.
Ways around it
- Put migrating mailboxes on retention hold once their batch starts, and release it after you check them.
Check your DNS records before and after the change
Show the detailed steps (6) → - 3
Copy mail and calendars
Show the detailed steps (6) →Watch out: Exchange Google migration: room bookings, shared calendars, event colours and vacation replies do not move, so room calendars arrive empty.
Ways around it
- Create room mailboxes before cutover, export future bookings, and have organisers re-book recurring meetings.
- List shared calendars with their owners so they can share them again from Outlook.
Tools that can do it
- BitTitan MigrationWizMigrates Google resource calendars to room mailboxes, and all of a user's calendars with MigrateGmailAllCalendar=1. Since 1 October 2026 you must first add its app ID to the tenant's EWS allow list.
- CloudM MigrateMoves users, groups and resources into Microsoft 365, with Gmail, contacts and Google Calendar going to Exchange Online.
- 4
Copy the files
Watch out: Migration Manager: Microsoft advises no more than 100,000 items or 1 TB per task. Google files last changed before 2 May 2022 show as 1 byte in the scan.
Ways around it
- Split large drives into tasks by root folder, and treat scan totals as a minimum when planning storage.
Watch out: Migration Manager: by default it copies only the current version of each file, and folder permissions but not file-level ones. Shared drive Managers arrive as editors, not owners.
Ways around it
- Before the first run, set File versions (Microsoft suggests no more than 10) and file permissions only where people need them, then add site owners with Teams PowerShell.
Show the detailed steps (5) →Watch out: Migration Manager: folders renamed or moved between passes copy again as new content, which creates duplicates.
Ways around it
- Tidy up in Google before the first scan, or in SharePoint after cutover.
- 5
Replace what does not move
Before Google accounts closeShow the detailed steps (4) →Watch out: Google Sites, Google Maps, Chat history, shortcuts and external sharing links do not move with Microsoft's tools.
Ways around it
- Give each item an owner and a date, as in the actions above.
Tools that can do it
- CloudiwayMoves Google Chat spaces to Teams channels and direct messages to Teams chats. Meeting-linked spaces are not supported, and only the latest 1,000 messages per space move by default.
- 6
Switch over
After every batch has syncedWatch out: Other mail servers cache the old MX record for a while, so some senders keep delivering to Google. Forwarding from Gmail works only while the user still has a Google licence.
Ways around it
- Keep Google licences and forwarding until Email Log Search shows no new inbound mail.
- Time the Google renewal around the MX change.
Turn this phase into dated tasks with the cutover planner
Show the detailed steps (5) → - 7
Check and clean up
Show the detailed steps (5) →Watch out: Neither Microsoft tool copies data back to Google, and removing Google licences deletes the Gmail, Drives, Sites and scripts.
Ways around it
- Keep Google running until every check passes and every export is done.
- Every mail batch user and Drive task is Completed, with only gaps the owners accepted.
- Outside mail arrives in Microsoft 365, and SPF, DKIM and DMARC pass.
- Every user sends, receives, syncs files and joins Teams meetings on every device.
- No mail or file edits reach Google, and former Google sign-in apps use Microsoft Entra ID.
Tools named in this plan are independent third-party products, not endorsed by the platform vendor and not paid placements. Check the tool's own documentation and run a pilot first.
What does each step involve?
Open a part when you reach it in the plan. Each step says where to go, what to do and what you should see.
About this migrationWhat it covers, limits at a glance
Microsoft provides first-party tools for both halves of this move. Mailboxes, calendars and contacts go through the Google Workspace migration in Exchange Online. Files go through Migration Manager, which connects to Google Drive through a Google Workspace Marketplace app and copies My Drive and shared drive content into OneDrive and SharePoint.
The order matters. Build the Microsoft 365 tenant and routing first, migrate mail in batches while users keep working in Gmail, migrate files, then change MX last. This guide follows that order. If you only need the DNS part, see the DNS and email cutover guide.
1What you need before step one
| Need | Details | Where to get it |
|---|---|---|
| Exchange Online admin | At least the Recipient Management role group, for mail users, the migration endpoint and batches. | Exchange admin center (https://admin.exchange.microsoft.com) > Roles > Admin roles |
| Migration Manager admin | SharePoint Administrator or Microsoft 365 Migration Administrator, for Drive and shared drive moves. SharePoint Administrator also runs SharePoint Online Management Shell. | Microsoft 365 admin center (https://admin.microsoft.com) > Roles > Role assignments |
| Google admins | A super administrator to authorise domain-wide delegation and install the Microsoft 365 Migration app from Google Workspace Marketplace. Project Creator and Create Service Accounts roles in Google Cloud for the migration admin. | Google Admin console (https://admin.google.com) > Account > Admin roles; Google Cloud console (https://console.developers.google.com) > IAM & Admin |
| Licences | A Microsoft 365 plan per user that covers the features they use, with Exchange Online assigned only after the batch starts. Keep Google Workspace licences until MX has changed and mail stops arriving at Google. | Microsoft's plan comparison pages; check current pricing. Assign licences |
| Exchange Online PowerShell | For mail users, remote domains and batch commands. | Install the module and connect |
| SharePoint Online Management Shell | To pre-provision OneDrive with Request-SPOPersonalSite before Drive migration. | Install SharePoint Online Management Shell |
| Teams PowerShell | The MicrosoftTeams module, to set owners on the teams behind migrated shared drives. | https://learn.microsoft.com/microsoftteams/teams-powershell-install |
| Migration Manager | Moves My Drive and shared drives. Tenants with fewer than 300 licences get Migration Manager Lite by default. | Microsoft 365 admin center (https://admin.microsoft.com) > Setup > Migration resources. Microsoft's overview: https://learn.microsoft.com/en-us/sharepointmigration/mm-google-overview |
| DNS and domains | Sign-in to your DNS host for the routing subdomains, MX, SPF and DKIM. Domains verified in both Microsoft 365 and Google. | Add a domain to Microsoft 365, add a domain to Google Workspace |
| Files to prepare | Mailbox and data inventory, identity and licence mapping sheet, batch CSVs (EmailAddress, Username), a users.txt list for OneDrive, and a list of Google Sites, Apps Script projects and Chat history you must keep. | Google Admin console reports; Apps Script dashboard (https://script.google.com); Google Vault (https://vault.google.com) |
2Inventory, licence mapping and tool choice4 steps
Start with an inventory: every user, shared mailbox equivalent (Google Groups and delegated mailboxes), each user's Drive size, every shared drive and its members, Google Sites, Apps Script projects and third-party apps that use Google sign-in. Record it in a mailbox and data inventory so you can plan batches.
- 1
Map features, not plan names
Where: Your Identity and licence mapping sheet, with Microsoft's plan comparison pages open in a browserGoogle Workspace editions and Microsoft 365 plans do not line up one to one. For each group of users, add a row and list what they actually use: desktop Office apps or browser only, mailbox and archive size, device management, data loss prevention, eDiscovery, Teams meetings and phone. Then pick the Microsoft 365 plan that covers that list and write it in the row. Check Microsoft's current plan comparison and pricing pages rather than relying on an old spreadsheet.
You should see: Every user group in the sheet has a named Microsoft 365 plan and the features that justify it. - 2
Choose the mail migration path
Where: Microsoft 365 admin center (admin.microsoft.com) > migration page (admin.microsoft.com/adminportal/home#/featureexplorer/collections/Migrations) > Google migration optionSign in as an admin and open the migration page. Select the Google migration option at the top of the page to open the consolidated Google migration dashboard, add your Google source domain, then choose the Mail tile. For mail the dashboard routes tenants with 1,000 or fewer source mailboxes to Simplified Gmail migration and larger tenants to the classic batch migration in the Exchange admin center. The classic path gives you more control over batches and is documented step by step in the Gmail to Exchange Online guide.
You should see: The dashboard shows a Mail tile with your Google mailbox count and sends you to either Simplified Gmail migration or the classic migration. - 3
Choose the file migration path
Where: Microsoft 365 admin center (admin.microsoft.com) > Billing > Licenses, then Setup > Migration resourcesUse Migration Manager for Google Drive. Under Billing > Licenses, check how many Microsoft 365 licences the tenant has. Microsoft enables Migration Manager Lite by default for tenants with fewer than 300 Microsoft 365 licences when the project is created. Lite keeps the connect and migrate stages and walks you through the rest in a guided setup. You open Migration Manager later from Setup > Migration resources > Explore migration & imports tools > Google Workspace.
You should see: You know whether the project will open in standard Migration Manager or the Lite wizard, and you have recorded it in the plan. - 4
Check admin roles
Where: Microsoft 365 admin center > Roles > Role assignments; Exchange admin center (admin.exchange.microsoft.com) > Roles > Admin roles; Google Cloud console (console.developers.google.com) > IAM & Admin > Manage ResourcesYou need at least the Recipient Management role group in Exchange Online for mail. For Migration Manager you need the SharePoint admin role or the Microsoft 365 Migration Administrator role. On the Google side you need an administrator who can create a Google Cloud project, a service account and a key, and who can install Marketplace apps. In the Google Cloud console, select the resource, then on the Permissions tab select Add Principal, enter the migration admin and add the Project Creator and Create Service Accounts roles, then Save.
You should see: The migration admin shows the roles in each portal. Google role changes can take up to 15 minutes to apply.
3Set up routing domains and provision mail users6 steps
During the migration both platforms hold mail for the same domain. Microsoft's design uses two subdomains so each side can forward to the other. The examples use contoso.com as the primary domain.
- 1
Add the Microsoft 365 routing subdomain in Google
Where: Google Admin console (admin.google.com) > Menu > Account > Domains > Manage domains > Add a domainEnter
o365.contoso.com, select User alias domain and select Add domain & start verification. Follow the on-screen steps until the domain is verified; a subdomain of your primary domain may verify automatically. Microsoft warns against usingtenant.onmicrosoft.comfor routing because Google then asks every user to verify the forwarding address. The full procedure is in add a domain to Google Workspace.You should see: The domain shows as Active (verified) in Manage domains. - 2
Add the same subdomain to Microsoft 365
Where: Microsoft 365 admin center (admin.microsoft.com) > Settings > Domains > Add domain, then your DNS host's control panelAdd
o365.contoso.comto Microsoft 365 as an accepted domain, following add and verify a domain in Microsoft 365. At your DNS host, create its MX record pointing to Microsoft 365, using the MX value shown under Settings > Domains >o365.contoso.com> DNS records.You should see: The subdomain is listed in Settings > Domains with no missing records, and nslookup -type=mx o365.contoso.com returns the Microsoft 365 host. - 3
Add the Google routing subdomain
Where: Google Admin console > Menu > Account > Domains > Manage domains > Add a domain, then your DNS host's control panelAdd
gsuite.contoso.comas a second User alias domain in Google and verify it. At your DNS host, give it Google's MX record: hostgsuite, valuesmtp.google.com, priority 1. Google can take up to 24 hours to apply the setting to all users.gsuite.contoso.com. MX 1 smtp.google.com.You should see: The domain shows as Active in Manage domains, and nslookup -type=mx gsuite.contoso.com returns smtp.google.com. - 4
Allow automatic forwarding to Google
Where: Exchange admin center (admin.exchange.microsoft.com) > Mail flow > Remote domains, or Exchange Online PowerShell connected with Connect-ExchangeOnlineIf you have changed transport defaults, make sure Exchange Online can auto-forward to the Google routing domain. Either enable it on the default remote domain or create a remote domain for
gsuite.contoso.com. In the EAC select Add a remote domain, enter a name and the domain, and on the Email reply types screen allow automatic forwarding. Or run the commands below after you connect to Exchange Online PowerShell. If your outbound spam policy also blocks forwarding, see the Gmail to Exchange Online guide.New-RemoteDomain -Name "Google routing" -DomainName gsuite.contoso.com Set-RemoteDomain -Identity "Google routing" -AutoForwardEnabled $true Get-RemoteDomain -Identity "Google routing" | Format-List DomainName,AutoForwardEnabledYou should see: Get-RemoteDomain shows DomainName gsuite.contoso.com and AutoForwardEnabled True. - 5
Allow Google users to forward mail
Where: Google Admin console > Menu > Apps > Google Workspace > Gmail > End User Access > Automatic forwardingIf your Google policy stops users setting a forwarding address, the migration tool cannot set it either. Select the organisational unit of the migrating users in the side panel, open Automatic forwarding, tick Allow users to automatically forward incoming email and select Save (or Override for a child organisational unit).
You should see: The setting shows as allowed for the migrating organisational units. - 6
Provision a mail user for every migrating person
Where: Exchange Online PowerShell on your admin PC, connected with Connect-ExchangeOnline (or Exchange admin center > Recipients > Contacts > Add a mail user)Each person needs a mail user in Exchange Online before their batch runs. The primary address should match their Google address,
ExternalEmailAddresspoints to the Google routing address, and the Microsoft 365 routing address is added as a proxy. Do not assign a licence yet. When a batch starts, Exchange converts mail users to mailboxes. Assign the Exchange Online licence within 30 days of that conversion. For many users, use the CSV loop in the Gmail to Exchange Online guide.$pw = Read-Host -AsSecureString -Prompt "Temporary password" New-MailUser -Name "Will Smith" -MicrosoftOnlineServicesID will@contoso.com -PrimarySmtpAddress will@contoso.com -ExternalEmailAddress will@gsuite.contoso.com -Password $pw Set-MailUser -Identity will@contoso.com -EmailAddresses @{Add="smtp:will@o365.contoso.com"} Get-MailUser -Identity will@contoso.com | Format-List ExternalEmailAddress,EmailAddressesYou should see: Get-MailUser shows ExternalEmailAddress SMTP:will@gsuite.contoso.com and an smtp:will@o365.contoso.com proxy address.
4Migrate Gmail, Calendar and Contacts to Exchange Online6 steps
Mail moves in batches through the Google Workspace (Gmail) migration in the Exchange admin center. A Google Cloud service account with domain-wide delegation lets Exchange Online read each mailbox. The EAC can create the project, service account, key and API settings for you. The full procedure, with every command, is in the Gmail to Exchange Online guide.
- 1
Let the EAC create the Google project and key
Where: Exchange admin center (admin.exchange.microsoft.com) > Migration > Add migration batchName the batch, keep Migration to Exchange Online, select Next, choose Google Workspace (Gmail) migration and select Next. In Automate the configuration of your Google Workspace for migration select Start and sign in to Google as the migration admin.
You should see: A projectid-*.json key file downloads, and the EAC shows a client ID, the scopes and an API access link. - 2
Authorise the service account in Google
Where: Google Admin console > Menu > Security > Access and data control > API controls > Manage Domain Wide Delegation (opened from the EAC's API access link)As a super administrator select Add new, paste the client ID and the scopes exactly as the EAC shows them, and select Authorize. Then point to the client ID, select View details and check every scope is listed.
You should see: The client ID appears in the API clients list with all scopes. Changes can take up to 24 hours to apply. - 3
Create the migration endpoint
Where: Exchange admin center > Add migration batch > Set a migration endpointSelect Next to reach Set a migration endpoint, choose Create a new migration endpoint, enter a name and select Next. Enter the Google admin email address, select Import JSON and choose the key file. Create one endpoint and reuse it for every batch.
You should see: The endpoint appears in the Select migration endpoint list and the wizard moves to Add user mailboxes. - 4
Run batches from a CSV
Where: Exchange admin center > Add migration batch > Add user mailboxes, Move configuration and Schedule batch migration pagesEach batch takes a CSV of Microsoft 365 addresses in an
EmailAddresscolumn, plus an optionalUsernamecolumn for users whose Gmail address differs. Select Import CSV file. On Move configuration choose the Microsoft 365 routing subdomain (o365.contoso.com) as the Target delivery domain and tick Mail, Calendar, Contacts and Rules. On Schedule batch migration start automatically, complete manually, then Save and Done. Users keep working in Gmail while the batch syncs.EmailAddress,Username will@contoso.com, maria@contoso.com,maria.lopez@contoso.comYou should see: The batch appears under Migration with status Syncing. - 5
Assign licences after the batch starts
Where: Microsoft 365 admin center > Users > Active usersStarting the batch converts the mail users to mailboxes. Now assign the Exchange Online licence to each person, following assign Microsoft 365 licences. Microsoft allows 30 days.
You should see: Each migrating user shows the licence in Active users. - 6
Complete each batch when it is Synced
Where: Exchange admin center > Migration > select the batch > Complete migration batchWhen the status changes from Syncing to Synced, select the batch, select Complete migration batch, then Confirm in the details pane. Completion runs a final sync and sets forwarding in Google, so new mail reaches the Microsoft 365 mailbox before MX changes.
Complete-MigrationBatch -Identity gmailBatch1You should see: The batch status changes to Completed.
5Migrate My Drive to OneDrive5 steps
Personal drives move with Migration Manager, opened from Setup > Migration resources in the Microsoft 365 admin center. A Google super administrator installs the Microsoft 365 Migration app from Google Workspace Marketplace, then each drive is scanned, given a OneDrive destination, mapped to Microsoft 365 identities and migrated. The Google Drive to OneDrive guide covers each stage, the limits and the reports.
- 1
Pre-provision OneDrive
Where: SharePoint Online Management Shell on your admin PC, connected as a SharePoint administratorDestinations must exist before migration. Install the shell with install SharePoint Online Management Shell, put one user principal name per line in a text file, and request OneDrive for those users. They must be licensed and allowed to sign in.
Connect-SPOService -Url https://contoso-admin.sharepoint.com $users = Get-Content -Path "C:\migration\users.txt" Request-SPOPersonalSite -UserEmails $usersYou should see: The command returns without errors. OneDrive locations appear over time; for many users this can take days. - 2
Connect Migration Manager to Google
Where: Microsoft 365 admin center > Setup > Migration resources > Explore migration & imports tools > Google WorkspaceSelect Install and authorize and sign in to Google Workspace Marketplace as a super administrator. Choose the organisation-wide install (Admin install or Domain install), accept the consent box and finish. Back in Migration Manager select Next, then Sign in to Google Workspace, Next and Finish within 10 minutes.
You should see: Standard Migration Manager opens Configure project settings; Lite opens its setup wizard. - 3
Map identities
Where: Migration Manager > Drive migrations tab > Map identitiesMap users and groups so access and metadata land correctly. Review the automatic mapping, then use Import users and groups > Batch upload to fill the Microsoft 365 identity column for anyone not matched.
You should see: Every Google user and group in the list has a Microsoft 365 identity. - 4
Check permission and version settings
Where: Migration Manager > Project settings (menu bar) > Permissions and Advanced tabsFolder permissions migrate by default; file-level permissions (on the Permissions tab) and older versions (File versions on the Advanced tab) need settings turned on before the first run.
You should see: The settings show the values you chose before any task is migrated. - 5
Run a first pass, then deltas
Where: Migration Manager > Drive migrations tabSelect the tasks, select Migrate and confirm with Migrate. Rerunning a task copies new and changed files, so run a final delta the same way when users switch to OneDrive.
You should see: Tasks move from Queued to In progress to Completed. Download the reports to check item-level failures.
7Google Sites, Apps Script and other things that do not move4 steps
Microsoft states that Google does not allow Google Sites or Google Maps to be exported from Drive, so Migration Manager cannot move them. Plan to rebuild them.
- 1
Rebuild Google Sites as SharePoint pages
Where: Your Mailbox and data inventory, then the SharePoint admin center (contoso-admin.sharepoint.com) > Sites > Active sites > CreateList every site, its owner and audience. Rebuild intranet-style sites as SharePoint communication sites and team sites as SharePoint team sites: in Active sites select Create and choose the site type. Migrate the files they link to first so you can relink.
You should see: Each Google Site in the inventory has a matching SharePoint site URL and an owner. - 2
Replace Apps Script and add-ons
Where: Apps Script dashboard (script.google.com) for the list of projects, and your Application inventory and dependency mapScripts bound to Sheets or Docs will not run in Office files. Ask owners to list their projects from the Apps Script dashboard and record each one. Decide whether each becomes a Power Automate flow (make.powerautomate.com), an Office Script or is retired.
You should see: Every script has a recorded decision and owner before its files migrate. - 3
Move third-party app sign-in
Where: Google Admin console > Menu > Security > Access and data control > API controls (to find apps), then Microsoft Entra admin center (entra.microsoft.com) > Enterprise applicationsApps that use "Sign in with Google" need to be moved to Microsoft Entra ID single sign-on before you close the Google accounts. Use the app list under API controls to find them, then add each app in Microsoft Entra ID under Enterprise applications > New application and configure its single sign-on.
You should see: A test user can sign in to each app with their Microsoft 365 account. - 4
Recreate what the tools skip
Where: Your Cutover runsheetShared calendars, room bookings, vacation responders, external sharing links and Drive shortcuts all need manual work. Add them to the runsheet with an owner.
You should see: Each skipped item has a runsheet line, an owner and a due date.
8Google Chat and Google Meet3 steps
Microsoft's consolidated Google Workspace migration dashboard covers mail and Drive. It does not move Google Chat conversations into Teams, so decide early whether chat history is kept for reference, exported for records, or moved with a third-party tool.
- 1
Export Chat history you must keep
Where: Google Vault (vault.google.com) > Matters > Create, then the matter's Search tabCreate a matter, select Chat as the service, choose the accounts, an organisational unit or Chat spaces (enter a member's email, select Find, pick the spaces and select Add), then select Export. Vault covers Chat messages sent with history on, including direct messages and the spaces you select. Messages sent with history off and messages in external Chat spaces are not covered. Run the export before you close Google accounts.
You should see: The export appears on the matter's Exports tab and can be downloaded when it finishes. - 2
Move Meet recordings with Drive
Where: The meeting organiser's Google Drive > My Drive > Google Meet folderGoogle saves Meet recordings in the meeting organiser's Drive, in the "Google Meet" folder. They are files in that Drive, so they are in scope when you migrate the organiser's My Drive. Check the folder is not excluded by any filter.
You should see: After the Drive migration, the Google Meet folder and its recordings appear in the organiser's OneDrive. - 3
Recreate recurring meetings in Teams
Where: Outlook calendar (desktop, new Outlook or Outlook on the web) for each organiserAfter each batch completes, ask organisers to open each recurring meeting in Outlook, turn on Teams meeting (or create a new series as a Teams meeting) and send the update, so attendees get Teams links instead of Google Meet links.
You should see: Attendees receive updated invitations with a Join Teams meeting link.
9Cut over DNS: MX last5 steps
Change MX only after every batch is complete. Until then, mail arrives at Google and is forwarded to migrated users through the routing subdomain.
- 1
Lower the TTL in advance
Where: Your DNS host's control panel > contoso.com > DNS records > MX record > EditLower the TTL on the MX record a day or more before cutover so the change spreads quickly. See lower DNS TTL before a migration.
nslookup -type=mx -debug contoso.comYou should see: The lookup shows the lower TTL on the MX record. - 2
Change MX to Microsoft 365
Where: Microsoft 365 admin center > Settings > Domains > contoso.com > DNS records (for the value), then your DNS host's control panelUse the MX value shown for your domain in the Microsoft 365 admin center. Replace the Google MX records with it, following change MX records.
nslookup -type=mx contoso.comYou should see: The lookup returns only the Microsoft 365 MX host, and Settings > Domains shows the domain as healthy. - 3
Update SPF and set up DKIM
Where: Your DNS host's control panel, and Microsoft Defender portal (security.microsoft.com) > Email & collaboration > Policies & rules > Threat policies > Email authentication settings > DKIMUpdate SPF to include Microsoft 365 (set up SPF) and set up DKIM for Exchange Online (set up DKIM). Leave Google in the SPF record until Google stops sending for the domain.
You should see: One SPF TXT record includes both providers, and DKIM shows as enabled for contoso.com. - 4
Keep Google running through propagation
Where: Google Admin console > Menu > Reporting > Email Log SearchSome senders will still deliver to Google for a while. Keep Google licences and forwarding in place until mail stops arriving there; search the log for recent inbound messages to check.
You should see: Email Log Search shows no new inbound mail for the domain arriving at Google. - 5
Remove the migration scaffolding
Where: Exchange Online PowerShell; Google Admin console > Account > Domains > Manage domains; Microsoft 365 admin center > Settings > DomainsAfter the MX change has settled, remove the completed batches and the migration endpoint, then the routing subdomains from Google and from Microsoft 365 (remove a domain from Microsoft 365) and the extra aliases. Remove the Google tenant once you have exported anything you must retain.
Remove-MigrationBatch -Identity gmailBatch1 Remove-MigrationEndpoint -Identity gmailEndpointYou should see: Get-MigrationEndpoint returns nothing, and neither routing subdomain is listed in either admin console.
10Support users through the first week3 steps
- 1
Send the quick-start guide before cutover
Where: Your Quick-start guide for staff, sent by email from Google before each batch completesCover signing in to Outlook and OneDrive, where shared drive content now lives, and how folders replace labels.
You should see: Every user in the batch has the guide before their first day on Microsoft 365. - 2
Reconnect phones and desktop clients
Where: Each user's phone (mail app account settings) and computer (installed apps list)Users remove the Google account from mobile mail apps and add the Microsoft 365 account, for example in Outlook for iOS or Android. Remove Google Drive for desktop once OneDrive sync is working.
You should see: New mail and calendar items appear on the phone, and the OneDrive icon shows files are up to date. - 3
Check rules and calendar sharing
Where: Outlook on the web (outlook.office.com) > Settings > Mail > Rules, and the Calendar sharing optionsAsk users to review migrated rules, turn on the ones they need, and share calendars again.
You should see: Needed rules show as on, and colleagues can see shared calendars again.
What can go wrong, and how do you avoid it?
The detail behind the plan: options compared, and what experienced engineers check first. Tap any item.
Compare all the ways to do this3 options
Microsoft native tools, classic path
Medium effortBest for: Most organisations: Exchange Online Google migration batches for mail, Migration Manager for Drive and shared drives
- First-party tools from Microsoft for both mail and files
- Users keep working in Gmail and Drive while batches and delta passes run
- Full control over batches, identity mapping, permissions and versions
- Needs routing subdomains, mail users and a Google service account set up first
- Does not move Google Sites, Google Chat, shared calendars or external sharing links
Microsoft native tools, small tenant path
Low effortBest for: Tenants with 1,000 or fewer source mailboxes (Simplified Gmail migration) and fewer than 300 licences (Migration Manager Lite)
- Marketplace apps do the Google-side setup
- Guided wizards for both mail and files
- Microsoft has stated Simplified Gmail migration is not available worldwide yet
- Less control than the classic path, and the same gaps for Sites and Chat
Third-party migration platform
Medium effortBest for: Projects that need content Microsoft's tools skip, such as Google Chat history, or want one vendor for everything
- Options such as CloudM, BitTitan MigrationWiz and Movebot cover mail, Drive or both
- One console and vendor support across workloads
- Extra product to buy: check the vendor's current pricing
- Check each vendor's supported data types before you commit
Start from the consolidated Google migration dashboard in the Microsoft 365 admin center: it tells you whether your tenant gets the simplified or the classic path. Use Microsoft's tools unless you must keep Google Chat history or other content they skip, in which case compare third-party platforms on that content specifically.
Decide what not to move before you scanSaves time
Old drives of departed staff, duplicate exports and archive folders add copy time to every pass, and Migration Manager advises no more than 100,000 items or 1 TB per task.
Use the Google Admin console storage figures to find the biggest drives, ask owners to delete or archive what is not needed, and split anything that is still large into tasks by root folder.
Choose file versions and file-level permissions deliberatelySaves time
By default only the latest version and folder permissions move. Turning on file versions or file-level permissions copies more and Microsoft notes file permissions can slow the migration.
Set both in Migration Manager project settings (Advanced and Permissions tabs) before the first run. Turn on file permissions only where files were shared one by one, and keep only the versions people actually need.
Fix ownership and orphaned files in Google firstReduces risk
Files are migrated with the drive that owns them, and orphaned (unorganised) files are not scanned, migrated or reported.
Have departing staff transfer ownership in Google before the scan, and ask users to move important loose files into a folder in My Drive.
Allow for Google files that report as 1 byteCost lever
Google only reports sizes for Docs, Sheets and Slides created or changed from 2 May 2022, so the scan undercounts older content.
Treat scan totals as a minimum when you plan OneDrive and SharePoint storage and the time each wave needs.
Licence mailboxes after their batch startsReduces risk
Mail users become mailboxes when the batch starts; a licence assigned earlier creates a mailbox the batch cannot convert. You then have 30 days to licence.
Keep migrating users out of group-based licensing until their batch has started, then licence them the same day.
Pause MRM and archive policies during the mail copyCompliance
Items moved or deleted by retention or archive policies mid-migration show up as missing in verification.
Place migrating mailboxes on retention hold once their batch starts and release it after verification. Note the dates for your compliance record.
Make shared drive names unique and slash-freeReduces risk
When two shared drives share a name only the first one discovered is migrated, and slashes in names are not supported, so a drive can silently go missing.
Export or sort the Manage shared drives list in the Google Admin console, rename duplicates and drives with slashes, then scan.
Plan for what Microsoft's tools do not moveUser impact
Google Sites, Google Maps, Chat history, shortcuts and external sharing links do not move with Microsoft's tools.
List each item with an owner: rebuild Sites in SharePoint, export Chat you must keep with Vault before closing accounts, and give owners a date to reshare with guests.
Third-party chat migration tools can copy Google Chat history into Teams instead of leaving it in a Vault export. Google Sites, Maps, shortcuts and external sharing links still need the manual plan above.
- CloudiwayMoves Google Chat spaces to Teams channels and direct messages to Teams chats, keeping original timestamps and authors. Meeting-linked spaces are not supported and only the latest 1,000 messages per space move by default.
Do not restructure folders between passesSaves time
Renamed or moved source or destination paths are treated as new content, so later passes create duplicates.
Announce a structure freeze from the first pass to the final delta, and do any tidy-up in Google before the first scan or in SharePoint after cutover.
Overlap Google licences until mail stops arrivingCost lever
Forwarding from Gmail passes through the user's Google account, so migrated users still need a Google Workspace licence until MX has changed and propagated.
Time the Google renewal around your MX change and check both vendors' current pricing for the overlap. Remove Google licences only after Email Log Search shows no new inbound mail.
Room bookings and shared calendars need their own planUser impact
Microsoft lists room bookings, shared calendars and event colours as not migrated by the Google Workspace migration in Exchange Online, so room calendars arrive empty and calendars people subscribed to are missing.
Create room mailboxes in Exchange Online before cutover, export the future bookings for each Google resource, and have organisers re-book recurring meetings in the new rooms. List shared calendars with their owners so they can share them again from Outlook.
Third-party tools can bring resource calendars and secondary calendars across instead of leaving them behind. MigrationWiz migrates Google resource calendars into room mailboxes and, with a support option, every calendar a user owns rather than only the primary one. CloudM lists resources alongside users and groups in what it moves to Microsoft 365.
- BitTitan MigrationWizMigrates resource calendars to resource mailboxes when you use Advanced Options with recipient mapping from each resource calendar address to its room mailbox, and MigrateGmailAllCalendar=1 brings all of a user's calendars. BitTitan notes events from other users cannot be migrated into a resource calendar. For Exchange Online, add your MigrationWiz app ID to the tenant's EWS allow list first: since 1 October 2026 Microsoft blocks EWS for apps not on it.
- CloudM MigrateMoves users, groups and resources into Microsoft 365 as part of a planned migration, with Gmail, contacts and Google Calendar data going to Exchange Online.
How do you check it worked, or roll back?
Full validation checklist9 checks
Run these before you declare the migration complete. Record the results in the data validation report.
| Check | How to check | What good looks like |
|---|---|---|
| Every mail batch user is completed without errors | In Exchange Online PowerShell run | Every person in your Identity and licence mapping sheet is Completed, and skipped items are only those you expected. |
| Mail, calendar and contacts arrived | Sign in to Outlook on the web ( | Labels appear as folders, recent mail and future meetings are present, and contacts match. |
| Every Drive and shared drive task completed | In Migration Manager open the Drive migrations tab, select all tasks and choose Download reports > Summary, then Detailed for failed ResultCode values. Record the results in your Data validation report. | Every planned My Drive and shared drive task is Completed, and remaining file failures are known gaps (shortcuts, orphaned files, restricted files) accepted by their owners. |
| Permissions and site owners are right | For a sample of shared folders, open Manage access in OneDrive or SharePoint and compare with Google sharing. Run | Internal users and groups have the same access as in Google, and each site has the business owner you named. |
| MX, SPF, DKIM and DMARC point at Microsoft 365 | Run | MX ends in mail.protection.outlook.com, the admin center shows no DNS errors, and SPF, DKIM and DMARC pass. |
| Apps that used Sign in with Google now use Entra ID | Using the app list from Google Admin console > Security > Access and data control > API controls, sign in to each third-party app with a Microsoft 365 account. | Every listed app signs in through Microsoft Entra ID, so none depends on the Google accounts you will close. |
| Outlook, OneDrive and Teams work on every device | Ask each user to confirm Outlook desktop and mobile use the Microsoft 365 account, OneDrive sync shows no errors, recurring meetings have Teams links, and Google Drive for desktop is removed. | Every user sends, receives, syncs files and joins Teams meetings without help. |
| Rooms, shared calendars and rules are recreated | Book a room mailbox from Outlook and ask users to confirm they have reviewed migrated rules (Outlook on the web > Settings > Mail > Rules) and reshared calendars. | Rooms accept bookings, needed rules are on, and shared calendars are visible to the right people. |
| Google no longer receives mail or edits | Search Google Admin console > Reporting > Email Log Search for recent inbound mail, and sort a sample of Google Drives and shared drives by Last modified. | No mail is being delivered to Gmail and no files have changed in Google since the final delta. |
Rollback planIf it goes wrong
Roll back if
- The pilot mail batch or pilot drives show large gaps that cannot be fixed before the planned completion
- Routing between gsuite.contoso.com and o365.contoso.com fails, so mail for migrating users goes missing
- Mail stops arriving after the MX change and cannot be fixed in the agreed window
- Business-critical Sheets or Apps Script processes stop working and no replacement is ready
Point of no return
Until a mail batch is completed, users work in Gmail and Exchange Online forwards their mail back to Google. Completing a batch moves the user to Outlook and sets Google to forward new mail to Microsoft 365. Migration Manager never deletes Google files. The true point of no return is removing Google licences, the routing domains or the Google Workspace account: the Gmail mailboxes, Drives, shared drives, Sites and Apps Script projects go with them. Neither Microsoft tool copies data back to Google, so work done in Microsoft 365 after cutover stays there unless you run a separate reverse migration.
- 1
Stop incomplete mail batches
Where: Exchange admin center > Migration > select the batch, or Exchange Online PowerShellStop any batch still syncing so users in it stay on Gmail, with mail forwarded back to Google through the routing address.
Stop-MigrationBatch -Identity gmailBatch1You should see: The batch shows as stopped and those users keep receiving mail in Gmail. - 2
Put MX back to Google if you changed it
Where: Your DNS host's control panel > contoso.com > DNS recordsRestore the Google MX record from your DNS cutover record sheet (smtp.google.com, priority 1) and remove the Microsoft 365 MX record. Keep Google in SPF.
nslookup -type=mx contoso.com 8.8.8.8You should see: Public resolvers return the Google MX record. - 3
Remove forwarding from completed users
Where: Each completed user's Gmail > Settings > See all settings > Forwarding and POP/IMAPTurn off the forwarding to the o365.contoso.com address that batch completion added, and save.
You should see: Test mail to the user stays in Gmail. - 4
Send users back to Gmail and Drive
Where: Your User communication pack, and each user's devicesTell affected users to work in Gmail and Google Drive again, reinstall Google Drive for desktop from
https://www.google.com/drive/download/if it was removed, and hold further Migration Manager passes.You should see: Users work in Google again and no new Migration Manager tasks start. - 5
Copy back work done in Microsoft 365
Where: Outlook on the web and OneDrive or SharePoint in a browser, then Gmail and Google DriveFor mail received in Exchange Online, users forward the important messages back to Gmail. For files changed in OneDrive or SharePoint after the final pass, download them and upload them to Google Drive. For many users, plan a reverse move with the Microsoft 365 to Google Workspace guide.
You should see: Google holds the latest mail and files from the cutover window. - 6
Keep the Microsoft 365 set-up for a retry
Where: Microsoft 365 admin center and Exchange admin centerLeave mailboxes, routing domains, the endpoint and Migration Manager project in place while you fix the cause. Remove licences only if you abandon the move.
You should see: You can restart batches and delta passes once the cause is fixed.
Agree the triggers and who decides before the go / no-go meeting. Use the rollback plan template.
Common problems and fixes7 errors
GmailForwardingAddressRequiresVerificationExceptionCause: Google needs the forwarding address verified, usually because the routing domain is not verified or is a tenant.onmicrosoft.com domain.
Fix: Use a verified subdomain of your primary domain for routing. Microsoft's prerequisites say to skip the forwarding subdomain step if you see this error.
Migration verification reports missing itemsCause: MRM or archive policies in Exchange Online moved or deleted items during the migration.
Fix: Disable the Default MRM Policy and archive policies for migrating users until the migration is complete, then re-enable them.
Mail for migrated users keeps arriving in Gmail after the batch completesCause: Google could not set forwarding because users are blocked from setting a forwarding address.
Fix: Allow SMTP forwarding for migrating users in the Google Admin console, then complete the batch again or set forwarding for the affected users.
Mail to unmigrated users bounces or never reaches GoogleCause: Exchange Online is not allowed to auto-forward to the Google routing domain.
Fix: Enable AutoForwardEnabled on the default remote domain or on a remote domain for the Google routing subdomain.
Large messages are skippedCause: The message is bigger than the tenant or mailbox message size limit (35 MB by default).
Fix: Raise the message size limits for the affected mailboxes as Microsoft documents, then resume the batch.
A shared drive does not appear in the migrationCause: Another drive has the same name, so only the first one discovered was migrated, or the name contains a slash.
Fix: Rename the duplicate or the drive with the slash in Google, rescan, and add it again.
Scan report shows Google Docs with a size of 1 byteCause: Google only reports sizes for its own file types created or changed from 2 May 2022.
Fix: Expected behaviour. Allow extra capacity for older Google files when you size the migration.
Frequently asked questions
Can users keep working in Gmail during the migration?
Yes. Batches keep syncing new mail until you complete them, and mail keeps arriving at Google until you change MX.
Does the Exchange migration move Google Drive?
No. Drive and shared drives move with Migration Manager in the Microsoft 365 admin center, which is a separate project.
Are Google Docs converted to Word files?
Yes. Migration Manager uses Google's export to convert Docs, Sheets and Slides to .docx, .xlsx and .pptx. The originals in Google stay as they are.
Do Gmail filters and vacation replies move?
Filters move as Outlook rules but arrive turned off. Vacation and automatic reply settings do not move.
Is there a simpler option for a small business?
Yes. Microsoft's Simplified Gmail migration in the Microsoft 365 admin center is for tenants with 1,000 or fewer source mailboxes and installs a Google Marketplace app to do the setup.
When should I assign Microsoft 365 licences?
Mail users become mailboxes when their batch starts. Microsoft gives you 30 days from then to assign the Exchange Online licence.
Can Google Sites be migrated?
Not with Microsoft's tools. Google does not allow Sites to be exported from Drive, so rebuild them in SharePoint.
Official sources
26 official pages this guide is based on
Vendors change limits and features, so confirm details on the source before you rely on them. Last checked 4 Nov 2026.