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.
| π 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 |
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.
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.
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
| 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. |
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.
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.
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.
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.
| π 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)
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
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.
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 testThere 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.
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
| πͺ | 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.
| π 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 |
- π§βπ» Indie SaaS founders
- π iOS developers
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.
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