Clicktag cohort analysis
Cohort analysis for websites: weekly retention, free
Clicktag is a free web analytics tool that runs weekly cohort analysis for up to 12 follow-up weeks with one 4 KB script. You get new vs returning visitor counts and retention curves with no cookies, no local storage and no credit card.
Cohort analysis groups your visitors by the week they first arrived on your website, then tracks how many of them come back in each following week. Instead of lumping all traffic into a single returning visitor total, a retention cohort table shows whether people who found your site a month ago still visit today. Clicktag measures weekly cohorts and new versus returning browsers for up to 12 follow-up weeks, for free and without setting cookies.
What are a cohort table and a retention curve?
A retention cohort is a group of browsers that visited your site for the first time during the same calendar week. In Clicktag, cohort weeks start on Monday. Week 0 is the week of that first visit, Week 1 is the next Monday-to-Sunday window, and so on through Week 12.
A cohort table puts those weekly groups into rows. Each column shows how many browsers from that starting group returned during a specific follow-up week.
Below is a hypothetical cohort table covering 4 weeks of first visits and 3 follow-up weeks:
| Cohort (first visit week) | Week 0 (new browsers) | Week 1 | Week 2 | Week 3 |
|---|---|---|---|---|
| Sep 7 (hypothetical) | 1,000 | 220 (22.0%) | 150 (15.0%) | 110 (11.0%) |
| Sep 14 (hypothetical) | 1,200 | 240 (20.0%) | 168 (14.0%) | 120 (10.0%) |
| Sep 21 (hypothetical) | 800 | 200 (25.0%) | 136 (17.0%) | - |
| Sep 28 (hypothetical) | 900 | 180 (20.0%) | - | - |
A retention curve summarizes the cohort table into one line across follow-up weeks 1 through 12. For each week n that at least one cohort has completed, Clicktag divides the returning browsers by the summed starting size of those completed cohorts. Alongside that overall retained_share, Clicktag plots the best_share and worst_share from single cohorts so you can see the range between your strongest and weakest cohorts.
How Clicktag tracks returning visitors without cookies
Many analytics tools drop a persistent browser cookie or write a unique ID to localStorage to recognize someone who comes back weeks later. Clicktag is cookieless analytics: it never sets cookies, never writes to local storage and never stores IP addresses.
For normal daily traffic reports, Clicktag counts visitors using a daily salted SHA-256 hash. Because the salt is deleted shortly after each UTC day ends, those daily hashes cannot be linked across days.
To measure user retention across weeks without storing a persistent ID on the device or server, Clicktag uses a once-a-day return check through the browser's standard HTTP cache:
- With the first pageview of each page load, the 4 KB
latest.jsscript requests a check-in from Clicktag. - The browser keeps the response in its HTTP cache until the UTC day ends, so the request reaches Clicktag about once a day.
- On a later day, the browser revalidates its cached copy, whose
Last-Modifieddate holds that browser's first and last visit day for your site. That tells Clicktag which Monday cohort week the browser started in, without assigning an individual user ID.
Clicktag measures weekly browser retention up to 12 follow-up weeks using the browser's HTTP cache rather than cookies or local storage.
Multiple tabs, hard reloads and private windows on the same IP address and browser count once per UTC day.
What you get in Clicktag's retention report
You can view retention in the dashboard at clicktag.app, explore the synthetic sample data on the live demo, or fetch the raw numbers in JSON from the Stats API.
The retention report and the GET /api/sites/{hostname}/retention endpoint give you:
- Totals and previous period: total
visitors,newbrowsers andreturningbrowsers for your selected date range, plus the same three numbers for the comparison window right before it. Each browser counts once per range. - Daily new vs returning series: one row per calendar day (
YYYY-MM-DD) showingnewandreturningbrowser check-ins. - Weekly cohorts: one row per Monday-start week of first visits, ordered oldest first. Each row has
size(new browsers that week) and avisitorsarray wherevisitors[0]equalssizeandvisitors[n]is how many returned in weekn, up to 12. - Retention curve: one row per completed follow-up week (1 to 12) with
retained_share,best_share,worst_share, the number of completedcohortsand their summedsize.
You can query a public site's retention report over HTTPS without an API key, or pass a management key with the read scope for a private site:
curl --fail-with-body --silent --show-error --max-time 20 \
'https://clicktag.io/api/sites/demo.bitgate.dev/retention?tz=UTC'
Limits of cache-based cohort analysis
Because Clicktag relies on the browser's HTTP cache instead of cross-device accounts or cookies, its website visitor tracking has specific boundaries you should know before you rely on the numbers:
- Cleared caches: when someone clears their browser's HTTP cache, they count as a new browser on their next visit.
- Private windows on later days: a private or incognito window opened on the same UTC day on the same IP address and browser is deduplicated, but a private window opened on a later day has a fresh cache and counts as a new browser.
- Separate devices and browsers: a person who reads your site on Mobile Safari on Monday and Chrome on macOS on Thursday counts as two separate browsers.
- No dimension filters on retention: while Clicktag's overview and breakdown reports accept up to 12
f=<key>:<value>filters at once, the retention report and API endpoint do not take filters. To compare sources or pages, use funnel analytics or goal tracking, which break conversions down by referrer, entry page and country. - Turning retention off: if you do not want the HTTP cache check to run on your site, add
data-retention="false"to your script tag. Browsers visiting with that attribute set skip the check and are not counted in retention reports.
Who Clicktag cohorts are built for
Clicktag is built for site owners, marketers and developers who want simple web and SaaS analytics on up to 50 websites per account. You drop in one script tag and get weekly browser cohorts, pageviews and traffic sources for free.
Clicktag cohorts are browser cohorts, not user-ID cohorts: they don't follow a signed-in user across devices or filter retention by custom event properties. For those user-level questions, our Mixpanel alternative comparison covers how the two approaches differ.
FAQ
How does Clicktag count returning visitors without cookies?
Clicktag runs a once-a-day return check through the browser's HTTP cache. When a browser loads your site on a later day, the cached check-in tells Clicktag which week that browser first visited, without setting cookies, using local storage or storing IP addresses.
What happens if a visitor clears their cache or uses a private window?
A browser that clears its HTTP cache counts as a new browser on its next visit. Private windows on the same IP address and browser on the same UTC day count once, while a private window opened on a later day counts as a new browser.
How many weeks does Clicktag's cohort analysis cover?
Clicktag tracks weekly cohorts of first visits (with weeks starting on Monday) across up to 12 follow-up weeks. A cohort is included in the retention curve for week n only once that cohort has completed week n.
Can I filter retention cohorts by traffic source or custom event?
No, Clicktag's retention report measures whole-site browser check-ins and does not accept dimension or event filters. If you want to compare conversion performance by traffic source, entry page or country, set up a pageview or custom event goal in Clicktag's Goals report, which supports up to 50 goals per site.
How do I disable the retention check on my website?
Add the data-retention="false" attribute to your Clicktag <script> tag. When data-retention="false" is present, latest.js skips the once-a-day HTTP cache check and those browsers are left out of retention totals and cohorts.
Updated October 30, 2026