Privacy

Analytics Connector sends your shop's commerce events to your own Google properties. It is a pipe, not a destination - we keep no copy of your shoppers' commerce events.

Last updated 3 September 2026

Who we are, and who this page is for

Analytics Connector is published by Andy Thomas UX Limited, a company registered in England and Wales under number 16987904, at 12 Park Lane, Aberdare, CF44 8HN, trading as Kohort iQ.

This page is written for merchants who install the app. It explains what the app does with data so you can describe it accurately in your own store's privacy notice - your shoppers should be told about it by you, in the notice they actually see.

Data protection questions: privacy@kohortiq.com.

Who is responsible for what

For the commerce events the app sends to your Google properties, you are the controller. They are built in your shopper's browser, sent to the Google accounts you configure, and governed by your agreement with Google and your own privacy notice. We never see them.

For the small amount of data that does reach us - your configuration, your session record, the verification beacon and our application logs - we act as your processor, on your instructions, under the terms of our data processing agreement, which is available on request from the address above.

For the items the app stores on a shopper's device, we determine how they work and you decide whether to deploy them, so we treat that as joint responsibility and have set out below exactly what is stored, why, and for how long.

Where your shoppers' data goes

The app builds Google Analytics 4, Google Tag Manager and Google Ads events in the shopper's browser and sends them directly to the Google accounts you configure. That traffic goes from your storefront to Google. It does not pass through our servers, and we hold no copy of it.

What Google then does with those events is governed by your agreement with Google and by your own privacy policy, not by this one. Google processes that data outside the UK, including in the United States, under the transfer terms in your own Google agreement - we are not a party to that transfer. If you use Google Analytics you must say so in your store's privacy notice.

What the app stores on a shopper's device

The app sets no cookies, but it does store a small number of items in the shopper's browser. Under the Privacy and Electronic Communications Regulations, storage of this kind requires consent unless it is strictly necessary for a service the shopper has asked for, so you need to cover these in your consent banner and your own privacy notice.

WhatWhereWhyHow long
ac_visitor_consentLocal storageCarries the consent answer given on your storefront into checkout, where the shopper is not asked again. This is the only one written before a shopper answers, because it is the record of the answer itself - including a refusal.Until a newer copy replaces it, or the shopper clears site data.
ac_form_intentSession storageRemembers whether the last form submitted was a login or a sign-up, so the event is named correctly after Shopify redirects. Written only once the shopper has allowed analytics.Ten minutes, cleared as soon as it is used, and gone when the tab closes.
ac_lead_intentSession storageThe same, for newsletter and contact forms. Written only once the shopper has allowed analytics, and only when you have switched lead tracking on.Ten minutes, cleared as soon as it is used, and gone when the tab closes.
ac_customer_stateSession storageHolds whether this browser is logged in and, if it is, the Shopify customer ID. Comparing it across page loads is the only way to tell a login from a sign-up. Written only once the shopper has allowed analytics.Gone when the tab closes.
ac_select_itemSession storageRemembers which product in a list was clicked, so the product page can report it against the right list. Written only once the shopper has allowed analytics.Two minutes, cleared as soon as it is used, and gone when the tab closes.

None of these holds a name, an email address, a postal address, an order, a product or an advertising identifier. One of them, ac_customer_state, holds the Shopify customer ID of a shopper who is logged in to your store.

Nothing here is written before a shopper answers your consent banner, with one deliberate exception. Everything in the table except ac_visitor_consent waits for analytics consent, and is removed again if consent is withdrawn.

ac_visitor_consent is the exception because it is the record of the shopper's own answer. It is how a refusal reaches Shopify's checkout, where the shopper is never asked a second time. Making the record of a refusal wait for consent would mean forgetting that somebody said no.

Your settings used to be carried into checkout on the shopper's device as well. They are not any more - checkout asks us for them directly, so your configuration never touches a shopper's browser.

What we store about your shop

Your configuration - measurement IDs, market mapping, consent defaults and delivery settings - is stored in Shopify metafields on your own shop, not in a database of ours. Uninstalling the app removes it with everything else Shopify clears.

We keep a Shopify session record so the app can authenticate. It holds your shop's myshopify.com domain and the access token Shopify issues. The record has fields for the name, email address and Shopify user ID of a staff member; the app uses shop-level tokens only, so those fields stay empty. Nothing about a shopper is in it. We keep it for as long as the app is installed, and delete it when you uninstall.

The verification beacon

The app has one channel that reports back to us: a short-lived verification beacon, open only for twenty minutes while you are actively running a setup check from inside the app. What it accepts is fixed by a parser rather than by a promise - an event name, whether it fired on the storefront or in checkout, which market it resolved to, whether the payload was complete, and a timestamp.

There is no field in that schema for a name, an email address, an address, an order value, a product, an IP address or a device identifier. A request carrying anything else is rejected outright rather than quietly trimmed, and a test fails if that ever stops being true. The results are written to a metafield on your own shop rather than to a database of ours, replaced by your next check, and removed by Shopify when you uninstall.

Our logs

Our application logs record your shop's domain against billing and configuration events, so we can support you and count subscriptions. They contain no merchant name, no email address and nothing about any shopper. We keep no copy of them: they are written to the application's console, and Fly.io retains them for about seven days before they age out.

Fly.io also keeps standard web server request logs for about the same period. Those may include IP addresses. They are Fly's records rather than ours, and we do not copy them anywhere.

Our lawful basis

What we doWhyLawful basis
Running the app for your shop - configuration, session, supportTo deliver the service you subscribed toPerformance of a contract with you
Application logs and billing recordsTo run and bill the service, and to keep it secureOur legitimate interests in operating and securing our own product
Storage on shoppers' devices, and the events sent to your Google propertiesBecause you have deployed the app on your storefrontYou determine this. Your lawful basis and your consent mechanism apply, and PECR consent is required for non-essential storage.

Consent

The app reads consent, it never collects it. Google Consent Mode v2 is applied on every event, with defaults set by the shopper's location and driven by your existing Shopify customer privacy settings or your own consent platform. Across the EEA, the UK and Switzerland the default is denied until a shopper accepts. The app treats a granted default in those regions as a blocking error and will not report your setup as complete, but it does not override a setting you have deliberately saved.

Consent Mode does not remove your obligation to obtain consent. It communicates the answer your banner already collected, and it governs what is sent to Google rather than what is stored on the device.

Your rights, and your shoppers' rights

You have the right to ask us for a copy of the data we hold about your shop, to have it corrected or erased, to object to or restrict our processing, and to receive it in a portable form. Email privacy@kohortiq.com and we will respond within one month.

Your shoppers should come to you, not to us. You are the controller for the commerce events the app sends to your Google properties, and for anything Google holds. Where a shopper request reaches us through Shopify's privacy webhooks we respond - in practice the response is short, because we hold no shopper data to return or erase.

If you are unhappy with how we have handled your data you can complain to the Information Commissioner's Office at ico.org.uk, or to your local supervisory authority in the EEA.

Where the app runs, and who else is involved

WhoWhat they doWhere
Fly.ioHosts the appLondon region, United Kingdom
ShopifyHosts your store, your configuration and your sessionPer your Shopify agreement
GoogleReceives the events your configuration directs to itPer your Google agreement, including outside the UK

We use no analytics, advertising or session-recording service on this website or inside the app.

Retention, in one place

WhatKept for
Session recordWhile the app is installed. Deleted on uninstall, and again on the shop redaction request Shopify sends afterwards.
Configuration metafieldsWhile the app is installed. Removed by Shopify with the app.
Verification resultsHeld in a metafield on your own shop, not on ours. Replaced by your next check, cleared when you stop one, and removed by Shopify when you uninstall.
Application logsWe store none. The app writes them to its console, and Fly.io keeps them for about seven days before they age out.
Hosting request logsFly.io's, kept for about seven days. We do not copy them anywhere.
Billing recordsWe hold none. Shopify records your subscription and issues the payout; our own accounting records are kept for six years, as UK company and tax law requires.

Changes

If what the app collects ever changes, this page changes with it and the date above moves. We will publish material changes here before they take effect.

Contact

Privacy questions, data requests and anything else: privacy@kohortiq.com.