Privacy

Passive identity capture

How Flowgrid learns who a visitor is from the forms on your website, exactly which fields it reads, which it never touches, and how to exclude a field or a page.

Overview

When a visitor types their email into any form on your website, Flowgrid makes that their identity, so their past and future sessions belong to a person rather than an anonymous ID. With a CRM connected, the email is matched to the contact in HubSpot, Salesforce or Zoho.

On by default with the script tag

Passive capture runs as part of flowgrid.js on every website that installs the script tag. In the npm SDK it is opt-in (see npm SDK). Review the sections below before you publish a privacy notice.

When a field is read

A field is read when the visitor leaves it, or 800 milliseconds after they stop typing in it. That is before the form is submitted, so a visitor who types their email and then leaves the page is still identified. That is the point of the feature: the visitors who abandon a form are the ones you most want to know about.

Fields are recognised by their name, id, placeholder and autocomplete attributes, so it works whichever framework rendered the form, including forms added after the page loads.

What is captured

FieldRecognised fromHandling
Emailemail, emailaddressHashed (SHA-256) in analytics. Kept in your workspace's identity store so it can be matched to your CRM.
Phonephone, tel, mobile, cellHashed (SHA-256) in analytics.
First and last namefirstname, lastname, fullname, nameStored as the visitor's name.
Companycompany, organisation, businessnameStored as the visitor's company.
Address, city, postcodeaddress, city, postcode, zipStored as traits.

What is never read

For these, the listener is never attached, so the value is never read in the browser, let alone sent:

  • Password fields, and any field of type hidden
  • Card numbers, CVV or CVC, security codes, SSNs and PINs
  • Messages, comments, notes, feedback, search boxes and queries
  • Any field marked data-analytics="ignore" or with the class no-track
  • Every field on pages under /checkout, /account/settings and /admin

Where it is stored

  • Analytics events only ever carry the SHA-256 hash of an email or phone number.
  • The raw email is kept in your workspace's identity store, on Flowgrid's servers, so it can be matched to a CRM contact and shown to your team. It is read only by your dashboard, with your API key, and is never exposed to other visitors of your website.
  • Everything is sent over HTTPS.

Excluding fields

Mark any field you do not want read. Either attribute works:

index.html
1<input name="email" data-analytics="ignore" /> 2<input name="phone" class="no-track" />

There is no site-wide switch in the script tag yet

To turn capture off for a whole form, mark each of its fields. Pages under /checkout, /account/settings and /admin are always excluded.

npm SDK

The flowgrid-sdkpackage does not capture form fields unless you turn it on. The rules are the same as the script tag's.

lib/flowgrid.ts
1init({ autoTrack: { passiveIdentity: true } }) 2 3// or, after init 4fg.autoTrack({ passiveIdentity: true })

To identify a visitor yourself instead, for example after login, call flowgrid('identify', { email }).