# Google Sheets

Connect a Google Spreadsheet as a data source: authorize with Google and pick the file and tab, how the sheet must be laid out for the import to work, how columns map to Instasent attributes, and how the marketing columns map to consent.

**Language:** en
**Audience:** platform
**TLDR:** Google Sheets is a native OAuth connector: you authorize with Google (access only to the file you pick) and select the sheet and tab with the Google Drive picker. It imports one row per contact on a one-way periodic sync. Only Google Spreadsheets are supported (not CSV/XLS), the first row must hold unique field names, and deleting a row does not delete the contact in Instasent.
**Translation key:** platform.data-sources.connectors.google-sheets
**Search keywords:** Google Sheets, spreadsheet, Google Spreadsheet, tab, columns, contacts, OAuth, connect Google Sheets, Google Sheets integration, Google Sheets consent, ACCEPTS_MARKETING_SMS
**Related pages:** /platform/es/data-sources/connectors/google-sheets, /platform/en/data-sources/connectors, /platform/en/data-sources/connectors/google-contacts, /platform/en/data-sources/managing, /platform/en/consent
**Docs index (every page):** https://docs.instasent.com/llms.txt
**This zone's index:** https://docs.instasent.com/platform/en/llms.txt
**This page:** https://docs.instasent.com/platform/en/data-sources/connectors/google-sheets/ (HTML) · https://docs.instasent.com/platform/en/data-sources/connectors/google-sheets.md (Markdown)
**Other language (es):** https://docs.instasent.com/platform/es/data-sources/connectors/google-sheets.md

Google Sheets is the native connector for a spreadsheet you keep in Google. Once
authorized, it imports the rows of the file and tab you pick as contacts and keeps them
synchronized periodically, so a sheet you already maintain becomes a live source for
your audience.

## How to connect

Google Sheets is a **[native OAuth connector](/platform/en/data-sources/connectors#native-oauth)**:
you authorize Instasent with your Google account and pick the file with the Google Drive
picker. Instasent only requests access to the **file you pick** — nothing else in your
Drive. There's no key to create or copy anywhere.

#### 1. Add the data source

In **Data sources**, select **Add data source** and choose **Google Sheets** from
the Integrations section.

#### 2. Connect your Google account

Authorize with your Google account. Instasent will only **read your spreadsheet and
retrieve your data**, and only for the file you select.

#### 3. Pick the file and tab

Pick the **Spreadsheet file** with the Google Drive picker, then select the
**Spreadsheet page** (the tab) to import from.

#### 4. Initial import

The connector imports the rows as contacts, then re-reads the sheet periodically to
pick up changes.

![The Connect Google Sheets setup page with the connector description, the data it syncs and the contact fields it maps](/platform/en/data-sources/images/google-sheets--1-connect.png)
*The Google Sheets connector page: what it brings into Instasent and the contact fields it maps, with Connect Google Sheets to start.*

> **Warning**: Check these before connecting your spreadsheet — the import depends on them:
> 
> - **Only Google Spreadsheets are supported.** Other formats like CSV or XLS must be
>   converted to a Google Spreadsheet first.
> - **The first row must contain the field names**, and every column name must have a
>   value.
> - **Column names must be unique** and cannot be changed or added later.
> - **Avoid merged cells.**
> - **Deleting a row won't delete the contact in Instasent** — the row's contact stays
>   in your audience.
> - **Data filters are ignored** — all rows are retrieved.
> - **Sorting affects the results** — it's best to avoid sorting the data.

## What it syncs

- **Contacts** — one per row, with the columns as fields.

The sync is one-way, **from the sheet into Instasent**, and runs periodically. Because a
deleted row does not remove its contact, the sheet grows your audience and updates
existing contacts, but never prunes it. Contacts unify with the rest of your audience by
email and phone, the same as any source — see
[unification](/platform/en/data-sources/managing#how-unification-works).

## Field mapping

Each column maps to an Instasent attribute using the column header as the field name —
map your email column to `_email`, your phone column to `_phone_mobile`, and so on. You
confirm the mapping on setup; see
[field mapping](/platform/en/data-sources/managing#field-mapping).

## Consent mapping

For Google Sheets the marketing status is **columns you add to the sheet**. If you need
to manage subscription status, add the columns **`ACCEPTS_MARKETING_SMS`** and
**`ACCEPTS_MARKETING_EMAIL`** and set them to `true` or `false`. Instasent maps them to
the marketing-preference attribute (`_accepts_marketing_*`) following the consent golden
rule:

| Column value      | Instasent value | Meaning                               |
| ----------------- | --------------- | ------------------------------------- |
| `true`            | `true`          | Accepted marketing                    |
| empty / no column | `null`          | No preference — never opted in or out |
| `false`           | `false`         | Actively declined marketing           |

Only an explicit **`false`** becomes an active opt-out. A blank cell, or the absence of
the column, maps to **no preference** (`null`), never to `false`. For what these values
mean for who receives a campaign, see
[Consent](/platform/en/consent/marketing-preference-vs-suppression).

---

This is one page of the Instasent documentation. For the complete machine-readable index of every guide and API reference, fetch https://docs.instasent.com/llms.txt — start there for full context.
