Google Shared Contacts Not Working? Here’s What You Need to Know

The Google Shared Contacts API allows you to create contacts that are visible to your global Google Workspace! Another name for this traditionally might be a Google GAL or Global Address List. Google Shared Contacts is Google’s answer to contacts that your entire organisation can see. It’’s Google’s equivalent of Microsoft’s Global Address List.

Magic, just what we need! Well, perhaps… but don’t get excited yet. It’s not actually that easy to leverage Google Shared Contacts.
The options are:
- Use the API (you’ll need to be comfortable with programming)
- Use a Market Place app – we won’t comment on this too much but we’ve had a number of customers come to us because the current options are not great!
- Google Cloud Directory Sync – this allows you to connect up LDAP servers but it’s complicated and dare we hazard a guess… at risk of being killed off by Google
Here is the official Google doc on it
Google Shared Contacts Limitations and Issues
So, anyway, you’ve managed to get Google Shared Contacts working… but, where are the contacts?
By default, the contacts don’t show in the Google Contacts app. You can search for them and they appear in search results, but you can’t actually view them.
You need to enable Google Contacts to show in your directory as shown:

When you choose what is shareable you can show your domain contacts (the staff in your workspace) as well as Shared Contacts or just one of the two. It’s up to you.
So here are those limitations we’ve discovered
- Contacts don’t show by default, you need to enable them to show in the directory (see above)
- Google Shared Contacts can’t have a label!
- Google Shared Contacts can’t have custom fields.
- If you save a Google Contact to your own Contacts in Google they initially copy over all the data, if the Google Shared Contact is updated though, yours will not. You will have two different representations of the same contact. You can delete yours and then re-save and it will then be up to data again.
Share read-only contact lists across 100’s of devices
14 DAY FREE TRIAL
NO CREDIT CARD REQUIRED
Google Shared Contacts Storage Limits and Constraints
Google state in their docs you can support 200k contacts or 40MB whichever comes first. This is a lot of contacts. In our experience this is an unworkable amount and most of our clients typically manage far less than this.
Understanding Google Shared Contacts API and Google Workspace Directory
Before diving into the problems with Google Shared Contacts, it’s worth clarifying what exactly we’re dealing with. There’s often confusion between Google’s Shared Contacts system and the standard Workspace Directory, and mixing them up can cause integration headaches.
Google Workspace Directory is your organization’s internal user list—all the people with accounts in your domain. It’s managed through the Directory API and contains your employees, their Gmail addresses, phone extensions, and organizational details. This is the equivalent of your company’s internal phone book.
Google Shared Contacts, on the other hand, are external contacts that you want everyone in your organization to see. These are managed through the completely separate Domain Shared Contacts API. Think clients, suppliers, contractors—people outside your domain who your team contacts regularly.
The confusion arises because both types of contacts can appear in the same Google Contacts interface under “Directory.” But technically, they’re stored differently, managed through different APIs, and have different limitations. The Directory API handles internal users automatically based on your Google Workspace accounts. The Domain Shared Contacts API requires you to manually create and maintain external contact entries.
This distinction matters when you’re building integrations or troubleshooting contact sync issues. Using the wrong API for the wrong type of contact can create duplicates, sync failures, or contacts that appear in unexpected places. For example, trying to add an internal user through the Domain Shared Contacts API will create a duplicate entry that can confuse autocomplete and directory searches.
The key takeaway: if you’re working with people inside your organization, use the Directory API. If you’re adding external contacts that everyone should see, that’s when you need the Domain Shared Contacts API—and that’s where all the limitations we’re about to discuss come into play.
Tip 💡: Rolling out company contacts at scale? Read our guide to enterprise contact management and learn how to keep directories synced, secure, and read-only across every device.
Troubleshooting Google Shared Contacts Issues
When Google Shared Contacts stop working, the symptoms are usually obvious but the causes aren’t. Here are the most common problems and their fixes.
Contacts Not Appearing After Creation
Google’s shared contacts can take up to 24 hours to propagate across all services. If it’s been more than a day and contacts still aren’t visible, check your directory visibility settings in the Google Admin console. If directory sharing is disabled, external shared contacts won’t appear in Gmail or other Google services.
Authentication Errors (401 Unauthorized)
Getting authentication errors typically means your OAuth2 token doesn’t have the right scopes. The Domain Shared Contacts API requires the https://www.google.com/m8/feeds/ scope and the GData-Version: 3.0 header in all requests.
Duplicate Contact Entries
Duplicates usually happen when you mix the Directory API and Domain Shared Contacts API incorrectly. Use shared contacts only for external contacts—clients, suppliers, contractors—not your own employees. Adding internal users through the shared contacts API creates conflicting duplicate entries.
Storage and Sync Failures
Google allows 200,000 contacts or 40 MB of data for shared contacts (25,000 contacts or 20 MB for personal Google Contacts), but the system doesn’t handle approaching these limits gracefully. If you exceed these quotas, new contacts will fail to sync without clear error messages. Special characters in contact names can also cause individual entries to stall, so watch for non-standard formatting or emojis when troubleshooting.
Managing Google Shared Contacts on Mobile Devices
You’ve got your Google Shared Contacts working on desktop, and you can see them in the web interface, but then someone asks ‘why aren’t the contacts appearing on my phone?’ The reason is fairly simple: Google Workspace shared contacts don’t sync to mobile devices by default.
Regular Google Contacts will synchronise to your iPhone or Android with no trouble, but Google Workspace shared contacts remain accessible only on the web. This means if a colleague calls or texts from a number that’s only in the shared directory, your device won’t identify them. It’s surprisingly common to find team members manually copying contact details from the web UI just to keep their mobile address book up to date.
The issue extends to other mobile apps. WhatsApp, Teams, and similar apps depend on your device’s contact list, so Google shared contacts are invisible there as well.
Technically, this is because Google shared contacts don’t use the CardDAV protocol, which is the standard for synchronizing contacts with most mobile devices. CardDAV works as the bridge between cloud and phone for regular Google Contacts, but shared contacts use their own API.
If you want true shared contact sync on mobile (that deploys contacts directly into the native phones contacts app), you need a CardDAV-compatible solution. For Android devices that don’t support CardDAV natively, there are native contact management solutions that bridge this gap like Contactzilla.
Managing Google Shared Contacts with Contactzilla
Perhaps you saw this coming…. The best way to use Google Shared Contacts is via Contactzilla. We can help you overcome all of the limitations. We have done all the heavy lifting for you and will sync on a regular basis your Contactzilla contacts to Google Shared Contacts.

What’s more, if you combine this with an advanced importer such as Salesforce you can essentially set up a Salesforce to Google Contacts sync or a Hubspot to Google Contacts sync.

Google Shared Contacts vs Microsoft 365 GAL
I’d argue it’s probably a bit better. It’s not perfect by any means but Microsoft does not have an API for their GAL. You have to be an administrator to manually add global contacts.
Microsoft does have a couple of advantages though. Their desktop experience is more integrated—GAL contacts show up automatically in Outlook’s address picker when composing emails, and they handle richer contact data like employee photos and organizational hierarchy that Google Shared Contacts simply don’t support.
But Microsoft’s contact management has its own consistency problems. Outlook Desktop and Outlook Web behave completely differently when it comes to organizing contacts. Categories created in Outlook Desktop don’t sync to the web version, and folders in the web interface often vanish or fail to apply when users switch interfaces. At least with Google Shared Contacts, the web experience is consistent—limitations included.
Microsoft’s GAL also doesn’t sync to mobile devices natively, despite what many people assume. Like Google, you need third-party solutions or manual workarounds to get company contacts onto phones. So both platforms have the same fundamental mobile gap, though Microsoft’s desktop integration is admittedly smoother.
The real difference comes down to control: Google’s API gives you programmatic access to manage shared contacts (once you figure out how to use it), while Microsoft locks GAL management behind admin consoles with no API access at all.
We have a solution around this which is similar to our Google Shared Contacts sync but it requires each user that wants the contacts to connect their M365 account and then we push out contacts to each. This is more involved for us and whilst we have a low-cost solution for this it’s not as price competitive as Google Shared Contacts as that only requires one connection to Google.
Security Considerations and Limitations When Sharing Contacts
Google Shared Contacts and Gmail delegation make it simple to share address books, but with limited control: any delegate can view, edit, or remove contact data, and there’s no built-in way to set “read-only” access or lock specific fields. For most teams, this is not a problem—but where contact accuracy and audit trails matter, or where sensitive numbers need protection, it’s worth considering a more granular approach.
Contactzilla is fully SOC 2 certified, with enterprise-grade encryption and audit logging. Unlike Google’s shared contacts, Contactzilla lets you grant users either read-only or read-write access to shared contacts, ensuring only authorized teammates can make changes. Granular, role-based permissions keep your directory accurate and secure without sacrificing collaboration.
Tip 💡: Using Microsoft 365 for team contacts? Learn how to create and manage SharePoint contact lists in our step-by-step guide
Conclusion
In practice, shared contacts should just work. With a clear understanding of API scopes, directory settings, and sync limits, you’ll avoid most pitfalls. But when you need rock-solid reliability, access control and seamless mobile support across Google and Microsoft ecosystems, Contactzilla is the only turnkey solution that handles every edge case for you.
Frequently Asked Questions
Can I share contacts across different Google accounts?
Yes, you can share contacts across Google accounts by using the Domain Shared Contacts API or by exporting and importing a CSV. The API lets Workspace admins push external contacts into every user’s directory, making them visible and searchable in each account.
How do I add shared external contacts to my Google Directory?
Yes, you can share contacts across Google accounts by using the Domain Shared Contacts API or by exporting and importing a CSV. The API lets Workspace admins push external contacts into every user’s directory, making them visible and searchable in each account.
What is the difference between the Directory API and the Domain Shared Contacts API?
The Directory API manages internal user accounts in your Google Workspace domain, automatically syncing employee profiles. The Domain Shared Contacts API handles external contacts—clients, suppliers, contractors—letting admins create, update, and share those entries across all users’ directories with a separate API endpoint.
Why aren’t my shared contacts appearing in Gmail autocomplete?
Gmail’s autocomplete only indexes contacts in your directory after they’ve synced, which can take up to 24 hours. If you still can’t see shared contacts, ensure Directory sharing is enabled in the Admin console under Directory > Directory settings > Contact sharing.
What limits apply to Google Shared Contacts?
Google Shared Contacts are limited to 200,000 entries or 40 MB of data per domain (25,000 contacts or 20 MB for personal Contacts). Exceeding these quotas causes new contacts to fail silently. Sync propagation can also stall on special characters or non-standard formatting in individual entries.
How long does it take for shared contacts to sync?
Shared contacts added via the Domain Shared Contacts API can take up to 24 hours to propagate across Google services. After creating or updating entries, allow a full day for them to appear in Google Contacts search, Gmail autocomplete, and mobile Contacts on both web and devices.
How do I fix authentication errors when using the Shared Contacts API?
Ensure your OAuth token includes the https://www.google.com/m8/feeds/ scope and add the GData-Version: 3.0 header to every request. Also verify the service account or delegated admin credentials are authorized in the Admin console, and refresh tokens if you see 401 Unauthorized errors.
How do I group and organize shared contacts in Google Contacts?
Google Shared Contacts cannot be grouped with standard labels in the Google Contacts UI. The Domain Shared Contacts API doesn’t support custom labels, so contacts appear ungrouped. To organise shared contacts, use a solution like Contactzilla, which provides true label and group management across your domain.
Is there an easy way to manage access to my Google Contacts?
You can manage Google Contacts access via Gmail delegation, but it grants full edit rights. For granular control—restricting view or edit permissions per user or group—use a third-party solution like Contactzilla. It integrates with Workspace, offering role-based access settings without manual account sharing.
