Skip to main content

Welcome to Grain Analytics

Grain Analytics gives you a complete picture of how users interact with your site — heatmaps, scroll depth, click tracking, rage clicks, dead clicks, session recordings, and custom events — all privacy-first and cookieless by default. One script tag and you’re live. No cookies, no consent banners, no complex setup.
New to Grain? Head to grainql.com to create your account and grab your tenant ID from the dashboard.

What Can You Do with Grain?

Understand User Behavior

See exactly how people use your site. Grain automatically tracks page views, clicks, scroll depth, rage clicks, dead clicks, and attention quality — without writing a single line of tracking code.

Visualize with Heatmaps

Click heatmaps and scroll depth maps show you where users engage and where they drop off. DOM snapshots power pixel-accurate overlays in your dashboard.

Stay Privacy-First

Cookieless by default with daily rotating IDs. No cookies or persistent tracking until your users grant consent. GDPR-friendly out of the box.

Own Your Data

No vendor lock-in. Export your data anytime, query it however you want, and keep full control.

Choose Your Path

Pick what fits your situation best:

I'm a Developer

Working with JavaScript, React, or Next.js

I Don't Code

Using tools like GTM, Shopify, or WordPress

For Developers

Jump into the platform you’re using:

Grain Tag (Script)

The primary way to install — no build step required

React

Hooks-based integration for React apps

Next.js

App Router and Pages Router examples

Vanilla JavaScript

Works with any framework (Vue, Svelte, etc.)

Node.js / Backend

Track server-side events and API calls

TypeScript

Full type safety and autocomplete

What You’ll Get

  • Automatic tracking — Page views, heatmaps, scroll depth, clicks, rage clicks, dead clicks, and attention quality out of the box
  • Privacy-first — Cookieless by default with daily rotating IDs, no cookies until consent
  • TypeScript first — Full type safety out of the box
  • Smart batching — Automatic event queuing with Beacon API fallback for page unload
Not sure where to start? Try the Grain Tag (Script) for any site, or React Quick Start if you’re using React.

No-Code Integrations

Set up tracking without touching your codebase:

Google Tag Manager

Add via GTM in under 10 minutes

Shopify

Track your entire customer journey

WordPress

Install with a simple plugin or theme edit
These guides are written for non-technical users. No coding experience required.

Quick Example

Add a single script tag and Grain starts tracking automatically:
<script src="https://tag.grainql.com/v4/your-tenant-id.js"></script>
<script>
  // Already tracking page views, clicks, and scroll depth automatically.

  // Track custom events
  GrainTag.track('signup_clicked', { location: 'hero' });

  // Identify users after login
  GrainTag.identify('user-123');
</script>
Or install via npm for apps with a build step:
import { init, track, identify } from '@grainql/tag';

// Initialize once
init({ tenantId: 'your-tenant-id' });

// Track events — works even before init() completes
track('signup_clicked', { location: 'hero' });

// Identify users
identify('user-123');

What’s Next?

Learn Core Concepts

Understand how tracking and remote configuration work:

Event Tracking

How events are batched, sent, and retried

Remote Configuration

Cache-first config with instant loading

User Identification

Track users across sessions and devices

Authentication

Secure your analytics with Auth0 or custom JWT

Explore the Dashboard

See what Grain can show you:

Trackers

Track clicks on specific elements without code

Tracks & Funnels

Analyze complete user journeys

Heatmaps

Visualize clicks and scroll depth

Mission Control

Set goals and track progress

Browse Guides & API

E-commerce Tracking

Track purchases, carts, and product views

A/B Testing

Test features and measure impact

Core API

All SDK methods and options

Query API

Query your analytics data programmatically

Need Help?

Troubleshooting

Common issues and solutions

Dashboard

View your analytics and manage configs

Live Chat

Chat with our team (bottom right corner)