clycyoClycyo

Privacy-first analytics from first click to revenue. The mint dot on the globe is you, right now.

Live on clycyo.com
Loading real visits
0
Pageviews, last 30 days
0
Visitors, last 30 days
0
Countries, last 30 days
0
Online in the last 5 minutes

Measured by Clycyo on clycyo.com, and public by design.

Works with the stack you already run

Next.jsReactVue.jsSvelteAstroNuxtRemixShopifyWordPressWebflowStripeSupabaseVercelCloudflareNext.jsReactVue.jsSvelteAstroNuxtRemixShopifyWordPressWebflowStripeSupabaseVercelCloudflare

From zero to first event in 30 seconds.

Add the script
One tag in your head. Route changes, load time, clicks, Web Vitals and JavaScript errors are captured on their own.
Identify the user
On signup, call identify(email). Everything the visitor did before that moment joins one journey.
Track revenue
Call track("subscription_paid") from your payment webhook. The acquisition source is already attached.
Read the docs
<!-- Add to your <head>. -->
<script
  defer
  src="https://clycyo.com/tracker.js"
  data-tracking-id="YOUR_TRACKING_ID"
></script>

Built for how engineering teams ship.

Pageviews, referrers, UTM, clicks and route changes are captured without configuration.

  • Real page-load time on every visit, from navigationStart to loadEventEnd
  • About 5 KB gzipped, deferred, sent with sendBeacon
  • Device, browser, OS, country, region and city added on the server
<script
  defer
  src="https://clycyo.com/tracker.js"
  data-tracking-id="YOUR_TRACKING_ID"
></script>

Reports the board reads. Reports marketing acts on.

The figures below are example data. The real ones come from the same Postgres that powers the live dashboard.

For the board

Revenue, attributed to the channel that delivered it

Each payment is joined to the UTM source, medium and campaign saved on the visitor's first pageview.

Newsletter€4,84012 paying
Organic search€2,3107 paying
Direct€1,1604 paying
Hacker News€5902 paying
For marketing

Newsletter subscribers, per campaign, per day

Tagged links plus identify(email, { source }) put every confirmed subscriber on one visitor record.

apr_launch142 subsCTR 6.8%
mar_drip_288 subsCTR 5.1%
mar_drip_164 subsCTR 4.4%
feb_intro41 subsCTR 3.7%
For engineering

Page-load time, per page, per visit

Initial loads and SPA route changes are timed, so you can see which slow page cost you a conversion.

/pricing720 msp75 1.10 s
/510 msp75 0.78 s
/why-clycyo640 msp75 0.92 s
/compare590 msp75 0.86 s
For everyone

A live read-only dashboard you can share

The same interface as the private dashboard, fed by an aggregate-only public endpoint. No login wall.

Pageviews30 dayslive
Visitors30 dayslive
Load timeavg and p75live
Online now5 minuteslive

Privacy. Revenue. Free tier. DX.

Every analytics tool picks two or three. We aimed for all four, and we publish the receipts.

ToolPrivacyRevenue attributionFree foreverDeveloper experience
ClycyoYesYesYesYes
DataFastNoYesNoPartly
PlausibleYesPartlyNoPartly
FathomYesPartlyNoPartly
Google AnalyticsNoYesYesNo
PostHogPartlyPartlyYesYes

Free for small projects. Fair as you grow.

No per-seat fees, no sampling, no surprise bills.

Free
$0forever
  • 10,000 events a month
  • 1 site
  • 6-month retention
  • Community support
Start for free
Pro
Most popular
$19a month
  • 100k events, then $9 per 100k
  • Unlimited sites
  • Unlimited retention
  • Revenue attribution
  • Email support
Start for free
Team
$99a month
  • 1M events
  • 5 seats
  • Google SSO
  • Audit log
  • Slack support
Start for free

Frequently asked questions

Pageviews are events. Custom track() calls are events. Identify calls and heartbeats do not count toward your event quota.

Today, on a single Postgres database in the EU. Choosing EU or US data residency when you create a site is on the public roadmap, see the changelog.

No. The tracker uses a localStorage visitor ID and a sessionStorage session ID. There are no third-party cookies and no cross-site identifiers. Add a region-aware consent gate if your jurisdiction asks for one.

JSON and CSV export, and team accounts, are the next items on the public roadmap. Until they ship, we export your events on request.

Call window.webanalytics.track() with a revenue event whenever a customer pays: from a Stripe webhook, a Polar webhook or an in-app upgrade. UTM and referrer are saved on the first pageview, so the join happens through visitor_id.

Add UTM parameters to every newsletter link and call identify(email) the moment a reader converts. Both signals land on the same visitor record.

Yes. The /open page is a public, read-only view of the live clycyo.com analytics. No account required.

Data export, team accounts and per-person permission scopes. Status is public at /changelog, including when we run late.

Ship analytics in the next 60 seconds.

10,000 events a month, free forever. No credit card, no cookie banner.