Cookie Policy
Last updated: 13 August 2026
This page explains every cookie and browser-storage item this site uses, what it is for, and how long it lasts. It also lets you change your choice at any time.
Your current choice
Choosing Essential only switches Google Analytics off and clears the referral and campaign cookies. Choosing Accept all turns them back on. Your choice is remembered for 180 days, after which we ask again.
Strictly necessary
These are required for the site to work and are not optional. Under PECR they do not require consent.
| Name | Purpose | Duration |
|---|---|---|
| ai_session | Keeps you signed in and links your requests together. | 2 hours |
| ai_csrf_cookie | Protects forms against cross-site request forgery. | 2 hours |
| ai_cookie_consent | Records the choice you made on this page so the server can honour it. | 180 days |
| pb_cookie_consent (local storage) | The same choice, stored in your browser so the banner does not reappear. | Until you change it, or 180 days |
| ai_remember_user / ai_remember_affiliate | Set only if you tick “Remember me” at sign-in. Cleared when you sign out. | 30 days |
| pb_low_credit_… | Remembers that you dismissed a low-credit notice in your dashboard. | 24 hours |
| docs_lang (local storage) | Remembers your preferred code-sample language on the developer docs. | Until cleared |
| mv_pending_ref / mv_pending_camp / mv_pending_utm (session storage) | If you arrive through a partner, campaign or tagged link before choosing on the cookie banner, the code from that link is held in your browser for this visit only, so it can be applied if you later choose Accept all. Choosing Essential only discards it; nothing is sent to us or joined to an account unless you accept. | Until you close the tab |
Analytics — only with your consent
We use Google Analytics 4 to understand which pages are useful. It runs only if you choose Accept all. Choosing Essential only, or making no choice at all, means it is never loaded.
| Name | Purpose | Duration |
|---|---|---|
| _ga | Distinguishes one visitor from another. | 2 years |
| _ga_<id> | Maintains the analytics session. | 2 years |
Analytics runs on this site and, if you are signed in, on your dashboard. It is never loaded into the chat widget on other people’s websites.
Referral and campaign attribution cookies — only with your consent
| Name | Purpose | Duration |
|---|---|---|
| ai_aff_ref | Remembers which partner referred you, so they are credited if you sign up. | 30 days |
| ai_camp_ref | Remembers which campaign link you arrived through. | 30 days |
| ai_utm_ref | Remembers which channel brought you here (for example a search engine, a social post or a specific campaign link), so we can tell which of our marketing actually works. | 90 days |
These hold only a short code. They are not used to build a profile of you and never to serve advertising. If you choose Essential only they are not set, and any existing ones are cleared. The same short code is also held server-side for the duration of your visit, as part of the strictly necessary session described above. That is how a partner or campaign is still credited if you sign up during the same visit without accepting these cookies.
Separately from these cookies, we keep a simple server-side count of where visits to our website come from — the page you landed on, the website that linked you to us, and any campaign wording in the link. That count is kept whether or not you accept cookies, because it is not stored on your device and does not identify you. If you create an account, we also record which channel, referral link or invitation brought you to us, against your account, so that a partner or campaign is credited and we can tell which of our marketing works. That record is taken from the short code in the link you followed, or matched from an invitation we sent to your email address — not from a cookie stored on your device — so it does not depend on your cookie choice. We do this on the basis of our legitimate interest in understanding how customers find us, and you can object at any time using the contact details below.
Bot protection
Google reCAPTCHA protects our sign-up forms from automated abuse. It is loaded only when you interact with a form — not when you are simply reading a page — and it is strictly necessary to provide the sign-up you asked for, so it runs whichever option you choose. Google may set its own cookies; see the Google Privacy Policy.
Where one of our customers has enabled it, the chat widget may load Cloudflare Turnstile for the same purpose.
The chat widget on other websites
When you use a Morv chat widget embedded on someone else’s site, it stores a random conversation id in that site’s local storage so your conversation survives a page refresh. It sets no tracking cookies and loads no analytics.
Do Not Track
Our site does not change its behaviour in response to “Do Not Track” signals. Please use the controls at the top of this page instead. We do not track you across other websites.
More information
See our Privacy Policy for how we handle personal data, or contact privacy@morv.ai.