Skip to main content

How we measure

The purpose of this page is to explain how we process the data we collected. We want to be transparent on our data collection and reporting procedures.


Count of unique users is an important metric for any website.

Tools like Google Analytics use cookies to identify a user. The problem with this approach is that you need to get consent from your users to be compliant with GDPR and ePrivacy regulations. Of course, you don't want to show that annoying cookie popup every time someone lands on your website.

GingerTag track users without cookies. We use certain parameters from the data we collect to uniquely identify a user. We take a hash of the User Agent + Project Id + IP Address + a random salt. This hash is considered as the unique id of the user. The salt is refreshed periodically so the same user is not tracked across days.

We need to draw a fine line between the privacy of end users and accuracy of the reporting. The hashing approach with salting, give decent accuracy on the reports and also respect end-user privacy. Cookies can be arguably more accurate, but it is important to note that many users block cookies through browser extensions, and also you need to get a consent.

Key Takeaways:

  • If a user visits your website twice a day from the same device and browser, they are identified correctly as the same user.
  • If the user visited from a different browser or device for the second time, it is considered as a new users (so is with cookies approach).
  • If the user return to your website with the same device and browser after 2 or more days, it is considered as a new user.
  • If two different users in same household (same IP) uses exactly same device and browser to visit your website, they will be incorrectly considered as the same user.

User Right Now#

This is the count of users who has at-least send an event in the last 2 minutes.


A session is a collection of a user's interaction in your website for a continuous period of time. A session starts when a user arrives at your website and ends when they are inactive for more than 30 minutes.

Metrics like traffic source, country, platform, etc. are captured when a session starts and is used for all events happening in that session.

Bounce Rate#

A session is considered as bounce if:

  • the user did not do anything apart from visiting one page in your website.
  • and the user spend less than 1 minute on that page.

i.e. if a user followed a link to your website, had a quick look, closed the tab and didn't come back in the next 30 minutes (thus ending the session), it is considered a bounce session.

Bounce rate is the percentage of sessions that ended up as a bounce. Lower bounce rate means people are finding your website interesting and is interacting with it.

Page Duration#

We measure time spend by user on a page through a series of browser events. We start a counter when users land on a page, pause it when they switch to another tab or another app, resumes when they come back. Counter is stopped and the duration is collected if they user navigate to another page or close the browser.

This way we are measuring the actual time user spend viewing your page and not how long one kept the tab open. This also improve the accuracy of your Bounce Rate.

Note that this is implemented in a lightweight manner and wont add any significant impact to your websites loading time.

Country and State#

We identify and store the country and state from the anonymized IP address of the user. We get this info using Maxmind GeoIP2 Database which we have downloaded to our servers.

Other Metrics#

Metrics like Source, Pages, Countries, Operating System, Device Types, Browsers are counted against the unique users.

Example: If you see 100 against Brave Browser in the Browser tab of Platforms section, it means 100 unique users visited your website using Brave Browser in the selected period of time.