Skip to content

scobb/beam.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

██████  ███████  █████  ███    ███
██   ██ ██      ██   ██ ████  ████
██████  █████   ███████ ██ ████ ██
██   ██ ██      ██   ██ ██  ██  ██
██████  ███████ ██   ██ ██      ██

beam-analytics

npm version npm downloads License: MIT Powered by Beam

Privacy-first, cookie-free web analytics tracking script for Beam by Keylight Digital LLC.

Live Demo

Beam live demo dashboard preview

Why This Script

  • Tiny payload: beam.js is currently 1592 bytes raw in this repo
  • No cookies, no localStorage, no fingerprinting
  • GDPR-friendly event and pageview tracking
  • Works with static sites, SPAs, and server frameworks

Script Size Comparison

Measured as uncompressed response size (bytes) on 2026-04-03.

Tool Script Size
Beam (beam.js) 1,592 B
Plausible (/js/script.js) 3,005 B
Fathom (/script.js) 6,905 B
Umami Cloud (/script.js) 4,584 B

Installation

Option 1: Script Tag (recommended)

<script defer src="https://beam-privacy.com/js/beam.js" data-site-id="YOUR_SITE_ID"></script>

Option 2: npm

npm install beam-analytics
<!-- Serve beam.js from node_modules or your copied public asset path -->
<script defer src="/vendor/beam.js" data-site-id="YOUR_SITE_ID"></script>

The npm package provides the script file (beam.js) and type declarations (index.d.ts).

Technical Article

Building privacy-first web analytics on Cloudflare Workers and D1

An in-depth look at how Beam works under the hood: the Cloudflare Workers + D1 architecture, the cookie-free daily hashing approach for unique visitor counting, and the sub-2KB tracking script design. Also available on Beam's blog and Dev.to (paste from devto-article.md).

Install Examples

GitHub-indexable install examples:

Canonical Beam guides:

Quick Start

  1. Create a site in the Beam dashboard and copy your site_id.
  2. Add the script tag to your site.
  3. Open your site once to generate a pageview.
  4. Check analytics in your dashboard.

Custom Event Tracking

window.beam.track('purchase', { product: 'Pro Plan', value: 5 })
window.beam.track('newsletter_signup')

TypeScript Support

This package ships with index.d.ts.

window.beam.track('upgrade', { from: 'free', to: 'pro' })

Documentation

Contributing

Contributions are welcome. Before opening a PR:

License

MIT

About

Privacy-first, cookie-free web analytics script for Beam (GDPR-friendly, lightweight <2KB, no cookies)

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors