---
title: "Linkbreakers + Google Forms: automatic visitor enrichment from form responses"
description: "Connect your Google account and Linkbreakers syncs the responses of every Google Form behind your links and QR codes every five minutes, matching each one to the visitor who scanned by timing, and adding their email, name, phone and text answers. Setup, how matching works, a form behind several links, and the Assistant and MCP tools."
canonical: "https://linkbreakers.com/help/article/linkbreakers-google-forms-integration-qr-data-capture"
last-updated: 2026-11-09
---

# Linkbreakers + Google Forms: automatic visitor enrichment from form responses

> Connect your Google account and Linkbreakers syncs the responses of every Google Form behind your links and QR codes every five minutes, matching each one to the visitor who scanned by timing, and adding their email, name, phone and text answers. Setup, how matching works, a form behind several links, and the Assistant and MCP tools.

:::try-ai-prompt {"prompt":"Which of my Google Forms are synced, and can my connected Google account read all of them?","description":"Check your Google Forms with the Assistant.","target":"assistant"}:::

## Short answer

Linkbreakers connects to Google Forms directly. In the dashboard, open **Integrations**, pick **Google Forms** and select **Connect Google account**. Linkbreakers then finds every link that redirects to a Google Form, reads the new responses every five minutes, matches each one to the visitor who went through the link just before, and adds their email, name, phone and text answers to that visitor.

You do not change anything in your forms: no hidden field, no script, no field mapping. The integration is available on every plan.

## Quick summary

- Connect once per workspace by signing in with the Google account that owns or can edit your forms
- Links that redirect to a Google Form are picked up automatically, including `forms.gle` short links
- New responses are synced every five minutes, or at once with **Sync now**
- Each response is matched by timing to a visit of that link in the 30 minutes before it was submitted
- Email, first name, last name and phone go to the visitor's standard fields; other short answer and paragraph questions become visitor attributes named after the question
- Multiple choice, checkbox, dropdown and other non-text questions are not synced, unless their title marks them as email, name or phone
- A form behind several links syncs on one of them, which you choose
- Also managed from the Assistant, the MCP server or the REST API

## How it works

1. You connect your Google account. Linkbreakers asks Google for read-only access to your forms, their responses and your Drive file names (to find a form from its public address), plus your email address.
2. Linkbreakers looks at the [redirect steps](/workflow-steps/redirect) of your links' workflows and picks up every destination on `docs.google.com/forms/` or `forms.gle/`. Short links are followed to the form.
3. For each form, Linkbreakers checks that the connected account can open it. A form it cannot open is shown with a warning and not synced.
4. Every five minutes, Linkbreakers reads the responses submitted since the last sync. Each response is read once.
5. For each response, Linkbreakers looks at the visits of that link that redirected to the form in the 30 minutes before the response was submitted, and takes the earliest one not already matched in the same sync. The answers are added to that visit's visitor.

Google Forms cannot carry a visit ID the way other form tools do, so matching is by timing. If a short answer question's answer happens to be a Linkbreakers visit ID, that visit is used instead.

## Connect Google Forms

1. In Linkbreakers, open **Integrations** in the dashboard and pick **Google Forms**.
2. Select **Connect Google account**. You are sent to Google to choose the account and approve access.
3. Back in Linkbreakers, the page shows the Google account it is connected as.
4. In a link's workflow, set a redirect step's destination to your Google Form's address. Nothing else is needed on the link.
5. Check **Forms found** on the Google Forms page. Each form shows the link it is behind, with a green check when the connected account can open it.
6. Optionally, set **Where** and **What comes in**, then save.

The tokens are encrypted when stored and refreshed automatically.

## What gets synced

| Google Forms question | Linkbreakers visitor |
|---|---|
| Title containing "email", "e-mail" or "courriel" | Email |
| Title containing "first name", "prénom", "prenom" or "given name", or a title that is exactly "Name" or "Nom" | First name |
| Title containing "last name", "nom de famille", "family name" or "surname" | Last name |
| Title containing "phone", "téléphone", "telephone", "mobile" or "cell" | Phone |
| Any other short answer or paragraph question | A visitor attribute named after the question title |

Titles are matched in English and French. A question in another language, or a title such as "Full name", is kept as an attribute under its own title. Multiple choice, checkboxes, dropdowns, scales, dates and other question types are not synced unless their title matches one of the first four rows.

## Which visitors and which links

The Google Forms page has the settings Linkbreakers integrations share, adapted to answers coming in:

- **Where**: **All links**, or **Selected links**, directories and tags. Only the forms of the links you choose are synced.
- **When**: automatically, on a regular schedule (every five minutes). Use **Sync now** to bring responses in straight away.
- **What comes in**: **Every answer**, or **Only some answers**, where you pick the fields to keep, such as Email and Phone.

A response no visit can be matched to is counted as synced, but no visitor is enriched. The **Activity** section shows **Responses synced**, **Visitors enriched** and **Last synced**.

## A form behind several links

When the same form is behind more than one link, timing alone cannot tell which link a response came from. Its responses then go to one link: the first one, until you choose another. **Forms found** shows "This form is behind N links" with the list of links; select the one people use. Responses are only matched to visits of that link, so people who came through the other links are not enriched.

In a link's workflow, a redirect to a Google Form shows the Google Forms logo when its responses are synced, or a card that says **Not connected**, **Not syncing** or **Not synced** with a button to fix it.

## Pause, revoked access and disconnect

**Pause** stops the sync; **Activate** turns it back on.

If you remove Linkbreakers' access in your Google account, or Google stops accepting it, the page says Google no longer grants access to that account and the sync stops. Disconnect, then connect your Google account again.

**Disconnect** stops the sync and revokes Linkbreakers' access at Google. Answers already added to visitors stay on them.

## Manage it from the Assistant, MCP or the API

Connecting needs you in a browser, to approve access at Google. An agent can give you the sign-in link and do everything after that.

**Assistant**: in the dashboard, ask "Sync my Google Forms now" or "Which link should my RSVP form's responses go to?".

**MCP server**: an agent connected to the [Linkbreakers MCP server](/help/article/mcp-server-setup) has `google_forms_integration_get`, `google_forms_oauth_url`, `google_forms_detected_list`, `google_forms_form_link_choose`, `google_forms_sync`, `google_forms_integration_update` and `google_forms_integration_delete`.

**REST API**, with a token that has the `integrations:read` or `integrations:write` scope:

```bash
curl https://api.linkbreakers.com/v1/google-forms-integrations/detected-forms \
  -H "Authorization: Bearer $LINKBREAKERS_TOKEN"

curl -X POST https://api.linkbreakers.com/v1/google-forms-integrations/sync \
  -H "Authorization: Bearer $LINKBREAKERS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

## Limits and caveats

- **One Google account per workspace**
- **The connected account must be able to open the form**: owned by it or shared with it. Forms it cannot open are not synced
- **Matching is by timing.** A response submitted more than 30 minutes after the visit is not matched, and when two people scan and submit close together the order of visits decides who gets which response
- **A form behind several links syncs on one link only**
- **Only links with a redirect step to the form** are synced. A response from someone who opened the form another way is counted as synced, and enriches no visitor unless a visit of the link falls in the 30 minutes before it
- **Text questions only** become custom attributes; choice questions are left out
- **English and French titles** are recognized for email, name and phone
- **Up to five minutes' delay**, unless you select **Sync now**
- **Read-only.** Linkbreakers never changes your forms

## Frequently asked questions

### Do I need to configure anything in Google Forms?

No. No hidden field, no script, no add-on. Use the form's address as the redirect destination of a link.

### How does Linkbreakers know which visitor submitted a response?

By timing. It takes a visit of that link that redirected to the form in the 30 minutes before the response, the earliest one not already matched in the same sync.

### Can I use `forms.gle` short links?

Yes. Linkbreakers follows the short link to the form.

### What if the form belongs to another Google account?

The form shows a warning in **Forms found**. Connect the account that owns it, or share the form with the connected account as an editor.

### How often are responses synced?

Every five minutes. Select **Sync now** on the Google Forms page for an immediate sync.

### What happens when I disconnect Google Forms?

The sync stops and Linkbreakers' access is revoked at Google. Answers already on visitors stay.

## Sources

- Linkbreakers Google Forms integration page, API and MCP tools, checked in the product on 2026-11-09.
- Google Forms API documentation: https://developers.google.com/workspace/forms/api/reference/rest

## Last reviewed

2026-11-09 by Laurent Schaffner.
