How to import Google Contacts data into HubSpot
Google Contacts exports use long column names like 'E-mail 1 - Value' and 'Organization 1 - Name'. This template renames every one of them to the matching HubSpot property and maps 12 fields. Google also exports a second email and second phone column for every contact, plus a Group Membership column for contact labels. Those don't have a default HubSpot home, so the section below shows you what to do with each one if you need it.
Field-by-field mapping
This is the complete column mapping from Google Contacts to HubSpot. The left column is the header in your CSV export. The right column is the HubSpot field it should map to.
| Given Name | First Namefirstname | |
| Family Name | Last Namelastname | |
| E-mail 1 - Value | Emailemail TransformLowercased and trimmed | |
| Phone 1 - Value | Phone Numberphone TransformStandardized to international format (+1, +44, etc.) | |
| Organization 1 - Name | Company Namecompany | |
| Organization 1 - Title | Job Titlejobtitle | |
| Address 1 - Street | Street Addressaddress | |
| Address 1 - City | Citycity | |
| Address 1 - Region | State/Regionstate | |
| Address 1 - Postal Code | Postal Codezip | |
| Address 1 - Country | Country/Regioncountry | |
| Website 1 - Value | Website URLwebsite |
Columns we don't use
Your Google Contacts export includes 5 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in HubSpot.
- E-mail 2 - Value
HubSpot contacts have a single primary Email property. The first email from Google maps to it; the second one doesn't have a default home.
If you need it. Create a custom property in HubSpot called Secondary Email, then re-run this template. Operelio picks up the new property on the next run.
- Phone 2 - Value
The first phone goes to HubSpot's phone field. HubSpot has a separate mobilephone property, but Google's second phone column doesn't carry a label saying whether it's mobile or work.
If you need it. If your second phone is consistently a mobile number, map this column to HubSpot's mobilephone property after upload. Otherwise create a custom Secondary Phone property.
- Group Membership
Google contact labels and groups (e.g. 'Friends ::: Clients') don't translate one-to-one with HubSpot lists.
If you need it. After import, create HubSpot static lists matching your Google labels and add contacts in bulk using a saved view.
- Notes
Google's Notes column is per-contact free text. A push attaches this as a note on each contact it creates, which is where this kind of context belongs. A contact already in your CRM keeps the notes it has.
If you need it. None needed if you push: the column is kept in your file and the push screen offers to attach it as a note on each contact the push creates. A contact already in your CRM keeps the notes it has, so pushing the same file twice does not add a second copy. If you are importing the CSV by hand instead, create a custom multi-line text property in HubSpot and map this column to it.
- Birthday
HubSpot doesn't have a built-in birthday property on contacts.
If you need it. Create a custom date property in HubSpot called Birthday, then re-run this template to map it.
Formatting and cleanup
Google Contacts exports rarely match the format HubSpot expects. Fix these first.
- 1.Lowercases and trims email addresses
- 2.Standardizes phone numbers to international format (+1, +44, etc.)
- 3.Renames verbose Google column headers (e.g. 'E-mail 1 - Value', 'Organization 1 - Name') to HubSpot field names
- 4.Uses the first phone number and first email when Google exports multiple per contact
Or skip the manual work
Operelio runs this cleanup and mapping for you. Upload your Google Contacts export and download a clean file for HubSpot, or connect HubSpot and push the records straight in. You see what will be created and updated before anything is written.
Google Contacts to HubSpot FAQ
How do I export contacts from Google?
Go to contacts.google.com, click 'Export' in the left sidebar, choose 'Google CSV' format, and download the file. Select Google CSV, not Outlook CSV.
What if a contact has multiple phone numbers or emails?
Google exports each phone and email in separate numbered columns (Phone 1, Phone 2, etc.). This template maps the first phone and first email. The 'Columns we don't use' section below shows what to do with the second one if you need it.
Why do Google's column names look so different from HubSpot's?
Google uses verbose column headers like 'E-mail 1 - Value' and 'Organization 1 - Name'. This template renames them all to match HubSpot's property names.
What happens to Google contact labels and groups?
Group Membership doesn't map to a HubSpot property by default. See 'Columns we don't use' below for the workaround using HubSpot static lists.
Will this create duplicates in HubSpot?
Operelio decides this, not the importer. A push matches on email, including the additional addresses a merge left behind on a contact, so a row lands on the existing contact rather than beside it. Updates fill blank fields only unless you choose otherwise, and the report shows the split before anything is written. Importing the file by hand follows HubSpot's own rule instead. HubSpot uses email as the unique identifier. Contacts with matching emails update the existing record. New emails create new contacts.