Back to Google Contacts in Google Sheets
SheetXAI logo
Google Contacts logo
Google Contacts · Google Sheets Guide

Bulk Delete Stale or Duplicate Google Contacts From a Google Sheet

2026-05-14
5 min read

The Scenario

Your marketing ops analyst ran a deduplication report last week. The output is a Google Sheet with 300 rows — a mix of bounced email addresses, exact duplicate contacts, and records that got created twice when the webinar platform synced without checking for existing entries. All 300 need to be deleted from Google Contacts before the next CRM sync runs, or you'll import garbage into the new system.

The list is already in the sheet. Column A has the email addresses. You need them gone from Google Contacts, and you need confirmation that they're gone so you can close the ticket.

The bad version:

  • Search Google Contacts for each email one at a time, open the contact, click the three-dot menu, click Delete, confirm, go back, type the next email — for 300 rows
  • Export all contacts, delete the 300 rows in the CSV, then try to figure out how to make Google Contacts reflect the deletions (it doesn't: re-importing a CSV doesn't delete existing contacts)
  • Write a script using the People API batchDeleteContacts endpoint, debug the authentication, figure out why it's only processing 25 contacts per call and how to handle pagination, and track which rows failed

The CRM sync is scheduled for Friday. This needs to be done Thursday night at the latest.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It can find each contact by email address, delete them from Google Contacts, and write back a status for every row — in a single pass.

For each email address in column A of my "Contacts to Delete" sheet, search Google Contacts for a match and delete that contact — write "deleted" or "not found" back to column B for each row

What You Get

  • Each email in column A looked up against Google Contacts to find the contact's resource name
  • Matching contacts deleted from Google Contacts using the batch delete endpoint
  • Column B written back with "deleted" for each successful deletion and "not found" for any email that had no matching contact
  • Any errors (rate limit, malformed resource name) written to column B so you know exactly which rows need a second look
  • A clean audit trail you can attach to the ticket

What If the Data Is Not Quite Ready

You want to review before deleting — you need the contact's display name and organization written to the sheet first

For each email in column A of my "Contacts to Delete" sheet, look up the Google Contact and write their display name to column B and their organization to column C — do not delete yet, just populate the review columns

Some rows have resource names in column B already (from a previous lookup) — use those directly instead of re-searching by email

Delete all Google Contacts whose resource names are listed in column B of my "Contacts to Delete" sheet in a single batch delete operation — write "deleted" or the error to column C for each row

You want to skip contacts that have been updated in the last 30 days — only delete older stale records

For each email in column A of my "Contacts to Delete" sheet, find the Google Contact and check their Last Updated date — delete only contacts last updated before 2026-04-14, write "deleted", "skipped – recent", or "not found" to column B

You want a combined cleanup + delete: deduplicate by email first, then delete the lower-quality record

Look at column A of my "Contacts to Delete" sheet — if any email appears more than once, keep only the first occurrence and mark the rest as "duplicate – skip" in column B — then for each remaining unique email, find the Google Contact and delete it, writing "deleted" or "not found" to column C

The deduplication and the deletion happen in one instruction, not two separate passes.

Try It

Get the 7-day free trial of SheetXAI and open your list of contacts to remove — a single email-per-row column is all you need — then ask SheetXAI to find and delete the matches from Google Contacts. For related tasks, see Export All Google Contacts to a Google Sheet and the Google Contacts overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more