Cookie Policy
Last updated:
This page lists every cookie and every stored value Opteno sets, on which site, for how long, and why — and which of them wait for your permission first.
1. What cookies are
A cookie is a small text file a website asks your browser to keep and to send back on each later request. Websites use them to recognise a returning browser — most often to keep you signed in.
Two other things do the same job without being cookies, and this policy covers them as well because a policy that only named cookies would be telling you less than the truth. Local storage and session storage let a page keep a value in your browser: local storage until something deletes it, session storage until you close the tab. Neither is ever sent to a server; a page has to read it and decide to send it.
Everything below is what Opteno actually sets. It was checked against the source and confirmed in a browser on the date at the top of this page. If a kind of cookie is not named here, Opteno does not set it.
2. Nothing is measured until you answer the banner
Opteno uses three measurement tools, and none of them runs before you choose. Until you answer, the only things in your browser are the ones that keep you signed in — and on this marketing site, where you cannot sign in, nothing at all.
The three are governed by one answer, not three. Choosing “Analytics only” or “Accept all” turns on all of the measurement described below; choosing “Reject” leaves all of it off. We considered a banner that asked separately about each and decided against it: what matters to you is whether you are measured, not which vendor does it.
Google Analytics 4
Counts page views and a small number of product events — that you reached the sign-up form, that you connected a store, that your first sync finished. It tells us which pages lead somewhere and which do not.
It never receives your email address, your name, your shop domain, your Shopify or Google credentials, or any figure from your store. That is enforced in code rather than left to care: every event parameter passes a filter that drops anything resembling an identifier before the request is sent.
Google Analytics runs in Google’s Consent Mode. Before you answer, storage and advertising signals are all declared denied, so nothing is written and nothing identifying is transmitted.
Microsoft Clarity
Records how pages are used — where a cursor moves, what is clicked, where a page is scrolled — and can replay a visit. It is how usability problems get found without asking people to describe them.
You should know what this means on the signed-in dashboard: a replay of that screen contains the figures shown on it, including your ad spend, revenue and product names. That is the honest description, and it is why Clarity does not load there, or anywhere, until you have granted consent.
Where you came from
If you arrive from a Google ad or a campaign link, the identifiers in that link — Google’s click identifier and any utm_ parameters — are kept so that a sign-up can be matched to the campaign that produced it. This is how we know which advertising is worth paying for.
Two limits are worth stating. The referring page is stored as the site it came from and never as the full address, because a full address would carry that site’s own search terms along with it. And a click identifier arriving before you answer the banner is held in memory only and written nowhere; refuse, and it is discarded when you close the tab.
These identifiers are used to measure our own advertising. They are not used to build a profile of you, are not sold, and are not shared with anyone for their own purposes.
Advertising
Opteno runs no advertising tag and no remarketing pixel today. Granting “Accept all” enables the advertising signals that Google Analytics and Microsoft Clarity can use, which is what makes measuring our own campaigns possible; “Analytics only” grants measurement and withholds every advertising signal. If Opteno ever adds a conversion tag of its own, it will be named on this page in the same change that adds it.
3. Every cookie, by name
Set only after you consent, on both sites
- opteno.consent — your answer itself, and the date you gave it. Set on .opteno.app so that answering once covers both the marketing site and the dashboard. Kept for six months, after which you are asked again.
- opteno.acq — the campaign or click your visit came from, as described above. Set on .opteno.app and kept for ninety days. Written only if you consented; absent entirely if you did not.
- _ga and _ga_DSMNKGVM4P — Google Analytics. They hold a randomly generated identifier for the browser, which is how a returning visit is recognised as returning. Kept for two years by Google’s default.
- _clck and _clsk — Microsoft Clarity. The first identifies the browser, the second the individual session. Kept for one year and one day respectively.
Declining leaves every one of these unset. You can confirm that: refuse the banner, then open your browser’s developer tools and look under Storage.
The dashboard’s sign-in cookies, which are strictly necessary
Opteno’s application is a separate site at dash.opteno.app. It sets two cookies without which you could not sign in and the sign-in form could not be protected. They are not covered by the banner, because a service cannot ask permission to do the thing you asked it to do.
- __Host-opteno_session — what proves you are signed in. It holds a random opaque token and nothing else: no name, no email address, no account details. Only a hash of it is stored on our side, so the cookie cannot be reconstructed from our database. It is HttpOnly, so no script on the page can read it; Secure, so it is never sent unencrypted; SameSite=Lax, so it is not sent on a request another site makes; and Path=/ with no Domain, which is what the __Host- prefix means — no other host, including a subdomain, can overwrite it. It lasts twelve hours from your last request and at most thirty days from signing in, whichever comes first.
- __Host-opteno_csrf — what stops another website from acting as you. It holds a random token that the application must echo back in a request header; the two are compared on every request that changes something. This is the one cookie that is deliberately not HttpOnly, because the application has to read it in order to echo it. It carries no authority on its own: on its own it proves nothing and grants nothing. Same flags otherwise, same twelve hours.
Outside production those two names are opteno_session and opteno_csrf. The __Host- prefix is only legal on a cookie sent over HTTPS, so it is applied where the site is served over HTTPS and dropped where it is not.
Interface preferences, which are not cookies
The dashboard remembers four things in your own browser’s storage. None is a cookie, none is ever sent to Opteno, and none identifies you: they exist so the screen looks the way you left it.
- opteno.sidebar.collapsed — whether you collapsed the sidebar.
- opteno.columns.dashboard.<your user id> — which columns you chose to show on the product table.
- opteno.columns.dashboard.image-size.<your user id> — how large you set the product images.
- opteno.selected-store — which store you last had open. This one is session storage, so it is gone when you close the tab.
Counting page views without a cookie
Cloudflare serves this site and Cloudflare Web Analytics counts page views. It sets no cookie and stores nothing in your browser, which is why it runs without consent: there is nothing on your device to ask about. It reports the page address, the referring page, your browser and operating system, an approximate location derived from your IP address, and how fast the page loaded. Because Cloudflare terminates the encrypted connection for this site, it handles your IP address whether or not that script runs; the privacy policy names Cloudflare as a sub-processor for exactly that reason.
Other companies’ cookies
Opteno embeds no advertising tag, no social button, no chat widget and no A/B testing tool. Signing in to Shopify or to Google to connect an account takes you to their own site, where their cookies and their policies apply; Opteno neither sets nor reads a cookie on those domains.
4. Changing your mind, and managing cookies yourself
Your answer is kept for six months and you are asked again after that. To change it sooner, clear the site data for opteno.app in your browser — that deletes the stored answer along with everything it permitted, and the banner returns on your next visit.
You can delete cookies and site data, and refuse new ones, in every modern browser. Blocking them for opteno.app costs you nothing but the memory of your answer. Blocking them for dash.opteno.app means you cannot sign in — the session cookie is how being signed in works.
- Google Chrome: Settings → Privacy and security → Third-party cookies, and Settings → Privacy and security → Delete browsing data.
- Mozilla Firefox: Settings → Privacy & Security → Cookies and Site Data.
- Safari: Settings → Privacy → Manage Website Data.
- Microsoft Edge: Settings → Cookies and site permissions → Manage and delete cookies and site data.
Browsers move these menus between versions; if a path above has moved, your browser’s own help page for “cookies” is the reliable source.
Measurement can also be switched off entirely at the source: Google publishes a browser add-on that opts you out of Google Analytics on every site, and Microsoft Clarity honours the Global Privacy Control signal your browser can send.
Separately from any of this, you can disconnect Opteno from your Shopify or Google account at any time from those accounts. That is a different thing and is covered in the privacy policy.
5. Why the banner asks the way it does
The law behind the banner — Article 5(3) of the ePrivacy Directive and the national laws implementing it — is about storing information on your device or reading what is already there. Measurement does both, so it needs your permission first. Keeping you signed in is the exception the same law makes for what is strictly necessary to provide a service you asked for.
Three choices are offered, and refusing takes exactly one click on a button that looks like the others. That is deliberate. A banner where accepting is a solid button and refusing is grey small print measures the design rather than what people want, and a tool whose purpose is to show merchants their real numbers should not be manipulating its own.
Before you answer, Google’s Consent Mode is set to deny storage and every advertising signal, and neither Clarity nor the acquisition cookie loads at all. Nothing is written to your device that a later refusal would have to undo.
The banner is shown where something is actually stored. Our staging and development sites measure nothing and store nothing, so they show no banner — there is nothing there to ask about.
6. Changes to this policy
This page is part of the site’s source code and changes with it, so it cannot drift away from what the product does without somebody changing it on purpose. The date at the top is when it was last reviewed against the code.
If Opteno starts setting a cookie that is not listed here, this page is updated in the same change that sets it.
7. Contact
Write to support@opteno.app about anything on this page. It reaches a mailbox on Opteno’s own mail server that a person reads. A data-protection request — access, erasure, an objection — goes to privacy@opteno.app, which reaches the same mailbox and is answered within one month.
Opteno is operated by Ksel Technology Limited, registered in Hong Kong (company registration number 76991590). Its registered address is Unit B, 3/F., Kai Wan House, 146 Tung Choi Street, Mongkok, Kowloon, Hong Kong.
The privacy policy covers everything this page does not: what Opteno holds, where it is stored, who else touches it, how long it is kept, and how to export or delete it.