Cookie Policy
Every cookie and browser-storage entry we use, by name, and how to turn the optional ones off.
Effective Date: October 2, 2026 (Version 1.1)
Last Updated: October 2, 2026
This Cookie Policy is part of the Viewdora Privacy Policy and explains the cookies and similar technologies that Forged Concepts LLC, doing business as Viewdora, uses on its websites and apps. “Cookies” here is shorthand: it also covers browser localStorage, sessionStorage, and the identifiers a mobile app uses in place of cookies.
We have listed entries by their actual name. Vendors occasionally rename their storage keys between SDK versions; where you see a name that is not in this list, tell us at hello@viewdora.com and we will investigate and update this page.
Cookie Preferences
Analytics, session replay, and advertising cookies on viewdora.com stay off until you accept them, and you can change your mind at any time. The Google tag itself loads before you choose, in a cookieless mode; see Section 7.
Your current choice:
1. What This Policy Covers
It covers viewdora.com, Viewdora Studio at studio.viewdora.com, gallery access in a browser, and the identifier-based equivalents in our iOS and Android apps. Different surfaces use different technologies, so they are listed separately below.
Cookies are small files a site stores in your browser. localStorage does a similar job but stays in the browser rather than being sent with every request. Both are “cookies” for the purposes of the laws that regulate this, and both are listed here.
2. The Categories We Use
- Strictly necessary. Without these the Services do not work: signing in, staying signed in, and remembering the cookie choice you made. These do not require consent, and there is no way to switch them off while using the Services.
- Functional. Remembering preferences such as your language. Not essential, but low-impact and closely tied to what you asked for.
- Analytics. Understanding how the Services are used, and session replay. Optional on viewdora.com and off until you accept. Covers Google Analytics and PostHog. In Studio, Google Analytics runs only on the sign-in and sign-up pages (the sign-in page, the one-time code page that follows it, and the sign-up page) and is also off until you accept; see Section 5. Google Signals is enabled on our Google Analytics property, so once you accept analytics, Google may associate measurement data with your Google account according to your Google account settings; see Section 4 of the Privacy Policy.
- Referral and affiliate. Crediting a referrer when you arrive through a referral link. Set only when you actually follow such a link.
- Advertising. Measuring whether our Facebook, Instagram, and Google ads work, through the Meta Pixel and Google Ads conversion measurement. Optional, and off until you accept. The Meta Pixel is not even downloaded before then. The Google tag loads on every page so Google Ads can measure our ads, but until you accept advertising it runs with Google advertising storage and advertising user data denied, so it sets no Google Ads cookie and sends only cookieless pings (see Section 7). Declining turns Google Ads off. Both run on viewdora.com and on the Studio sign-in and sign-up pages. They are never used on Client gallery pages or in the mobile apps. When you accept advertising, our Google tag turns on Google advertising storage and advertising user data so Google can tell us which ad clicks led to a visit or a sign-up. Advertising personalization stays denied whatever you choose: we do not use Google for remarketing. See Section 4 of the Privacy Policy for what Meta and Google receive and why U.S. state law calls it “sharing”.
3. Your Choice, and How to Change It
- When you first visit viewdora.com you see a banner with Accept and Decline. Both are single clicks and equally prominent — declining is never harder than accepting. The banner controls two optional categories, analytics and advertising; Accept turns on both, Decline turns off both, and Manage lets you switch each one on or off separately.
- Change or withdraw your choice at any time with the Cookie Preferences button above, which is also linked from the footer of every page.
- If your browser or an extension sends a Global Privacy Control or Do Not Track signal, we record a decline automatically and do not show the banner. You can still accept manually if you want to.
- Your choice is stored in your browser, so it applies per browser and per device, and clearing your site data clears it. It is stamped with a version, so if we add a materially different purpose or vendor we will ask again rather than assume your old answer still covers it.
- Declining stops the optional trackers from capturing anything and clears the analytics and advertising storage that had been set. Because an advertising pixel cannot be unloaded from a page once it is running, withdrawing consent also reloads the page so it is gone outright. It cannot reach data collected while consent was in place; to have that deleted, use the rights in Section 9 of the Privacy Policy.
4. Cookies and Storage on viewdora.com
In the names below, [project-key] stands for our PostHog project key and [container-id] for the Google Analytics container identifier; both appear in full in the actual storage name in your browser.
| Name | Type & provider | Purpose | Category & duration |
|---|---|---|---|
cookie-consent | localStorage, first-party (Viewdora) | Records whether you accepted or declined analytics and advertising, when you chose, and the version of the choice. Without it we would have to ask you on every page. | Strictly necessary — kept until you clear site data or change your choice. |
__ph_opt_in_out_[project-key] | localStorage, PostHog | Records your analytics opt-in or opt-out inside the PostHog SDK so it honours your decision on later visits. | Strictly necessary (it exists to enforce your choice) — written when you choose, kept until you clear site data. |
ph_[project-key]_posthog | Cookie and localStorage, PostHog, first-party via s.viewdora.com | Product analytics: stores the anonymous analytics identifier, session identifier, and campaign attribution so page views and events from one visit can be grouped together. | Analytics — written only after you accept. Cookie lasts up to 12 months. |
_ga | Cookie, Google Analytics, first-party | Distinguishes one browser from another for website measurement. | Analytics — written only after you accept. Up to 2 years. |
_ga_[container-id] | Cookie, Google Analytics, first-party | Keeps Google Analytics session state. | Analytics — written only after you accept. Up to 2 years. |
_fbp | Cookie, Meta Platforms, first-party | Holds a random browser identifier so Meta can attribute a visit to one of our Facebook or Instagram adverts. The pixel script itself is not downloaded, and nothing reaches Meta, until you accept. | Advertising — written only after you accept. Up to 90 days. |
_fbc | Cookie, Meta Platforms, first-party | Stores the advert click identifier from the link you arrived on, so a click can be matched to a visit. Set only if you both accept and arrived from a Meta advert. | Advertising — written only after you accept. Up to 90 days. |
_gcl_au, _gcl_aw, and other _gcl_* entries | Cookie and localStorage, Google Ads, first-party | Hold a random browser identifier and, if you arrived from one of our Google ads, the ad click identifier, so a click can be matched to a visit or a sign-up. Not set until you accept; before then Google Ads receives only the cookieless pings described in Section 7. | Advertising — written only after you accept. Up to 90 days. |
rewardful.referral | Cookie, Rewardful, first-party | Holds a random referral identifier so a referrer can be credited if you subscribe. See Section 6. | Referral — set only if you arrive through a referral link. 30 days. |
Session replay and interaction analytics. When you accept analytics, PostHog also records a replay of your visit — page structure and rendered content, clicks, scrolling, heatmap signals, browser console messages, and network timing. All on-screen text, images, and form inputs are masked, so what you type and read is not captured. Autocapture, which records clicks and other interactions generically, is enabled on this marketing website. Recordings are kept for 30 days. Section 2.2 of the Privacy Policy has the detail.
5. Cookies and Storage in Viewdora Studio
Studio is the signed-in product. Most of the storage below is part of delivering it.
The Studio cookie banner. Studio has its own cookie banner, separate from the one on viewdora.com, with the same two optional categories: analytics and advertising. Both are off until you accept. Accept, Decline, and Manage work the same way as on the website, and you can change your choice at any time through the Cookie preferences link at the bottom of the Studio sign-in and sign-up pages, or in your Studio account settings once you are signed in. Your Studio choice is stored in your browser for studio.viewdora.com, so it is recorded separately from your choice on viewdora.com. The measurement cookies themselves are shared between the two sites; see the table below.
Where the optional tags run. The Google tag and the Meta Pixel load only on the Studio sign-in page, the one-time code page that follows it, and the sign-up page. They do not load on the plan selection or sign-up confirmation pages. They never load on gallery pages, Client download pages, or anywhere else in the signed-in app.
- Google tag. Loads on those pages before you choose, with Google Consent Mode denied, so it sends Google only cookieless pings (see Section 7). If you decline, or your browser sends a Global Privacy Control or Do Not Track signal, Google Ads is turned off. Google Analytics page views and the
sign_upevent are recorded only after you accept analytics. - Google Ads. Runs through the same Google tag. Before you accept advertising it sets no cookie and the ad click identifier is redacted. After you accept, it records page views on those pages and the
sign_upevent, so we can measure whether our Google ads lead to sign-ups. Advertising personalization stays denied. - Meta Pixel. Loads only after you accept advertising. It sends a
CompleteRegistrationevent when you create an account, so we can measure whether our Facebook and Instagram adverts lead to sign-ups.
| Name | Type & provider | Purpose | Category & duration |
|---|---|---|---|
stytch_session | Cookie, Stytch, first-party | Your sign-in session token. Without it you would be signed out on every page load. | Strictly necessary — up to 14 days, refreshed while you stay active. |
stytch_session_jwt | Cookie, Stytch, first-party | Short-lived signed token used to authenticate your requests to our API. | Strictly necessary — refreshed automatically; expires with the session. |
viewdora.locale | localStorage, first-party (Viewdora) | Remembers the language you selected. | Functional — until you clear site data. |
ph_[project-key]_posthog | Cookie and localStorage, PostHog, first-party via s.viewdora.com | Product analytics for the signed-in application: which features are used, where errors occur, and how sessions progress. | Analytics — see the note below. Cookie lasts up to 12 months. |
_ga | Cookie, Google Analytics, first-party | Distinguishes one browser from another for sign-in and sign-up measurement. Set only on the Studio sign-in and sign-up pages. Our Google tag stores it on .viewdora.com, so it is the same cookie described in Section 4: one identifier is shared by viewdora.com and Studio measurement, and declining on either site deletes it. | Analytics, written only after you accept analytics in Studio. Up to 2 years. |
_ga_[container-id] | Cookie, Google Analytics, first-party | Keeps Google Analytics session state. Set only on the Studio sign-in and sign-up pages. Our Google tag stores it on .viewdora.com, so it is the same cookie described in Section 4: one identifier is shared by viewdora.com and Studio measurement, and declining on either site deletes it. | Analytics, written only after you accept analytics in Studio. Up to 2 years. |
_fbp | Cookie, Meta Platforms, first-party | Holds a random browser identifier so Meta can attribute a sign-up to one of our Facebook or Instagram adverts. Set only on the Studio sign-in and sign-up pages. The Meta Pixel stores it on .viewdora.com, so it is the same cookie described in Section 4 and is shared with viewdora.com; declining on either site deletes it. The pixel script is not downloaded, and nothing reaches Meta, until you accept. | Advertising, written only after you accept advertising in Studio. Up to 90 days. |
_fbc | Cookie, Meta Platforms, first-party | Stores the advert click identifier from the link you arrived on, so a click on one of our Facebook or Instagram adverts can be matched to a sign-up. Set only on the Studio sign-in and sign-up pages, and only if you both accept advertising and arrived from a Meta advert. Stored on .viewdora.com and shared with viewdora.com, as above. | Advertising, written only after you accept advertising in Studio. Up to 90 days. |
_gcl_au, _gcl_aw, and other _gcl_* entries | Cookie and localStorage, Google Ads, first-party | Hold a random browser identifier and, if you arrived from one of our Google ads, the ad click identifier, so a click can be matched to a sign-up. Set only on the Studio sign-in and sign-up pages, and only after you accept advertising. | Advertising, written only after you accept advertising in Studio. Up to 90 days. |
How analytics works in Studio, stated plainly. Studio is a signed-in application, and product analytics there runs as part of operating and improving the service you have an account for, rather than behind a cookie banner. The Studio banner controls only the Google tag, Google Ads, and the Meta Pixel described above. Two things follow from how we have configured it, and both are deliberate:
- Page addresses are sanitised. Studio reports the route pattern (for example
/clients/download/:orgId/:code) instead of the resolved address, so gallery share codes, invitation tokens, and record identifiers are never sent to our analytics provider. - Generic autocapture is switched off in Studio. Only the specific product events we have defined are recorded, plus page views and errors. Your account email is used as the analytics identifier so we can support you and investigate faults on your account.
Global Privacy Control and Do Not Track. If your browser sends either signal, Studio declines both analytics and advertising automatically, so the Google tag, Google Ads, and the Meta Pixel do not load. If you later opt in yourself through the banner, the Cookie preferences link, or your account settings, your explicit choice wins. PostHog in Studio also stops capturing while either signal is present.
Session replay may also run on signed-in pages, with all on-screen text, images, and form inputs masked and a 30-day retention. If you would prefer that we stop associating product analytics or replay with your account, email hello@viewdora.com and we will action it. You can also object formally under Section 9 of the Privacy Policy.
6. Referral and Affiliate Storage
Our referral script is provided by Rewardful, our referral-tracking provider, and served through our subdomain affiliates.viewdora.com, which points to Rewardful’s servers. It is deliberately quiet:
- On an ordinary visit it is not loaded at all — no cookie, and no request to Rewardful.
- It loads only if you arrive through a referral link (a
?via=parameter, or a?referral=parameter carried over from another Viewdora site) or you already have a referral cookie from an earlier referral visit. Loading it sends Rewardful your IP address, browser details, and the address of the page you are on. It then registers the visit with Rewardful and storesrewardful.referralin your browser for 30 days. The value is a random identifier plus the campaign and affiliate reference — it does not contain your name or email. - If you later subscribe, that identifier is attached to your Stripe billing record so the referrer can be credited. The referrer never sees your Viewdora account, your galleries, or your photographs.
- To clear it, delete cookies for viewdora.com in your browser. Doing so simply means a referral will not be credited.
The Referral & Ambassador Program is described in the Program Terms.
7. What Happens Before You Choose
We would rather tell you this than leave you to find it in a network log:
- Google tag and Google Ads. The Google tag loads on every page. Before you choose, it runs in Google Consent Mode with advertising and analytics storage denied: it sends Google only cookieless pings (the page address, your IP address, browser details, and whether you arrived from one of our Google ads, with the ad click identifier redacted). It sets no cookies and stores no identifier. If you decline, or your browser sends a Global Privacy Control or Do Not Track signal, Google Ads is turned off and receives nothing. Google Analytics is not configured until you accept analytics, and Google Ads cookies are not set until you accept advertising.
- PostHog. Nothing at all. The PostHog SDK is not loaded until you accept analytics — your browser makes no request to s.viewdora.com or to PostHog, and no events, session recordings, or analytics storage are created.
- Meta Pixel. Nothing at all. The pixel is not loaded until you accept advertising — your browser makes no request to Meta, no
_fbpcookie is set, and Meta learns nothing about your visit. - Rewardful. Nothing at all on an ordinary visit. The referral script is loaded only if you arrived through a referral link or already have a referral cookie, as described in Section 6.
- Fonts and assets are served from our own domain. We do not load web fonts from a third-party host.
8. Mobile Apps
Our iOS and Android apps do not use browser cookies. They use app-storage and installation identifiers for the equivalent purposes: keeping you signed in, product analytics through PostHog, and crash reporting through Google Firebase Crashlytics (which assigns a Crashlytics installation identifier). We do not collect advertising identifiers and we do not use the apps for advertising. Device-level controls for app tracking and diagnostics are in your iOS or Android settings.
9. Managing Cookies in Your Browser
Our Cookie Preferences control is the right tool for the optional categories, because it stops collection at the source. In addition, every major browser lets you view, block, and delete cookies and site data, usually under Privacy or Site Settings, and most offer private browsing that discards everything at the end of the session.
Blocking strictly necessary cookies will break sign-in and gallery access. Browser controls are a supplement to the choice you make here, not a substitute for it.
10. Changes and Contact
We update this page whenever we add, remove, or reconfigure a cookie or tracker. If a change adds a materially different purpose or vendor, we will ask for your choice again rather than rely on the previous answer.
Questions: hello@viewdora.com. Forged Concepts LLC, 4680-18 I Monticello Ave, PMB 121, Williamsburg, VA 23188, United States.
Effective Date: October 2, 2026 · Last Updated: October 2, 2026 · Version: 1.1
