Escaping Workspace (pt. 2)

17 years ago I have moved from Gmail to my own domain with Google Apps (known as Google Workspace since 2020). Now, I am moving back to Gmail. This part describes how I moved (or not moved) non-mail data from one account to another.

Picture of a cay trying to copy files

Nowadays all tech blog posts must have an AI-generated featured image.

Refresher

In the previous part of the article, Escaping Workspace (pt. 1), I described how I adopted Google Workspace, became unhappy with the prices and limitations of Workspace accounts, and decided to migrate back to a normal consumer account.

This decision required me to set up a new consumer account, and copy the data from one account to another one across multiple Google services. This part of the article describes copying data between Google accounts for non-mail Google services.

Unfortunately, very few services support copying data between accounts explicitly. Most services require some creative usage of their unrelated features, manual labor, and lose some portions of data afterwards.

Non-Mail Services

Android

Android apps installed from Play Store are attached to the Play Store account, even if they don't use Google Sign-In and don't interact with Google account. Purchased apps and subscriptions (and discounted subscriptions) can't be automatically transferred from one Play Store account into another. However, I've heard about someone doing this with the help of Play Store support, though it wasn't easy.

Android Setup supports setting up a new phone only with one account, and when trying to move data from the old phone, the setup wizard doesn't move the apps that were installed from a different account. This was not a problem for me personally, because I use only few apps in addition to messengers and e-banking clients, whose credentials aren't moved by Android setup anyway. Some apps automatically picked up data from the old phone when reinstalled.

Supposedly there is some process to move data and apps using adb, but I did not try it.

Authenticator

Since 2023, Authenticator stores OTPs in Google Account. On an Android phone with two Google accounts, long pressing an entry in Authenticator shows the edit button in the top right corner, and the form under this button allows to change the Google account where the entry is stored. I had to move all entries manually one by one.

Calendar

Calendar migration was the most straightforward: there a section called "Import %amp; export" in the Settings, it can export the whole calendar into a single .ical.zip file, and it can import the whole calendar from an .ical file. Everything just works!

However, Google Calendar doesn't support email aliases. It means that when someone tries to invite my old address, I only receive an email and the event doesn't show up in Google Calendar. I can accept or decline the event using the links from the invite, but can't edit the event and can't link it to Google Calendar so that edits to the original event become visible.

Contacts

On an Android phone with two Google accounts, the Contacts app supports bulk move of contacts between accounts: the menu from the top right corner has the "Move to another account" option, which just works.

Chrome

Chrome data move is very straightforward and just works:

  1. Turn off Chrome Sync.
  2. Log out of the old account.
  3. Log into the new account, declining to add a new Chrome profile.
  4. Turn on Chrome Sync.

Drive

The whole Drive migration story is described in detail in an article on jc.kiwi. This blog also has an article called "Escaping Google Workspace" which describes a similar experience, and I swear that I didn't know about it when I came up with the name for my article!

For my Drive docs, I have used the shared drive approach:

  • I don't put files owned by other people in my drive hierarchy, so there was no problem moving my whole drive into the shared drive.
  • Some files owned by me are still used on my previous job, shared with multiple people and are linked from multiple places, so changing their IDs and sharing them again is a no-go.

One of accounts in my domain had an opposite situation: they had a lot of frozen documents owned by other people in their Drive, mostly to ensure that they won't get lost. The rclone approach worked well for these docs.

Maps

This is the worst service from data move perspective (so far!).

Lists of places can't be moved accounts. All lists except the "Starred places" can be shared with another account; but the shared list is read-only and will, probably, go away with the original account deletion -- so I had to manually share the list with the new account, go though the places one by one, and save them to a new list in the new account manually.

Location sharing can't be moved between accounts: I had to share the location from the new account and ask my friends to share the location back to the new account. Google Maps doesn't even show email addresses of people you share location with, only their names! Some friends thought that it was a scam and tried to validate whether the request to share the location really came from me.

Location history, also known as Timeline, cannot be moved between accounts too. I downloaded my history using Takeout and plan to set up a self-hosted open-source app Dawarich to render my old history. Unfortunately, this app is not a good replacement for Timeline: it supports tracking only via OwnTracks, which has very strange relationship with Google Play Services, which results in much worse user experience compared to Maps. Currently I just use Timeline on the new account without the history.

Reviews, ratings, and photos can't be moved between accounts (but I don't care, because that's just the content that I created for Google and I won't regret it being gone). Labels of places can't be moved between accounts.

Pay

Google Pay doesn't support transferring cards between accounts. I've removed all cards from the old account and added them to the new one manually.

Photos

Most photos can be moved by abusing the Partner Sharing feature:

  1. Add the new account as the partner of the old account.
  2. Enable "Automatically add to library for all photos" in the new account when confirming partner sharing.

It moved photos from the main album in original quality and all metadata between two accounts. The process took a long time, indexing the photos (for search, face recognition, map placement, etc) took even longer, and the quota reconciliation took even longer.

Few things are not migrated through Partner Sharing:

  • Albums shared by other people with the old account: these had to be manually shared with the new account one by one.
  • Albums where photos from the main album were moved: these had to be manually shared with the new account one by one, corresponding albums had to be created in the new account one by one, and the photos from the shared albums had to be copied into new albums (to ensure that they won't disappear when the old account is deleted).

Sign-In

The list of all websites ever used with Google Sign-In is conveniently located on https://myaccount.google.com/connections. I had to go through these websites one by one, disconnect the account on that website from the old Google account, and try to link it to the new account.

Some websites -- for example, Strava -- do not support different email addresses for the website account and for Google account used for sign-in. For these ones, I had to go back to native authentication.

YouTube

YouTube accounts (aka YouTube channels) are secretly separate Google accounts, which use the parent Google account for authentication. It allows to move YouTube accounts between Google accounts in 8 steps. Interestingly, these steps are documented by Google here (for a reverse move, from Gmail to Workspace):

  1. Create a new channel. This creates a new YouTube channel (called brand account in some places), which is less strongly connected to the main Google account. Brand accounts can be managed and used by multiple Google accounts.
  2. Replace the new channel with the old one by using "Move channel to a brand account". Now all data from the channel is in the brand account, whose ownership can be changed.
  3. Give the new Google account ownership over the brand account, wait 7 days, change the new account to the primary owner, remove the old account from the list of owners.
  4. Move the channel from the brand account to the Google account in Advanced settings, and set it as the default one for the Google account.

This operation preserves subscriptions, likes, playlists, comments on YouTube and YouTube Music. However, the follow data will be lost:

  • View history and everything derived from it, including recommendations. However, I found that it was enough to browse YouTube for a week before recommendations became indistinguishable from the old ones.
  • Blocks created using "Don't recommend this channel".
  • Music uploaded to YouTube music. Even more, the playlists containing uploaded music got corrupted and now don't show any songs after the first uploaded one, including the ones that are present on YouTube Music.

Youtube Premium subscription is attached to Google account, not to a channel -- therefore it needs to be cancelled on the old account and bought on the new account.

Afterword

Finally the self-imposed adventure of data migration is over! I estimate the time spent on moving data for my account and a few family member accounts as 100+ hours -- however, including research, learning Terraform to use it for AWS setup, and writing these blog articles.

I didn't write these articles in a form of step-by-step guides with screenshots, as such guides get outdated really fast. Instead, I tried to give general directions and set expectations about how much effort each step takes, and what data can be preserved. Hope that this information helps other people who are trapped in Workspace, consider escaping, but are scared by potential problems.

Finalizing the second article took much more time than expected, because I postponed moving data from the old account once it got below the 30GB quota and I managed to downgrade the Workspace subscription to Business Starter. Nevertheless, I've decided to push the migration to the end and stop using the Workspace account completely, as I don't want to return to this question in a few years when Workspace becomes problematic for some new reason.

Even with tremendous time I've invested into the migration now, using Workspace for all these years was totally worth it: it saved a lot of time hosting and managing my own mail servers (as there were no good mail redirect services back then), and helped me to recover Google account access for my family members a couple of times. It's sad that the product got oriented on business users more and more, so customers with personal domains have to find other solutions. But it's also understandable: 5 companies with 1000 accounts bring the same amount of money as 1000 families with 5 accounts.