Skip to content

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DataSpice

🌢️ DataSpice

Cookieless analytics for founders β€” traffic, App Store and Stripe in one workspace

Every visitor, counted once.

Website Start free Docs

Cookieless Consent banner Sampling Sources Setup

X Instagram Facebook Pinterest


DataSpice is cookieless product analytics for founders who ship a website, an iOS app, or both. Three sources in one workspace, and every visitor counted once.

Built and maintained by the team at dataspice.net β€” one bill for the site, the app and the revenue. Not three subscriptions.


πŸ“š Contents

πŸ”Œ The three sources ⚑ Install in five seconds
✨ What you get, in order πŸͺ Why there is no cookie banner
πŸ‘€ How a visitor is counted πŸ€– The AI layer, drawn separately
🌍 The embeddable globe πŸ’³ Pricing
βš–οΈ How DataSpice compares 🚧 What DataSpice does not do
πŸ“¦ What is open source here ❓ FAQ
πŸ”’ Security and privacy 🀝 Contributing

πŸ”Œ The three sources

Each one works independently. Connect one, two, or all three.

Source What it reads Required?
🌐 Website Your own first-party script. No cookies, no consent banner. Optional
🍎 iOS app Apple App Store Connect downloads and proceeds. Optional
πŸ’³ Revenue Stripe or RevenueCat, beside the traffic. Optional

Nothing in the product is degraded or locked by leaving an integration disconnected. If you only have a website, add the web script and ignore the rest.


⚑ Install in five seconds

One script tag in your page <head>. Data appears as soon as the first visitor arrives.

<script
  defer
  src="https://<your-dataspice-host>/tracker/v1.js?site=YOUR_SITE_KEY&domain=example.com"
  data-site="YOUR_SITE_KEY"
  data-storage="none"
></script>

That is it. No consent banner to configure first, no tag manager container to wire up, no data model to define.

Note

Your exact snippet β€” script URL, site key, domain and storage mode β€” is generated for you in the workspace the moment you add a website. Copy it from there rather than hand-editing the placeholder above. Ready-made variants are provided for Shopify, WordPress, Webflow, Next.js and Framer.

πŸ›‘οΈ Running a Content-Security-Policy?

Two directives, both naming the same origin. Allowing only the first is the trap: the file loads and then cannot send anything, which looks exactly like a tracker that is installed and broken.

Directive Why it is needed
script-src Loads the tracker file
connect-src Delivers the events it records

β†’ Full CSP fix, with the exact header


✨ What you get, in order

Capability What it means
πŸ’° Money beside the traffic Stripe recurring, expansion, and App Store proceeds on one axis.
⚑ Traffic in five seconds A first-party script counts people, not tabs. No cookie banner, no sampling.
🧭 Where the traffic came from Referrers, campaigns and AI answers each get their own channel instead of collapsing into direct.
🌍 Which country, right now Every country ranked live, down to the ones with four visitors.
πŸ“„ Which pages did the work Every page ranked by visitors, with entries, exits and time on page.
πŸ€– The AI layer, drawn separately AI reads your verified numbers. Its projection is dashed, separate, and never edits one.

πŸͺ Why there is no cookie banner

DataSpice sets no cookies for analytics, so there is nothing for a consent banner to ask permission for.

That has a consequence people underrate: the tracking script can load on first paint without a consent gate in front of it, which means you are not losing the visitors who would have declined. A cookie-based tool in the EU or UK shows you the subset of people who clicked "Accept". DataSpice shows you everyone.


πŸ‘€ How a visitor is counted

Open your own site in three tabs. DataSpice counts one visitor.

Sessions are resolved server-side rather than per browser tab. Tools that scope a session to the tab, or to a client-side timer, are the reason a founder refreshing their own landing page can appear as a small traffic spike.

And no figure is estimated:

  • ❌ No sampling
  • ❌ No extrapolation
  • ❌ No thresholding

A traffic spike will not be smoothed into an estimate, and a low-volume segment will not be suppressed for being too small to report.


πŸ€– The AI layer, drawn separately

AI reads your verified numbers and explains what moved. What it produces is drawn as a separate dashed series, visually distinct from your measured data.

Important

The insights layer has no path to overwrite a recorded value. A forecast can sit next to a measurement in DataSpice β€” never on top of one.

DataSpice also reports referrals from AI assistants such as ChatGPT and Perplexity as their own acquisition channel, rather than folding them into direct traffic.

One honest caveat that applies to every analytics tool on the market: when an assistant strips the referrer β€” common in desktop and mobile app clients β€” that visit is genuinely unattributable and will still land in direct.


🌍 The embeddable globe

Your live country breakdown, rendered as an interactive globe you can embed on your own site.

It shows where your visitors are coming from in real time, and because it is built on the same cookieless data as the rest of the workspace, embedding it does not add any tracking to the page it sits on.


πŸ’³ Pricing

πŸ“Š Billed on Monthly tracked events, and nothing else
πŸ‘₯ Per seat Never. Team size is an allowance inside each tier
🧾 Subscriptions One bill for the site, the app and the revenue
🎁 Trial 14 days, no payment method to start
πŸ“… Day 15 The card is asked for then β€” so there is nothing to cancel
πŸ“ˆ Overage Moves you to the tier that fits. Collection is not cut off mid-month and data is not silently discarded

Higher tiers give more capacity β€” more websites, more people, longer history β€” rather than more features.

β†’ Current tiers and prices (they come from the billing service, so they are never out of date)


βš–οΈ How DataSpice compares

Every row below was checked against the competitor's own live pages. Rows that could not be confirmed were removed rather than guessed. Where a competitor is better, the table says so.

πŸ“Š vs Google Analytics 4

GA4 is free, enormously capable, and integrated with Google Ads in a way nothing else can match. If you run paid acquisition through Google, GA4 is not optional and DataSpice does not replace it.

Feature 🌢️ DataSpice πŸ“Š Google Analytics 4
Cost Paid, traffic-tiered; 14-day free trial Free for standard GA4
Cookies and consent banner No cookies, no consent banner First-party cookies by default; banner required in EU and UK
Sampling and thresholding None, all figures from recorded events Sampling in explorations above processing thresholds; low-volume rows suppressed
AI-assistant traffic channel Yes Yes, native AI Assistant channel group since May 2026
Stripe revenue Native integration Not native; needs custom events or a connector
Apple App Store Connect Native integration Not supported
Ad platform integration None Far better: native Google Ads audiences and conversions
Team members Allowance per tier Better: unlimited, free
Learning curve Minimal; no data model to define Steep: explorations, custom dimensions, event design

β†’ Full comparison Β· β†’ Google Analytics alternatives

πŸ“ˆ vs Plausible
Feature 🌢️ DataSpice πŸ“ˆ Plausible
Cookieless, no consent banner Yes Yes
No sampling Yes Yes
Cross-tab visitor counting Server-side session resolution Server-side visitor resolution
AI-assistant traffic channel Yes Yes, AI Sources channel group
Pricing basis Monthly tracked events Monthly pageviews
Team members Allowance per tier, whole team on the higher tier Capped by tier: Growth up to 3, Business up to 10
API access None yet Better: Stats API on Business tier and above
Apple App Store Connect Yes No
Stripe revenue Native integration Ecommerce revenue on Business tier; not a Stripe account integration
Open source and self-hosting No Better: open source and self-hostable
Track record New, no public customers yet Better: established, large public customer base
Free trial 14 days, no card Better: 30 days, no card

β†’ Full comparison

🐟 vs Fathom Analytics
Feature 🌢️ DataSpice 🐟 Fathom
Cookieless, no consent banner Yes Yes
Pricing basis Monthly tracked events Average monthly pageviews
Free trial 14 days, no card 7 days
API access None yet Better: every plan
Data export None yet Better: unlimited reports and exports
Apple App Store Connect Native integration Not offered
Stripe revenue Native integration Not offered
Track record New, no public customers yet Better: established with a large public customer base

β†’ Full comparison

πŸ¦” vs PostHog
Feature 🌢️ DataSpice πŸ¦” PostHog
Primary job Acquisition, app and revenue in one workspace Product analytics: behaviour, funnels and experiments
Behavioural analysis (funnels, cohorts, replay) Not offered Better: the core of the product
Feature flags and experiments Not offered Better: included
Event modelling required None; the web script works as installed Yes: events are designed and instrumented
Open source and self-hosting No Better: open source, self-hostable
API access None yet Better: full API
Apple App Store Connect Native integration Not offered
Stripe revenue Native integration Via data warehouse or custom events, not a Stripe account integration
Track record New, no public customers yet Better: established with a large public customer base

β†’ Full comparison

🟠 vs Matomo
Feature 🌢️ DataSpice 🟠 Matomo
Self-hosting No, hosted only Better: self-hostable, open source
Cookieless operation The only mode; no cookies at all Available as a configuration; cookies are the default
Feature depth Deliberately narrow Better: heatmaps, recordings, goals, ecommerce
Reporting API and export None yet Better: full reporting API and exports
Setup and learning curve One script tag, nothing to configure Substantial, especially self-hosted
Apple App Store Connect Native integration Not offered
Stripe revenue Native integration Ecommerce tracking, not a Stripe account integration
Track record New, no public customers yet Better: established with a large public customer base

β†’ Full comparison

βšͺ vs Simple Analytics Β· 🐹 Umami Β· ☁️ Cloudflare Web Analytics

Simple Analytics

Feature 🌢️ DataSpice βšͺ Simple Analytics
Cookieless, no consent banner Yes Yes
Deliberate simplicity Yes Yes
API access and export None yet Better: available on paid plans
Pricing basis Monthly tracked events Monthly pageviews
Apple App Store Connect Native integration Not offered
Stripe revenue Native integration Not offered
Track record New, no public customers yet Better: established with a public customer base

β†’ Full comparison

Umami

Feature 🌢️ DataSpice 🐹 Umami
Cookieless, no consent banner Yes Yes
Cost if self-hosted Not available Better: free, open source
Self-hosting No, hosted only Better: designed for it
Operational burden None; nothing to run Yours: server, database, upgrades, backups
API access None yet Better: API available
Apple App Store Connect Native integration Not offered
Stripe revenue Native integration Not offered

β†’ Full comparison

Cloudflare Web Analytics

Feature 🌢️ DataSpice ☁️ Cloudflare
Cost Paid, traffic-tiered; 14-day free trial Better: free
Cookieless, no consent banner Yes Yes
Setup One script tag Better if already on Cloudflare: a toggle
Core web vitals Not offered Better: included
Revenue reporting Stripe and RevenueCat Not offered
Apple App Store Connect Native integration Not offered
AI-assistant traffic channel Yes, its own acquisition channel Referrer hostnames only, not a named channel
Data retention Per plan Limited

β†’ Full comparison

β†’ All comparisons on dataspice.net


🚧 What DataSpice does not do

The honest list. If one of these is a hard requirement, another tool is the right answer today and this section will tell you which.

Limitation The situation
πŸ“€ No data export, no public API There is no customer-facing API key today. The API authenticates with a session cookie, so it is not callable from your own code. If a portable copy of your numbers is a requirement, Plausible or Fathom meet it and DataSpice does not.
πŸ€– No Google Play integration The store integration is Apple App Store Connect only.
πŸ’³ Stripe or RevenueCat only One per project. RevenueCat is the one that covers mobile subscriptions across both stores. Paddle, Lemon Squeezy, Chargebee and Braintree are not supported.
πŸ”¬ No deep behavioural analysis No funnel exploration, retention cohorts, session replay or feature experiments. If that is the job, a dedicated platform such as PostHog, Mixpanel or Amplitude is the right tool.
πŸ“¦ Not open source, not self-hostable DataSpice is hosted only.
🌱 New No public customer list yet.

DataSpice is the better fit when the question is where customers came from and what they paid.


πŸ“¦ What is open source here

This repository ships @dataspice/campaign-utils β€” three small, dependency-free functions that any analytics setup needs, whether or not it is ours. They are pure: no network, no storage, no globals.

Function Problem it solves
parseCampaign(url) Reads the five utm_* parameters and the click IDs ad platforms append (gclid, fbclid, msclkid, …), and tells you which network the click came from.
classifyReferrer(referrer, host) Turns a raw document.referrer into direct / internal / search / social / referral, with a readable source name.
normalizeUrl(url) Collapses /pricing/, /pricing, ?utm_source=x, #plans and WWW. onto one grouping key, so one page is one row in a report.
import { parseCampaign, classifyReferrer, normalizeUrl } from '@dataspice/campaign-utils';

parseCampaign('https://example.com/?utm_source=Twitter&gclid=abc');
// β†’ { source: 'twitter', medium: null, campaign: null, term: null, content: null,
//     clickIds: { gclid: 'abc' }, platform: 'google', isPaid: true }

classifyReferrer('https://news.ycombinator.com/item?id=1', 'example.com');
// β†’ { type: 'social', source: 'Hacker News', host: 'news.ycombinator.com' }

normalizeUrl('https://WWW.Example.com/pricing/?utm_source=x#plans');
// β†’ 'https://example.com/pricing'

Run the tests β€” 19 of them, no install step, nothing to download:

git clone https://github.com/DataSpiceApp/dataSpice-analytics-for-founders.git
cd dataSpice-analytics-for-founders
npm test

There are runnable examples in packages/campaign-utils/examples/: node packages/campaign-utils/examples/node.js for the server side, and examples/browser.html for the browser.

MIT licensed β€” use them anywhere, including in a competing product.

The hosted DataSpice product is not open source. What lives here is the boring, genuinely reusable part; the ingestion pipeline and dashboards are not in this repository.


❓ FAQ

Does DataSpice need a cookie banner?

No. DataSpice sets no cookies for analytics, so there is nothing for a consent banner to ask permission for. The tracking script can load on first paint without a consent gate in front of it, which also means you are not losing the visitors who would have declined.

If I open my site in three tabs, does DataSpice count three visitors?

No, it counts one. DataSpice resolves sessions server-side rather than per browser tab, so one person with three tabs open is one visitor. Tools that scope a session to the tab or to a client-side timer are the reason a founder refreshing their own landing page can appear as a small traffic spike.

How long does it take to set up?

Web analytics is one script tag in your page head, and data appears as soon as the first visitor arrives. There is no consent banner to configure first, no tag manager container to wire up and no data model to define. Connecting Stripe and App Store Connect is an authorisation step in workspace settings and can be done later or never.

Do I have to connect App Store Connect?

No, it is optional. Apple App Store Connect is one of three data sources and each works independently. If you only have a website, add the web script and ignore the App Store integration entirely. Nothing in the product is degraded or locked by leaving it disconnected.

Can the AI insights change a number I actually measured?

No, and it is not able to. Projections from the AI insights layer are drawn as a separate dashed series, visually distinct from your measured data, and the insights layer has no path to overwrite a recorded value. A forecast can sit next to a measurement in DataSpice, never on top of it.

Does DataSpice sample or estimate my data?

No. Every figure DataSpice reports is computed from recorded events, with no sampling, extrapolation or thresholding. A traffic spike will not be smoothed into an estimate, and a low-volume segment will not be suppressed for being too small to report.

Can I see how much traffic I get from ChatGPT and Perplexity?

Yes. DataSpice reports referrals from AI assistants such as ChatGPT and Perplexity as their own acquisition channel rather than folding them into direct traffic. One honest caveat that applies to every analytics tool: when an assistant strips the referrer, common in desktop and mobile app clients, that visit is genuinely unattributable and will still land in direct.

What happens on day 15 of the free trial?

Day 15 is when DataSpice asks for a card. The trial runs 14 days and needs no payment method to start, so nothing is charged before then and there is no card on file to auto-bill you by surprise. You have the full 14 days with real data in the workspace before any payment decision.

Does DataSpice charge per team member?

No, there is no per-seat charge. Team size is an allowance inside each tier instead: the entry tier is built for one person, and the higher tier includes a whole team at the same event volume. Pricing scales with monthly tracked events, so cost tracks the size of your audience rather than your headcount.

Can I export my data out of DataSpice?

Not yet. There is no data export and no customer-facing API key today. The API authenticates with a session cookie, so it is not something you can call from your own code. If a portable copy of your numbers is a requirement, DataSpice does not meet it right now, and Plausible or Fathom do.

Is DataSpice a replacement for Mixpanel or Amplitude?

Not for deep behavioural analysis. DataSpice is built for founders who want acquisition, app and revenue answered in one place, so if you need funnel exploration, retention cohorts, session replay or feature experiments, a dedicated product analytics platform is the right tool. DataSpice is the better fit when the question is where customers came from and what they paid.

Does DataSpice work with Android, or with billing providers other than Stripe?

Partly. The store integration is Apple App Store Connect only, and there is no Google Play integration. On revenue you have a choice: Stripe or RevenueCat, one per project, and RevenueCat is the one that covers mobile subscriptions across both stores. Paddle, Lemon Squeezy, Chargebee and Braintree are not supported. If your distribution lives elsewhere, the web analytics still works on its own.

β†’ All fourteen questions, answered in full


πŸ”’ Security and privacy

πŸͺ No analytics cookies, and therefore no consent banner
🏠 First-party script, served from the DataSpice origin
πŸ” Provider credentials β€” Apple and Stripe keys β€” are encrypted and stay server-side
🚫 Raw provider payloads are never exposed to the browser
πŸ“„ Security Β· Privacy Β· Terms

Found a security issue? Please report it privately through dataspice.net/security rather than opening a public issue.


πŸ”— Links

🏠 Home dataspice.net
πŸ“– What is DataSpice? dataspice.net/what-is-dataspice
πŸ”Œ Integrations dataspice.net/integrations
πŸ’³ Pricing dataspice.net/pricing
πŸ“š Docs dataspice.net/docs
πŸ“ Changelog dataspice.net/changelog
✍️ Writing dataspice.net/blog
πŸ“” Glossary dataspice.net/glossary
βš–οΈ Compare dataspice.net/compare
❓ FAQ dataspice.net/faq

πŸ‘₯ Built for


🀝 Contributing

Spotted an error in this README, a broken link, or a comparison row that has gone stale because a competitor changed their pricing? Open an issue or a pull request β€” corrections are genuinely welcome.

One rule, and it is the same rule the product runs on: nothing here may be a claim the product cannot support. No invented metric, no invented customer, no competitor weakness that is not real. A search engine forgives a thin page; a false claim does lasting damage.


πŸš€ Paste one script tag. Then reload your own site.

Start free

Card details are asked for on day 15, not day 1.


Cookieless analytics for founders. Your traffic, your app and your revenue, read in one place.

🌐 dataspice.net Β· 𝕏 @DataSpicee Β· πŸ“Έ Instagram Β· πŸ‘ Facebook Β· πŸ“Œ Pinterest

About

🌢️ Cookieless analytics for founders web traffic, Apple App Store Connect and Stripe revenue in one workspace. No cookies, no consent banner, no sampling. Every visitor counted once.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages