Beginner~8 min setupProductivity & CRMVerified April 2026
Google Sheets logo
HubSpot logo

How to Import Event Leads from Google Sheets to HubSpot with Zapier

Automatically create HubSpot contacts with event tags whenever you add leads to a Google Sheet.

Steps and UI details are based on platform versions at time of writing β€” check each platform for the latest interface.

Best for

Teams importing under 200 event leads monthly who want reliable automation without coding

Not ideal for

High-volume events with 500+ leads or teams needing complex data transformation before import

Sync type

polling

Use case type

import

Real-World Example

πŸ’‘

A 12-person B2B software company uses this after trade shows and webinars. Their sales team previously spent 30+ minutes manually entering leads from business cards and signup sheets into HubSpot. Now they paste leads into a Google Sheet on-site and contacts appear in HubSpot tagged with the event name within minutes. This lets reps start follow-up calls the same day instead of waiting for manual data entry.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

Each platform counts differently β€” Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.

Prices shown for annual billing. Based on published pricing as of April 2026.

Estimated ROI

1000

min saved/mo

$583

labor value/mo

Free

no platform cost

Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.

Implementation

Before You Start

Make sure you have everything ready.

Google Sheets with column headers for lead data (First Name, Last Name, Email, Company)
HubSpot account with contact creation permissions
At least one test lead row in your spreadsheet
Zapier account (free tier works for small events)

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Emailemail
First Namefirstname
Event Sourcelead_source
4 optional fieldsβ–Έ show
Last Namelastname
Companycompany
Phone Numberphone
Job Titlejobtitle

Step-by-Step Setup

1

Dashboard > Create Zap > Google Sheets

Create your trigger in Zapier

Set up the Google Sheets trigger to watch for new leads. This will fire whenever you add a row to your event spreadsheet.

  1. 1Click 'Create Zap' from your Zapier dashboard
  2. 2Search for 'Google Sheets' and select it as your trigger app
  3. 3Choose 'New Spreadsheet Row' as the trigger event
  4. 4Click 'Continue' to proceed to authentication
βœ“ What you should see: You should see Google Sheets connected as your trigger with 'New Spreadsheet Row' selected.
Zapier
+
click +
search apps
Google Sheets
GO
Google Sheets
Create your trigger in Zapier
Google Sheets
GO
module added
2

Trigger > Google Sheets > Account

Connect your Google account

Authenticate your Google account so Zapier can access your spreadsheets. You'll need edit permissions on the target sheet.

  1. 1Click 'Sign in to Google Sheets'
  2. 2Select your Google account from the popup
  3. 3Click 'Allow' to grant Zapier spreadsheet permissions
  4. 4Verify the green 'Connected' status appears
βœ“ What you should see: Green checkmark next to your Google account email with 'Connected' status.
⚠
Common mistake β€” Don't use a personal Gmail account for business workflows β€” Google Workspace accounts have better API limits.
Zapier settings
Connection
Choose a connection…Add
click Add
Google Sheets
Log in to authorize
Authorize Zapier
popup window
βœ“
Connected
green checkmark
3

Trigger > Google Sheets > Spreadsheet

Select your event leads spreadsheet

Choose the specific Google Sheet where you'll paste event leads. This must be an existing spreadsheet with column headers.

  1. 1Click the 'Spreadsheet' dropdown menu
  2. 2Select your event leads Google Sheet from the list
  3. 3Choose the specific worksheet tab (usually 'Sheet1')
  4. 4Click 'Continue' to move to the test step
βœ“ What you should see: Your spreadsheet name and worksheet appear in the configuration fields.
⚠
Common mistake β€” The spreadsheet must have data in row 1 as headers β€” empty sheets will cause the test to fail.
4

Trigger > Google Sheets > Test

Test the Google Sheets trigger

Zapier will pull a sample row from your spreadsheet to use for mapping. Add a test lead first if your sheet is empty.

  1. 1Click 'Test trigger' to fetch sample data
  2. 2Review the sample row data that appears
  3. 3Verify all your column headers are captured correctly
  4. 4Click 'Continue with selected record' if the data looks right
βœ“ What you should see: Sample lead data displays with column names like 'First Name', 'Email', 'Company' visible.
⚠
Common mistake β€” If no data appears, add a test row to your spreadsheet first β€” Zapier needs existing data to map fields.
Zapier
β–Ά Turn on & test
executed
βœ“
Google Sheets
βœ“
HubSpot
HubSpot
πŸ”” notification
received
5

Action > HubSpot > Create Contact

Add HubSpot as your action app

Set up HubSpot to receive the lead data. You'll create new contacts with an event tag for each row.

  1. 1Click the '+' button to add an action step
  2. 2Search for 'HubSpot' in the app directory
  3. 3Select HubSpot from the results
  4. 4Choose 'Create Contact' as your action event
βœ“ What you should see: HubSpot appears as step 2 with 'Create Contact' selected as the action.
6

Action > HubSpot > Account

Connect your HubSpot account

Authenticate with HubSpot to allow contact creation. You need write permissions on contacts and custom properties.

  1. 1Click 'Sign in to HubSpot'
  2. 2Enter your HubSpot login credentials
  3. 3Select your HubSpot portal if you have multiple
  4. 4Click 'Allow access' to grant permissions
βœ“ What you should see: HubSpot account shows as connected with your portal name displayed.
⚠
Common mistake β€” Use an admin account for setup β€” marketing-only users can't access all contact properties in Zapier.
7

Action > HubSpot > Contact Fields

Map lead fields to HubSpot properties

Connect your spreadsheet columns to HubSpot contact fields. This determines what data gets imported for each lead.

  1. 1Click in the 'Email' field and select your email column from Google Sheets
  2. 2Map 'First Name' and 'Last Name' to their respective spreadsheet columns
  3. 3Set 'Company' to your company column if you have one
  4. 4Add your phone number column to the 'Phone Number' field
βœ“ What you should see: Each HubSpot field shows your Google Sheets column name in purple pills.
⚠
Common mistake β€” Email is required in HubSpot β€” if your sheet doesn't have emails, this workflow won't work.
Google Sheets fields
Column A
Column B
Email
Status
Notes
available as variables:
1.props.Column A
1.props.Column B
1.props.Email
1.props.Status
1.props.Notes
8

Action > HubSpot > Custom Properties

Add the event tag to contacts

Tag all imported leads with your event name for easy segmentation. Create a custom property if you don't have one.

  1. 1Scroll down to find 'Lead Source' or create a custom 'Event' property
  2. 2Click 'Use a Custom Value' instead of mapping from sheets
  3. 3Type your event name like 'Trade Show 2024' or 'Webinar Jan 2024'
  4. 4Verify the tag appears in the field
βœ“ What you should see: The event tag shows as a static value that will be applied to all contacts.
⚠
Common mistake β€” Don't map this to a sheet column unless each lead has different event data β€” use the same tag for the whole batch.
9

Action > HubSpot > Test

Test the HubSpot contact creation

Run a test to verify the lead imports correctly with all fields mapped. This creates a real contact in HubSpot.

  1. 1Click 'Test action' to send sample data to HubSpot
  2. 2Wait for the success message to appear
  3. 3Review the contact details that were created
  4. 4Check that your event tag was applied correctly
βœ“ What you should see: Success message shows with the new HubSpot contact ID and mapped field values.
⚠
Common mistake β€” This creates a real contact in HubSpot using your sample data β€” delete it if you don't want test contacts in your CRM.
10

Zap Settings > Name & Status

Turn on your Zap

Activate the automation so it runs whenever you add leads to your spreadsheet. Give it a descriptive name first.

  1. 1Click the pencil icon to edit the Zap name
  2. 2Name it something like 'Event Leads to HubSpot - [Event Name]'
  3. 3Click the toggle switch to turn the Zap on
  4. 4Confirm activation when prompted
βœ“ What you should see: Zap shows as 'On' with a green status indicator and your custom name.
⚠
Common mistake β€” Name it specifically β€” you'll have multiple event imports and generic names make troubleshooting harder.

Drop this into a Zapier Code step.

Copy this template{{trim(firstname)}} {{trim(lastname)}}
β–Έ Show code
{{trim(firstname)}} {{trim(lastname)}}

... expand to see full code

{{trim(firstname)}} {{trim(lastname)}}

Scaling Beyond 200+ leads per event+ Records

If your volume exceeds 200+ leads per event records, apply these adjustments.

1

Switch to Make for batch processing

Make can process multiple rows in a single execution, avoiding Zapier's per-task charges. At 500+ leads, Make's $9/month unlimited plan beats Zapier's $50+ monthly cost.

2

Use Google Sheets' import functions

Instead of manual pasting, use IMPORTDATA or Google Forms to populate your sheet. This spreads row creation over time and avoids API rate limits from bulk additions.

Going live

Production Checklist

Before you turn this on for real, confirm each item.

Troubleshooting

Common errors and how to fix them.

Frequently Asked Questions

Common questions about this workflow.

Analysis

VerdictWhy Zapier for this workflow

Use Zapier for this if you're importing under 200 leads per event and your team doesn't code. The guided setup takes 15 minutes and handles duplicate detection through HubSpot's email matching. The trigger fires within 2-3 minutes of adding a row to your sheet. Skip Zapier if you're importing 500+ leads regularly β€” Make's unlimited operations plan at $9/month handles high volume better than Zapier's task-based pricing.

Cost

This workflow uses 1 task per lead imported. At 100 leads per event with 2 events monthly, that's 200 tasks β€” well within Zapier's free 100 tasks plus a $20/month Starter plan. Make would cost $9/month for unlimited operations on the same volume. N8n is free but requires hosting. For occasional events under 200 leads, Zapier's $20/month is simpler than managing N8n infrastructure.

Tradeoffs

Make handles batch operations better β€” you can import 100 leads in one execution instead of 100 separate runs. N8n offers better data transformation if your sheet format doesn't match HubSpot's requirements exactly. But Zapier wins on reliability β€” Google Sheets integration rarely breaks and HubSpot's webhook delivery is rock solid. Make's Google Sheets module occasionally misses new rows during high-frequency additions.

Google Sheets API has a 100 requests per 100 seconds rate limit that can cause delays when importing large batches quickly. If you paste 50+ leads at once, Zapier may throttle and process them over 10-15 minutes instead of immediately. HubSpot's contact creation API returns cryptic error messages for malformed phone numbers β€” clean your data format before import. The automation won't catch leads added above existing rows, only new rows at the bottom of your sheet.

Ideas for what to build next

  • β†’
    Add Slack notifications for new event leads β€” Create a second Zap that posts to #sales when HubSpot contacts are created with your event tag.
  • β†’
    Set up automated follow-up sequences β€” Use HubSpot workflows to enroll event-tagged contacts in email nurture campaigns based on their lead source.

Related guides

Was this guide helpful?
← Google Sheets + HubSpot overviewZapier profile β†’