All articles

How to import Google Maps leads into Instantly, Smartlead or lemlist

Import Google Maps leads into Instantly, Smartlead or lemlist: column mapping tables, custom variables, verification before import, suppression and direct push.

The Leadraft teamLeadraft
Published
Updated
Read time
10 min
Category
Playbook

To import Google Maps leads into Instantly, Smartlead or lemlist, export them as a UTF-8 CSV with one row per email address, verify the emails first, then upload the file to a campaign and map the columns: email to the tool's email field, business name to its company field, and Maps fields like category, city, rating and review count to custom variables you can use in the sequence. Leave first name empty: Maps listings don't carry owner names. The mapping tables below show exactly which column goes where in each tool, based on each tool's own import docs as of October 2026.

How should I prepare a Google Maps CSV before importing?#

Clean the file before any tool sees it. Every sending tool is stricter about format than it looks.

  • One row per email address. If a business has several emails, choose the best one for the first send, or put each on its own row and dedupe by business later.
  • Every row has an email. All three tools treat email as required.
  • UTF-8 encoding. Otherwise "Café" turns into garbage. In Excel, save as "CSV UTF-8 (comma delimited)".
  • Headers in row 1, short and simple. Instantly asks for column names of 20 characters or fewer, starting with a capital letter, with no duplicates. lemlist asks for no spaces in column names.
  • Only the columns you'll use. Instantly allows a maximum of 50 variables per upload. Drop empty and unused columns.
  • Verified emails only, in this file. Put accept-all (catch-all) addresses in a separate file and campaign, and never import invalid ones.
  • Suppression applied. Remove anyone who unsubscribed, bounced or said no before.

Download the sample: instantly-import-sample.csv has 8 rows in the shape Instantly expects. The businesses are fictional (.example domains, 555 phone numbers), so use it to test your mapping and copy, never to send. Its first row looks like this:

Email,First Name,Last Name,Company Name,Phone,Website,City,State,Category,Rating,Reviews,MapsURL,EmailGrade
office@quailbrushhvac.example,,,Quailbrush HVAC,(480) 555-0101,https://quailbrushhvac.example,Mesa,AZ,HVAC contractor,4.3,38,https://www.google.com/maps/place/?q=place_id:EXAMPLE0101,verified

Every header is 20 characters or fewer, starts with a capital and appears once, which is what Instantly asks for. First Name and Last Name are present but empty, because Google Maps has no owner names. For Smartlead the same file works as is. For lemlist, rename the headers to remove spaces (companyName instead of Company Name), as its import guide asks.

How do I import Google Maps leads into Instantly?#

Open the campaign, go to Leads, choose Add Leads, then CSV, and upload the file. Instantly detects columns and suggests mappings. For each column you choose Email, a predefined field (such as First Name, Last Name or Company Name), Custom variable, or Do Not Import.

Scroll horizontally if needed →

Sample CSV headerMap to in InstantlyUse in copy as
EmailEmail (required)
First Name, Last NameFirst Name, Last Name (empty) or Do Not ImportDon't use
Company NameCompany NamePick from the variable menu
PhonePhone, or a custom variable
WebsiteWebsite, or a custom variable
City, StateCustom variables{{City}}, {{State}}
CategoryCustom variable{{Category}}
Rating, ReviewsCustom variables{{Rating}}, {{Reviews}}
MapsURLCustom variable, or Do Not Import{{MapsURL}}
EmailGradeDo Not Import (it's for your own filtering)

If Phone or Website isn't offered as a predefined field in your account, map it as a custom variable. Custom variables take the column's name, in double braces, as shown in Instantly's own example for a "Personalization" column ({{Personalization}}).

Upload settings to decide:

  • Check for duplicates across all campaigns and lists. On by default. Leave it on so the same business isn't emailed from two campaigns.
  • Verify leads. Instantly charges 0.25 credits per lead for this as of October 2026. If you've already verified the list, leave it off; if you haven't, turn it on.

How do I import Google Maps leads into Smartlead?#

Open the campaign, go to Import Leads, choose Import CSV, and map the columns. Smartlead's help center says it auto-maps standard fields like name, email and location, and lets you map other columns to custom variables, up to 40 per lead in the CSV importer. Variables in copy use double braces and must match the names you mapped exactly.

Scroll horizontally if needed →

Sample CSV headerMap to in SmartleadUse in copy as
EmailEmail (required)
First Name, Last NameLeave unmappedDon't use
Company NameCompany NamePick from the variable menu
PhonePhone Number
WebsiteWebsite
City, StateLocation, or custom variablesThe name you mapped, e.g. {{City}}
CategoryCustom variable{{Category}}
Rating, ReviewsCustom variables{{Rating}}, {{Reviews}}
MapsURLCustom variable, or skip{{MapsURL}}
EmailGradeSkip

Smartlead's help center only names name, email and location as auto-mapped. If a standard field you expect isn't offered in the dropdown, map the column as a custom variable instead. Smartlead's lead fields in its API reference are email, first_name, last_name, phone_number, company_name, website, location, linkedin_profile, company_url and custom_fields, which is a good guide to what the importer's standard fields mean.

Import settings shown before mapping include whether to import leads that are on your global block list, on the unsubscribe list, or bounced across Smartlead's user base, and whether to skip leads already in another campaign. For a cold list, keep blocked and unsubscribed leads out and skip leads already in another campaign.

How do I import Google Maps leads into lemlist?#

Create or open a campaign, choose to import leads from a CSV, and assign each column to a lemlist field in the "Set up imported custom variables" step. Columns that don't match a default field become custom variables named after their headers.

Scroll horizontally if needed →

Header (renamed for lemlist)Map to in lemlistUse in copy as
emailemail (required, the lead's unique ID)
companyNamecompanyName{{companyName}}
companyDomain (the website's domain, without https://)companyDomain{{companyDomain}}
phonephone{{phone}}
CategoryCustom variable{{Category}}
City, StateCustom variables{{City}}, {{State}}
Rating, ReviewsCustom variables{{Rating}}, {{Reviews}}
MapsURLCustom variable, or skip{{MapsURL}}
icebreaker (a first line you wrote)icebreaker{{icebreaker}}

lemlist's import guide says the file must be a real .csv in UTF-8, every row needs an email, and column names shouldn't contain spaces. Use "Manage duplicates" to decide what happens to leads already in the campaign or elsewhere in your team. If custom variables don't appear in the editor's dropdown after import, refresh the campaign page and check the spelling.

Why are my variables blank, and how do I write copy without a first name?#

Blank variables are almost always a mismatch between the variable in your email and the name you mapped at import, down to capital letters and spaces. Smartlead's own guidance is that variables must match the mapped names. Before launching, send yourself a test with a real row.

Google Maps data doesn't include owner names, so write the sequence not to need one:

Subject: {{Category}} in {{City}}

Hi there,

I found {{companyName}} on Google Maps while looking at {{Category}}
businesses in {{City}}. {{Reviews}} reviews at {{Rating}} stars...

This uses lemlist's {{companyName}}; in Instantly and Smartlead, insert the company field from the variable menu instead, since its token differs by tool. The other variables match the sample file's headers in all three. Our cold email templates for local businesses are written this way.

Should I verify before importing, or let the sending tool do it?#

Verify before import, so the tool only ever sees addresses worth sending to, and so you can separate accept-all addresses into their own campaign. Verification checks the domain's mail server and asks whether the mailbox exists, without sending anything. It returns Verified, Accept-all (the server accepts everything, so the answer is "maybe") or Invalid. Our verification methodology explains how it works, and catch-all emails explained covers when accept-all addresses are worth sending.

How an email address is verified without sending an emailThree checks in order: the address syntax, the domain's MX records, and an SMTP conversation with the mail server that names the recipient and then disconnects before any message is sent. The result is one of three grades: Verified (the server confirmed the mailbox), Accept-all (the server accepts every address, so the check proves nothing) or Invalid (no such mailbox).1. SyntaxIs it a valid address?2. MX lookupDoes the domain take mail?3. SMTP checkRCPT TO, then hang upVerifiedMailbox confirmedAccept-allServer says yes to everythingInvalidNo such mailboxNo message is sent at any step
A verifier does the first half of a delivery and stops before anything is sent. Accept-all (catch-all) servers say yes to every address, so they get their own grade: a maybe, never a yes.

Why it matters: Google asks senders to keep the spam rate reported in Postmaster Tools below 0.10% and never reach 0.30%, and to authenticate with SPF or DKIM (SPF, DKIM and DMARC above 5,000 messages a day to Gmail). A list with dead addresses is one more strike against a new sending domain.

How do I keep a suppression list across tools?#

Keep one master suppression list outside any single tool, because people unsubscribe in one tool and get imported again from another. It should hold:

  1. Every unsubscribe and opt-out reply.
  2. Every hard bounce.
  3. Every "not interested" or "remove me" reply.
  4. Whole domains, where a business asks you never to contact anyone there.

Check every new CSV against it before import, and leave each tool's own block list and unsubscribe settings on as a second layer. In the US, CAN-SPAM requires you to honor opt-outs within 10 business days, and hiring someone else to send doesn't move that responsibility off you.

Can I skip the CSV and push leads directly?#

Yes, several lead tools push directly to these platforms through their APIs, which avoids the column-mapping step. Leadraft's push sends each lead with these fields:

Scroll horizontally if needed →

Leadraft fieldInstantlySmartleadlemlist
Best emailemailemailemail
Business namecompany_namecompany_namecompanyName
Phonephonephone_numberphone
WebsitewebsitewebsitecompanyDomain (domain only)
City, state, countrycustom variableslocation plus custom fieldscity, state, country
Category, rating, reviewscustom variablescustom fieldscategory, rating, reviews
Google Maps linkmaps_url custom variablemaps_url custom fieldmapsUrl
Email gradeemail_grade custom variableemail_grade custom fieldemailGrade
Other emails at the businessemail_2 … email_5email_2 … email_5email2 … email5

So in a pushed campaign, {{category}}, {{city}}, {{rating}} and {{reviews}} work without any mapping. A few details:

  • Verified by default. Pushes include Verified emails; you can choose to add accept-all. Invalid emails never leave.
  • Your do-not-contact list is applied on the way out, to every push, export and feed. You can add emails or whole domains by hand, or import a CSV of people already contacted (an Instantly or CRM export works).
  • Instantly verification stays off on Leadraft pushes, so Instantly doesn't spend credits re-checking addresses that were just verified.
  • Each tool's own rules still apply. Smartlead's block list and unsubscribes stay in force, and lemlist deduplicates against your team's other campaigns.
  • Instantly bounces can flow back into your Leadraft suppression list.

If you'd rather use a file, Leadraft's CSV export has an Instantly-shaped preset (Email, First Name, Last Name, Company Name, Phone, Website, City, State, Country, Category, Rating, Maps URL, plus extra emails) that Instantly's importer recognizes.

FAQ#

How do I import Google Maps leads into Instantly?#

Export your Google Maps leads as a UTF-8 CSV with one row per email, open your Instantly campaign, choose Add Leads, then CSV, and upload. Map the email column to Email, the business name to Company Name, and category, city, rating and reviews to custom variables, which you then use in your sequence as {{Category}} or whatever you named the column.

Should I verify emails before importing into a sending tool?#

Yes. Verify before import so you only pay to send to mailboxes that exist and keep accept-all addresses separate. Instantly can verify on import for 0.25 credits per lead as of October 2026; if your list is already verified, you can leave that option off.

What do I put in the first name field for Google Maps leads?#

Usually nothing. Google Maps listings don't include owner names, so leave first name empty and write your sequence so it doesn't need one, for example opening with "Hi there" or the business name.

Why are my custom variables blank in sent emails?#

Almost always a mapping mismatch: the variable in your email doesn't exactly match the column or field name you mapped at import, including capitalization and spaces. Fix the header, re-import, and send yourself a test with a real row before launching.

How do I stop emailing businesses that already unsubscribed?#

Keep one suppression list outside your sending tool, made of every unsubscribe, bounce and "not interested" reply, and check every new list against it before import. Also keep the sending tool's own block list and unsubscribe settings on.

Sources#

  1. Instantly, How to upload leads with a CSV file (mapping options, 50 variables per upload, 20-character names, duplicate check, 0.25 credits per lead to verify).
  2. Instantly, Personalized lines (custom variable syntax).
  3. Smartlead, How to map CSV columns in Smartlead campaigns (auto-mapped fields, 40 custom variables, import settings).
  4. Smartlead, Add leads to campaign (API reference) (lead fields and import settings).
  5. lemlist, Import leads from a CSV file (default fields, custom variables, encoding).
  6. Google, Email sender guidelines.
  7. Federal Trade Commission, CAN-SPAM Act: A Compliance Guide for Business.