Skip to content

Analytics

Lightweight, privacy-friendly analytics for your SaaS. Track page views and custom events without cookies. Includes automatic UTM parameter capture, device/browser detection, and country-level geo data.

  1. Add the analytics script to your site or call the API directly
  2. Page views are tracked automatically (including SPA navigation)
  3. View dashboards with top pages, referrers, countries, and devices

Add this script tag to your site for automatic page view tracking:

<script
defer
data-project="pk_your_api_key"
data-api="https://saasmaker-api.sarthakagrawal927.workers.dev"
src="https://unpkg.com/@saas-maker/analytics-sdk/dist/index.global.js"
></script>

The script automatically:

  • Tracks initial page views
  • Handles SPA navigation (pushState / replaceState / popstate)
  • Captures UTM parameters from the URL
  • Respects Do Not Track browser setting
  • Sends screen width, referrer, and user agent

After the script loads, use the global sm function:

// Track a custom event
sm('signup_completed');
// Track with properties
sm('plan_upgraded', { plan: 'pro', value: 49 });

You can also queue events before the script loads:

window.sm = window.sm || { q: [] };
sm.q.push(['button_clicked', { id: 'cta-hero' }]);
POST /v1/analytics/events

Auth: API Key

Terminal window
curl -X POST https://saasmaker-api.sarthakagrawal927.workers.dev/v1/analytics/events \
-H "Content-Type: application/json" \
-H "X-Project-Key: pk_abc123" \
-d '{
"name": "page_view",
"url": "https://myapp.com/pricing",
"referrer": "https://google.com",
"utm_source": "google",
"utm_medium": "cpc",
"screen_width": 1440,
"properties": { "variant": "B" }
}'
FieldTypeRequiredDescription
namestringNoEvent name (defaults to page_view)
urlstringNoPage URL
referrerstringNoReferrer URL
utm_sourcestringNoUTM source
utm_mediumstringNoUTM medium
utm_campaignstringNoUTM campaign
screen_widthnumberNoViewport width
propertiesobjectNoCustom event properties
GET /v1/analytics/overview?project_id=...&period=30d

Auth: Session Token

Returns page views, unique visitors, top page, and top referrer.

Period options: 7d, 30d (default), 90d

GET /v1/analytics/pages?project_id=...&period=30d

Auth: Session Token

GET /v1/analytics/referrers?project_id=...&period=30d

Auth: Session Token

GET /v1/analytics/countries?project_id=...&period=30d

Auth: Session Token

GET /v1/analytics/devices?project_id=...&period=30d

Auth: Session Token

GET /v1/analytics/events?project_id=...&period=30d

Auth: Session Token