Privacy
Revenue Driver Tree is run by Simon Mortensen, sole proprietor. It reads
your Google Analytics 4 data and shows it to you as a report. Its small server signs you
in and passes your Analytics data from Google to your browser. The server does not
store or log that data, and nothing it reads is kept anywhere but your own browser. Like
any web host, the host keeps its own request logs; see Hosting below. They
hold no Analytics data.
What it reads
- Read-only access to Google Analytics, scope
https://www.googleapis.com/auth/analytics.readonly, and the
openid and email sign-in scopes, which identify the sign-in to
the tool's server. The tool does not read or keep your email address, and does not ask for your
profile. It recognises its own administrators, who can open every account, by your
Google account id, which it holds inside your own encrypted sign-in cookie.
- Your GA4 account and property names and ids (the Admin API's account summaries),
and each property's currency code.
- Daily figures for the last 25 months: sessions, total users, new users,
transactions, purchase revenue and items purchased, split by device category and new
vs returning users and by each of four traffic-source views: channel group,
first-user channel group, source / medium and campaign name.
date, deviceCategory, newVsReturning with one of
sessionDefaultChannelGroup, firstUserDefaultChannelGroup, sessionSourceMedium,
sessionCampaignName; sessions, totalUsers, newUsers, transactions,
purchaseRevenue, itemsPurchased.
- The checkout funnel, daily: the number of sessions in which each of four events
fired (a count of sessions, not of events), split by channel group, device category
and new vs returning users.
date, sessionDefaultChannelGroup, deviceCategory, newVsReturning,
eventName for view_item, add_to_cart, begin_checkout, purchase;
sessions.
- Products, monthly, for the last 24 months: for each item id, how often it was
viewed, added to a cart, checked out and purchased, and its revenue, split by channel
group, device category and new vs returning users (by channel group only, for a
catalogue too large for Google to report in that detail).
yearMonth, itemId, sessionDefaultChannelGroup, deviceCategory,
newVsReturning; itemsViewed, itemsAddedToCart, itemsCheckedOut,
itemsPurchased, itemRevenue.
- The product catalogue: each item's name and its categories, which the tool keeps
as names and categories next to the figures.
itemId, itemName, itemCategory, itemCategory2, itemCategory3, itemCategory4,
itemCategory5; itemsViewed.
- Totals only: nothing about individual visitors. The tool cannot change anything in
your Analytics account, and it asks for no other Google permission.
Where it is kept
- Only in this browser's IndexedDB, on this device: the figures above, with the
property, item and category names. There is no account with us, and the tool's server
keeps no copy.
- Apart from IndexedDB, this browser's localStorage holds which help tours have been
shown (
onboarding:* entries), and no Analytics data. Delete local
data does not remove them. Its sessionStorage briefly holds what you were doing
while a sign-in is under way, and that is removed when you return.
- It is stored encrypted, with a key tied to your Google account
that the tool's server gives this page only while you are signed in. Signed out,
nobody using this browser can read it, and neither can another Google account
signing in here. Signing in again opens it without fetching any Analytics data; a
free trial's dashboard only lists your account's properties once, to see whether
the account has been paid for since, and if it has, fetches the full history. Not
encrypted: which property ids and months are stored, which reports are stored for
each (the record keys name the report family), and when they were fetched.
- On a shared or public computer, click Delete local data when you are
finished to remove it entirely, and sign out of your Google account.
- Deleted when you click Delete local data (on the dashboard or the
sign-in screen), when you clear this site's data in your browser, or the first
time this tool is open more than 30 days after the last successful
fetch (an open dashboard checks every hour), when everything older is discarded —
including raw months left behind by a fetch that did not finish. If you never open
the tool again, the data stays in this browser until you delete it or clear this
site's data. Cached raw months for properties you remove from the selection, or older
than the period the tool fetches, are deleted as soon as the new dashboard is
built.
- Never stored by us, and never uploaded anywhere. It passes through the tool's
server on its way from Google to this browser. The tool does not log it, and the host's
request logs (see Hosting) do not contain it.
Hosting
- The site and its server functions are hosted by Vercel. Like any
web host, it records each request in its own logs: the IP address, the time, the
address requested, the status and the browser's user agent. The address the sign-in
returns to carries a one-time sign-in code. Analytics data is not in those logs: it
travels in the body of a request or response, not in the address.
- How long Vercel keeps request logs: 1 day, the retention of the
Vercel plan this runs on (Pro).
Who else is contacted
If your browser blocks something on these pages, it sends the tool's own server a
short report: the page path, the origin of the blocked address and the rule that
blocked it. The server logs those reports, never Analytics data. The host's request
logs (see Hosting) record the report request like any other.
- Google — for sign-in and for the Analytics Admin and Data APIs.
Google's handling of that data is covered by
Google's privacy policy.
- api.frankfurter.dev — only when the properties you selected
report revenue in more than one currency, and only by the tool's server, so it never
sees your IP address. It receives the dates and currency codes being requested, and
no Analytics data, cookie or sign-in token. The currencies requested can indicate
which markets the business reports in.
- Stripe — only if the tool charges for access, and only when you
buy or manage a plan. Stripe collects the payment details on its own pages; the tool
never sees them. The tool's server sends Stripe the Analytics account id and your
Google account id so the purchase can be matched, and receives your Stripe customer
and subscription ids. Stripe issues the invoices, which you open from Account in the
tool's footer. If you cancel a subscription and choose a reason, only Stripe receives
that reason. The tool does not store it. Stripe's handling is covered by
Stripe's privacy policy.
- Upstash — only if the tool charges for access. Its database holds
the access records described under Paid access. It holds no Analytics
data.
Paid access
If the tool charges for access, its server keeps one small record per Google Analytics
account in Upstash's database: the account id, the plan and when it ends, the Google
account id of whoever bought it, and that buyer's Stripe customer and subscription ids.
It is kept while the plan runs and for 24 months after it ends, then deleted. A lifetime
plan runs as long as its access stands. Deletion sooner can be requested. Anyone whose
Google sign-in can read that account sees its plan and when it ends, and sees whether
it is theirs to manage; the buyer's id is never shown to them.
A free trial of a property adds one record per property tried: the property id, the
month the trial covers, when it was started and when it ends, the Google Analytics
account id it belonged to, and the Google account id of whoever started it. It is kept for
24 months after the trial ends, then deleted; after that the property can be tried again.
It can be deleted sooner on request.
How the tool itself is used
The dashboard loads Google Tag Manager, which sends usage events to
the tool's own Google Analytics, so we can see which parts of the tool are used. No
advertising code runs on this site.
- Consent for analytics and advertising storage is denied from the start, so no
analytics cookie is set and the events reach Google without an identifier for your
browser.
- The events record steps and actions: the sign-in screen opened, sign-in clicked, a
property ticked and the choice confirmed, the loading screen, each part of the data
finishing loading, tabs opened, date ranges, currencies, filters and the dimension
they are on, the footer's buttons, and how far through each guided tour you got.
- They never name a property, an account or a product, and never carry a figure from
your data. A filter is sent with its value only when that value could come from any
shop (Organic Search, mobile, google / cpc); a source, medium or campaign name your
business chose is sent as REDACTED.
- The page holds your Analytics data, so Tag Manager does not run on it. It runs in a
separate, sandboxed frame that cannot read the page, your stored data or the tool's
server, and the page sends it only the usage events listed above. The container is
administered by the operator, who can change which Google tags run in that frame.
Your sign-in
- The page itself never receives a Google token, so none appears in an address,
in your browser history or in the page. Google gives the tool's server a long-lived
refresh token instead. The server encrypts it and keeps it in a cookie in this
browser that the page's scripts cannot read. The tool's server keeps no copy.
- The sign-in lasts until you click Sign out or Delete local data,
or until 12 hours pass without the tool being opened, and never longer than
7 days.
- Sign out revokes the token with Google, and the tool
tells you if Google did not confirm it. Delete local data revokes it too. Both ask you to confirm first. A sign-in that
simply runs out is not revoked: its cookie expires and can no longer be used, but
the access stays listed in your Google Account until you remove it there.
- If you remove the access at myaccount.google.com, or sign out of this tool in
another tab, the sign-in here ends the next time the page is opened, or within an
hour on a page that is already open.
- Revoking ends this tool's access to your Analytics data. You can review or remove
the access at any time at
myaccount.google.com/connections.
Google API Limited Use
Revenue Driver Tree's use and transfer of information received from Google APIs
will adhere to the
Google API
Services User Data Policy, including the Limited Use requirements.
Contact
Revenue Driver Tree is run by Simon Mortensen, sole proprietor, Simrishamnsgatan 12A,
214 23 Malmö, Sweden. For privacy questions, write to
revenuedrivertree@gmail.com. Your rights,
including those under US state privacy laws, are in the full
privacy policy.
Last updated 18 October 2026.