I'm going to assume that a user is already set up in G Suite and the Admin console is accessible.
The very first thing I did was to set up forwarding to the new G Suite based email address. I didn't do this the first time around and it ended up creating all sorts of confusion with new emails. This is definitely worth doing as early as possible. Setup was done in Gmail Settings, Forwarding and POP/IMAP. Forwarding requires a confirmation, but since both the old and new email addresses belonged to me, that was trivial.
When I set up forwarding to my new G Suite based email address, I chose to set GMail to mark its copy of the email as read. This way I wouldn't need to bother checking emails in Gmail from this point on.
After setting up forwarding I logged into the new G Suite hosted email address and imported Contacts from my Gmail account. It doesn't look like it's possible to migrate Gmail Contacts using the G Suite Admin console, this way works though. The migration is started from Settings > Accounts and Import.
After clicking Import mail and contacts, a popup window was shown with a number of steps to follow. I entered my Gmail address, authorized and then selected what I wanted to import. It was important to only choose Contacts here. Then I clicked Start Import and continue with the other steps. The actual migration was more or less instant.
Now that forwarding and Contacts were out of the way it was time to migrate all the old emails. This was done in the G Suite Admin console by selecting Data Migration.
I selected Email and then clicked Continue.
Then I chose Gmail as my source and clicked Connect.
After the connection was established, I selected a custom migration start date and set it to a value from before my account was created. This way it should have migrated all the email over.
The next part was confusing. I was taken to the Email Data Migration screen but there was no migration in progress. To start one, I had to click the big green plus button.
Clicking that brought up yet another screen that I had to fill out with my old Gmail address, authorize it and then select the G Suite user to migrate data to.
After I clicked Start, I was told that migration has stared.
It took more than 2 days to migrate all my email over (about 11k emails taking up 1.8Gb of space). It was excruciatingly slow, even though Google assures that Gmail migrations run at full speed. Yeah right! It did get there in the end though and I was rewarded with a Completed status.
The next bit was a little unclear too. The migration session has to be exited once you're finished. This is done by bringing up the migration menu and selecting Exit Migration.
A final confirmation was displayed, I clicked Exit.
Shortly after I received a report for the migration. The report stated that not all emails could be migrated and listed which ones they were. I only had 3 emails fail and they weren't important so I didn't do anything about those.
I did notice that some emails had incorrect dates in them. In Gmail they appeared with the right dates, but in G Suite they had the correct day and month, but the year was set to the current year instead. This happened to only a handful of emails, again those were not important so I deleted most of them anyway.
That pretty much sums it up.
If you haven't signed up yet, Google G Suite is definitely worth it. The first month is free and then it's only $5 per user and gives you unlimited storage space and if you have multiple domains you can set these up as aliases for free. I'll be covering that in another article though.