Google Drive to OneDrive for Business Migration Guide

This articles outlines the complete task flow for migrating folders and documents from Google Drive to OneDrive for Business. This migration requires an Azure subscription, which maximizes migration speed and bypasses throttling.

First time?

This migration guide contains the necessary steps to perform the actual migration, but there are many steps to preparing for migration. If this is your first time performing a migration, we have created a Migration Planning & Strategy Guide to walk you through planning, set-up, and general migration best practices. If you have never performed a migration before, we suggest reading that before beginning the steps outlined in this scenario.


MigrationWiz is a migration tool, not a syncing tool. If changes are made at the source after migration, they will not sync to the destination, nor will changes made at the destination sync to the source. We do not have “live” monitoring of changes (as with a sync agent) and we cannot handle scenarios such as conflict resolution without user interaction.

Items and folders in "Shared with Me" will not be migrated. Only items in "My Drive" will be migrated. To migrate "Shared with Me" items, they must be added to "My Drive".

We are not able to support migrations with two-factor or multifactor authentication. 

The maximum file size for migration through MigrationWiz varies by migration type and environment, but may never exceed 60GB.

Some item types are not migrated. Click the bar below to expand the full list of what item types are and are not migrated. We are constantly working to create a better migration experience for you, so these items may change.

What items are and are not migrated?
  • Folders
  • Folders you have shared
  • Permissions
  • G Suite native files
  • Code Files
  • Documents
  • Images
  • Executables
  • Videos
  • Audio Files
  • Templates (files that the template had been applied to are migrated)
  • Creation Date (Creation date gets changed to the "date of migration" date)
  • Scripts/Macros (Scripts are not converted to macros when going to documents)
  • Comments
  • File/Folder permissions
  • Items/folders in "Shared with Me”. These folders must be added to the user’s “My Drive” and FullCopy Mode must be used in order to migrate these items/folders. 
  • Shortcuts (Migrated in Google Drive to Google Drive scenarios only.)
  • Google Shared Drives (also known as Team Drives)
    • Only when SharePoint Online is the Destination

Not Migrated

  • Personal / Free Google Drive is not supported
  • File/folder shortcuts

OneDrive migrations

Consider the following behaviors and tips for OneDrive migrations.

  • OneDrive data may not be accessible for a few days after migration, due to OneDrive's crawling and indexing process. We suggest having your users log in immediately after migration but warn them that their data may not be available immediately. For this reason, it may be best to complete the migration on a Friday so the indexing can happen over the weekend.
  • If you are migrating to a Microsoft 365 Small Business Tenant account, the processes will be very similar to the above. However, you will not be able to use admin credentials for your Destination endpoint and will instead be using end-user credentials.
  • This endpoint does not support the User's personal site provisioning. If App-Based Authentication is in use at the Destination, the AO DestPersonalSiteIsProvisioned=1 must be used. Refer to Advanced Option.
  • Due to versioning, storage usage in OneDrive may be increased when migrating with permissions.
  • Due to limitations on connections allowed by GoDaddy, we do not support migrating to or from GoDaddy using this migration type.
  • Changing the domain after the migration process will not automatically update the previously migrated destination file. Once data is migrated from one domain to another, any subsequent changes or modifications made to the original source data or the domain will not automatically reflect in the destination file.

Set up the Azure Environment

If using Microsoft-provided Azure storage, you can skip this section.

  1. Estimate Azure storage costs. This step is optional but is useful in providing the customer with upfront storage costs ahead of time.
  2. Buy an Azure subscription or use the free one-month trial (this option is only viable if you are performing a very small migration).
  3. Create an Azure storage account. You will need to set up a STORAGE (General Purpose v2) account rather than a storage blob. Take note of the storage account name and the primary access key. We recommend that you create an Azure Storage Account in the same Microsoft data center as the Destination Microsoft 365 tenant. You do not need to create any Azure containers for this migration.
    1. Log in to
    2. Goto the Storage account you have created for Migration purpose
    3. Click Access Keys for the access keys need to be entered when creating the Destination endpoint. We recommend that you create an Azure Storage Account in the same Microsoft data center as the Destination Office 365 tenant. 
    4. Take note of the Storage Account Name and the Primary Access Key as follows:
    5. -accesskey – This is the Storage account name for the Blob – example “accountname”
    6. -secretkey - This is the access key for the Storage account – example “W1RrDfkPNkfYfdVqizMNJjn5mXchwMP5uYBY8MsMqWTA7EubG911+4fZlki0Gag==”

Prepare the Source

The Google Drive (Own Service Account) connector launched in 2020 and requires the set up of a Google Service account. This significantly reduces the likelihood of the migration being throttled. This is the option we recommend for all Google Drive migrations. Follow the steps below under under OAuth2 Requirements for Google Drive (Own Service Account) to set up your environment for this endpoint.

All accounts being migrated must be in Active status in the tenant. Users that are set to a status of Inactive will not be able to fully migrate and will fail in the project.

OAuth2 Requirements for Google Drive (Own Service Account)


  • Subscription to Google Cloud Platform.
  • Google Super Administrator account.
  • Ability to set up a service account on the G Suite tenant.
  • A Google service account must be set up before the MigrationWiz project is created.

Create a Google Project

  1. Go to the Google Cloud Platform (GCP) Console and sign in as a super administrator. Choose one of the options below:
    • If you haven't used the Google Cloud Platform Console before, agree to the Terms of Service and click Create Project.
    • If you have used Google Cloud Platform Console before, at the top of the screen next to your most recent project name, click Down to open your projects list. Then, click New Project.
  2. Enter a project name and click Create.
  3. When the new project creation completes, at the top of the screen next to the current project name, click Down icon and select the newly created project name from the list.

If you are not able to create a project here, it may be that the ability to create projects has been disabled for your tenant. To check this, navigate to the Google Admin Center and click on Apps > Additional Google Services and select the Google Cloud Platform. Once there, you should see a setting that can be toggled in order to allow users to create projects.

Enable APIs for Service Account

  1. From the Google Cloud Platform Console, click Menu > APIs & Services > Library.
  2. Enable the following APIs by selecting the specific API and clicking Enable.
    Repeat for each API listed below:
    • Google Drive API
    • Admin SDK

Make sure that the respective services are enabled within the Google tenant. You can control services for your users using the instructions on this page: Control who can access G Suite and Google Services.

Create Customer Tenant Service Account

  1. From the Google Cloud Platform Console, click Menu > IAM & Admin > Service accounts.
  2. Click + Create Service Account at the top middle of the screen and enter a name.
  3. Click Create.
  4. Assign the role of Owner to the new Service Account by selecting Owner from the Role drop down menu.
  5. Click Continue to move to the next step, then click the Done 
  6. You will now be returned to the "Service Accounts" page. 
  7. On ‘Service accounts' page, click vertical ellipsis under 'Actions’ column for the service account created above.
  8. Click Manage Keys.
  9. Click on Add Key > Create New Key 
    1. Make sure that JSON is selected as "Key Type."
  10. Click Create.
  11. Click Close.

Download the key as a JSON file and make a note of the name and location of the file. This JSON file will be used when setting up the migration endpoint in the migration project.


The JSON file must contain information in the following fields: “type”, “private key”, and “client email”. If these mandatory fields are empty the file upload during endpoint creation will fail.

Setting the Scopes for the Migration

  1. From the Google Cloud Platform Console:

      1. Click Menu.
      2. Click IAM & Admin.
      3. Click Service Accounts.
      4. Find the service account that was set up in Step 3: Create Customer Tenant Account.
      5. Find and copy the service accounts Unique ID number. This is the Client ID number that will be used in a later step.
        • This field often needs to be added to the view. Click on the Column display options button and add a checkmark to Unique ID, then click OK.
        • This Client ID should be considered similar to Administrator account passwords and handled securely.
      6. You will now have one of two options, depending on if the Google UI has been updated in your tenant.

      Old Google Tenant UI:

      1. Go to the G Suite admin page at
      2. Click Security.
      3. Click Access and Data Control > API Controls.
      4. Click Manage API Client Access.

      OR If your account shows the latest UI updates from Google, as shown below:New_Google_Admin_APP_Access_Control.JPG

      1. Go to the G Suite admin page at
      2. Click Security.
      3. Click Advanced Settings.
      4. Under ‘Domain-wide delegation’, click Manage domain-wide delegation.
      5. On the Manage domain-wide delegation page, click Add new.

 Once these steps are complete:

  1. In the Client ID field, paste the Unique ID copied above.
  2. In the OAuth scopes (comma-delimited) field, paste all scopes listed below:
  3. For source endpoint:,,
  4. Click Authorize.

 You should now see your specific Unique ID and the associate scopes listed.

Export mailboxes to CSV file(s)

From the Google Admin portal:

  1. Click Users
  2. Click ⁝ (3 vertical dots) 
  3. Download Users
  4. Download All Users
  5. Click OK 
  6. Save

Prepare the Destination Environment

Endpoint Change Notification

For Government or Google Drive to OneDrive for Business (China) migrations, select OneDrive GCC/China endpoint types instead of OneDrive in your destination endpoint selection.

Create an administrator account in Microsoft 365 to be used for migration, or use the global admin account for the tenant.

The easiest approach to follow is to use the global admin account. This was set up at the time of tenant creation. However, if you do not wish to use this global admin account during migration, then a new user account can be created instead. This will then need to be granted full access rights to each user.

The admin account must have a full license assigned to it, in order to be able to provision OneDrive for Business profiles for each user during the migration process. If you encounter the error "Personal Site is not instantiated = PermissionsUserNotLicensed", this means that the OneDrive collection for a user does not exist and the administrator account used for the migration does not have a full license assigned. To resolve this issue, assign a license to the administrator account, and resubmit the migration.

Create an Administrator Account for Delegated Administration rights

The easiest approach to follow is to use the global administrator account that was set up at the time of tenant creation. However, if you do not wish to use this global admin account during migration, then a new user account can be created instead. This new account will then need to have a license assigned that includes OneDrive for Business and be granted either Global Administrator permissions or SharePoint Administrator privileges.

Important: We strongly recommend that you use an administrator account that isn’t one of the users being migrated, as it can cause issues with missing shared permissions.


  1. Create a user in Microsoft 365 and assign a license that includes OneDrive for Business. For step by step instructions, see the Microsoft article Add users individually or in bulk to Office 365.
  2. Grant the new user Global Administrator permissions or SharePoint Administrator rights in Microsoft 365.
  3. Ensure that the administrator account is set to use Basic authentication rather than Multi-Factor authentication.

After you perform these steps, the specified user will be visible in the Microsoft 365 administrator center. Full provisioning of the user account can take up to 24 hours.

Using App-based Authentication

BitTitan uses app-based authentication for SharePoint, OneDrive for Business, Microsoft 365 Groups (Documents), and Teams migrations. This provides greater security and reduces the potential of Microsoft throttling. It replaces the previous Microsoft 365 authentication, which has been subject to increased throttling by Microsoft. This app-based authentication method is specific for Microsoft 365 tenants.

If you elected to use app-based authentication, perform the following steps:

Add the App to the tenant

Steps to enable permission level at the destination:

  1. Go to MigrationWiz-SharePoint-FullControl and consent to the app access when prompted.
  2. Create new Security Group named “MigrationWiz” on the Microsoft 365 Admin Portal.
  3. Create new user.
  4. Add new user to previously created security group as a member.
  5. Create MigrationWiz project.
  6. When creating the endpoints, enter the new user credentials.

Assign Licenses

Assign an Office 365 license that contains OneDrive for Business to the admin account that will be used for migration.

  • If users have never used OneDrive before, MigrationWiz will provision OneDrive (SharePoint) profiles for each user being migrated, using the admin account credentials that are entered in the Destination endpoint. However, it does not create the user account; the user account needs to have already been created.
  • MigrationWiz cannot provision a OneDrive profile for blocked users. If a user is blocked, there will be a provisioning or access error.

Set up accounts on Office 365 and assign licenses. These can be created in several ways:

  • Manually, one at a time.
  • By bulk import, via CSV file. Read the Add several users at the same time to Office 365 article from Microsoft for more information. You can use the CSV file that was created under Step 3 of the Prepare the Source Environment section of this guide.
  • By PowerShell script. Read the Create user accounts with Office 365 PowerShell article from Microsoft for more information.
    If you are migrating permissions, the part of the usernames before the "@" sign on Microsoft 365 must match the part of the username on Google Drive before the "@" sign, e.g., on Google Drive must follow the same format before the @ sign on Microsoft 365, and so must also equal "john.smith" on Microsoft 365. The domain name, however, can be different. For more information see: Set up groups on Microsoft 365. If permissions were assigned to groups on Google Drive, and you want these to be migrated, the group names on Microsoft 365 must match the group names on Google Drive.  Create the required Microsoft 365 CNAME for your domain. Read the Create DNS records at Register365 for Office 365 article from Microsoft for more information. Set up the app-based authentication in the Microsoft 365 tenant. 

Post Migration Steps

To remove the BitTitan Enterprise app, perform the following steps:

  1. Launch PowerShell.
  2. Connect PowerShell to Microsoft 365.
  3. Enter the command:


  4. Enter the admin credential in the prompt.
  5. Enter the command:

    Get-AzureADServicePrincipal -SearchString Migration

  6. Look for the ObjectId of the app you want to remove and enter the following command: Remove-AzureADServicePrincipal -objectId <the object id>

MSPC Steps


Licenses are required to run a migration project in MigrationWiz. To obtain license pricing information, or to purchase licenses, click the Purchase button in the top of your MSPComplete or MigrationWiz dashboard.

Payment: We accept credit cards, and wire transfer in certain situations.  

  • When purchasing with a credit card, payment is immediately processed during checkout. If successful, licenses are granted to your account instantly.
  • Wire transfers are available for purchases of 100 or more licenses. If you are purchasing at least 100 licenses, you will be presented an option to purchase via wire transfer during checkout. A wire transfer checkout will generate an invoice with wiring information for your accounts payable department and bank. Once the funds are received by our system, the licenses are granted to your account immediately. 

For this project type it is recommended to use our User Migration Bundle licenses. 

To purchase licenses:

      1. Sign in to your BitTitan account. 
      2. In the top navigation bar, click Purchase.
      3. Click the Select button and choose the license type you need.
      4. Enter the number of licenses you want to purchase. Click Buy Now.
      5. Enter a Billing address if applicable.
      6. Click Next.
      7. Review the Order Summary and enter a payment method.
      8. Click Place Your Order.

These licenses enable you to perform multiple migrations of documents and in-place archives.

User Migration Bundle Licenses have unlimited data available per license. User Migration Bundle Licenses are applied to the customer's users, for whom you'll be performing migrations, and are valid for one year.

Read the Licensing FAQ article for more information.

MigrationWiz Steps

Create a Document Migration project

  1. Click the Go to My Projects.
  2. Click the Create Project.
  3. Create a Document project.
  4. Click Next Step.
  5. Enter a Project name and select a Customer.
  6. Click Next Step.


Endpoints are now created through MigrationWiz, rather than through MSPComplete. The steps for this section outline how to create the endpoints in MigrationWiz.

If you are selecting an existing endpoint, keep in mind that only ten endpoints will show in the drop-down. If you have more than ten, you may need to search. Endpoint search is case and character specific. For example, Cust0mer will not show up if the search is customer. We recommend keeping a list of endpoints you have created, along with any unique spellings or capitalization you may have used.

You may either use existing endpoints, or create new ones. 

To create a new source endpoint:

  1. Click Endpoints.
  2. Click Add Endpoint.
  3. Select Google Drive (own service account).
  4. Select the JSON file created in the steps above and enter the Super Admin username and password for the source.
  5. Enter the Google admin account email address and domain name in the appropriate fields. This is the account that has admin access level to the Google admin portal. Please note that this admin email should match the end user domain.
  6. Click Add.

To create a new destination endpoint:

  1. Click Endpoints.
  2. Click Add Endpoint.
  3. Select OneDrive for Business.
  4. Enter the requested information. If entering the Azure Storage Account Name for the destination endpoint, only numbers and lowercase letters can be used. If you enter an upper case letter, your migration will fail.
  5. Click Add.

Add Users

Add the user accounts that will be migrated to the project. MigrationWiz allows you to bulk import users into the system. (Note: For OneDrive endpoints, the email address must match the current User Principal Name of the user in the tenant)

Use the Bulk Add option for large migrations, or the Quick Add for smaller migrations. 

To import one or more users:

  1. Sign in to your MigrationWiz account.
  2. Select the Project for which you want to perform the bulk import.
  3. Click on Add.
  4. Click on Quick Add or Bulk Add.
  5. Follow the instructions on the page.

Add Advanced Options

Under Support/Support options:

There are no spaces on either side of the "=" sign, and the entries are case-sensitive, so pay special attention to the capital letters in the commands detailed below.

  • InitializationTimeout=8
    • This increases the initialization timeout window to eight hours. 
  • IncreasePathLengthLimit=1
    • Use this Advanced Option in MigrationWiz to enable the use of 400 characters for the file path name.
  • RemoveExistingPermissionsWhenUnspecified=1
  • ShrinkFoldersMaxLength=300 (optional but recommended)
    • See SharePoint & OneDrive Migration FAQs. We recommend that you set this Advanced Option as ShrinkFoldersMaxLength=300
    • This option can be set to a higher or lower value, depending upon what is acceptable to the customer.  The value is dependent upon the following criteria: the file system data, the email address that is a part of the folder path (collection root), and the domain name for permissions, etc. However, using 300 should keep a good security range to manage all edge cases, and it provides a very reasonable limit. This option should be enabled on a case-by-case basis.
    • We recommend that you create a project specifically for when this option is required. Within this project, add the Advanced Option: ShrinkFoldersMaxLength=300 and then move files that get "path too long" errors into this project.
    • If a former migration has been performed without the option on, then the storage will need to be reset at the Destination, otherwise, both file system structures will appear at the Destination. If a user modifies the Source file system folder structure (for example, by renaming, removing, or creating a new folder) between two passes using this Advanced Option, the dynamic mapping may be totally different and the Destination may have two different file systems represented. If multiple folders are truncated at 10 characters in the same parent folder, they may end up being merged into a single one if the first ten (10) characters are identical.
  • DocumentBrowsingMode=FullCopy

    • Remove and do not use "DocumentBrowsingMode=Moderate" in the Project advance options. This option will not be able to migrate items from folders under My Drive NOT owned by the user resulting in missing items.

      See Google Drive Migration FAQ for more details

      Add DocumentBrowsingMode=FullCopy

    • Scans “My Drive” for the source address in your migration project.

    • Migrates all folders and files in "My Drive" regardless of ownership

    • The destination OneDrive user will become the owner of all folders and files migrated from the source MyDrive. There is no current option to avoid this.

    • Documents and Document permissions must be migrated together in the first pass for permissions to be applied properly

  • IgnoreConflictingFiles=1
    • Set this value to skip FileAlreadyExists exception in the One Drive
  • DestPersonalSitesIsProvisioned=1
    • MigrationWiz will use App-based authentication for OneDrive personal site retrieval
  • MapPermissionEmailByPairsInProject=1
    • Permissions generally cannot be migrated unless the prefix of the mail address is the same in the source and the destination. However, choosing Support Option MapPermissionEmailByPairsInProject=1 will allow permissions to be migrated without identical mail addresses.
    • If you have split all the Google Drive accounts across different MigrationWiz project, use the Support Option MapPermissionEmailByPairsInCustomer=1 instead to use the mapping of all users across all projects.

If the migration project is a long-term project, it may be necessary to add an additional Advanced Option for use during the final migration pass to verify the contents of previously migrated items. For more information, contact Support.


  • Send successful migration and notification to: > Source email address (if users are still using G Suite Gmail) or Destination email address (if users are already using Microsoft 365).
  • Customize notification email: Checkmark the Customize "successful migration" email Add your own customization text and company name to this email.
  • Notifications are not mandatory for a successful migration.  Notifications should only be set up before the final pass. If performing a single, Full pass, set this up now. If you are following a Pre-Stage migration strategy, only set this up prior to the final Full (Delta) pass.

Run Verify Credentials

  1. ​Sign in to your MigrationWiz account​.
  2. Open the Project containing items you wish to validate​.
  3. Select the items you wish to validate.
  4. Click the Start button in your dashboard.
  5. Select Verify Credentials from the drop-down list.

Once complete, the results of the verification will be shown in the Status section.​ 

Notify Users

Notify users that a migration is occurring. Send email to all users telling them the time and date of the migration.

Run Migration

Pre-Stage pass

  1. Select the users you wish to migrate.
  2. Click the Start button from the top.
  3. Select Pre-Stage Migration.
  4. Under the Migration Scheduling section, from the drop-down list, select 90 days ago.
  5. Click Start Migration.

Full (Delta) pass

  1. Select the users.
  2. Click the Start button from the top.
  3. Select Full Migration.
  4. Click Start Migration.

Run Retry Errors

Look through the user list and click any red "failed migration" errors. Review the information and act accordingly.

If problems persist, contact Support.

Request Statistics

  • Click the pie chart icon in the MigrationWiz dashboard to receive an email containing all the project migration statistics.
Was this article helpful?
3 out of 6 found this helpful