How much does DataFast cost at 100K, 1M and 10M events?
As of November 2026, DataFast’s Starter plan costs $19 a month at 100K events, $69 at 1M and $169 at 10M. DataFast’s Growth plan costs $39, $139 and $339. invisit costs $14, $49 and $199 at the same volumes, and is free up to 20K events a month.
DataFast has no free plan. Both products give you a 14-day trial without a card.
The two DataFast plans meter the same events but set different limits. Starter allows one website, one team member and three years of data. Growth allows 30 websites, 30 team members and five or more years, and adds X and Reddit mentions and X link attribution. Every invisit paid plan has every feature, unlimited sites and data kept forever, so the like-for-like comparison is with Growth, and invisit costs less than Growth at every volume.
Against Starter the picture is closer. Between the steps in the price table above:
| Events a month | DataFast Starter | DataFast Growth | invisit |
|---|---|---|---|
| 250K | $49 (500K step) | $99 | $24 |
| 500K | $49 | $99 | $49 (1M step) |
| 2M | $89 | $179 | $99 (3M step) |
| 5M | $129 | $259 | $199 (10M step) |
A SaaS with 300K page views a month pays $49 on DataFast Starter’s 500K step and $49 on invisit’s 1M step. Add a second website and Starter no longer fits: DataFast Growth at 500K costs $99.
DataFast counts pageviews, goals and payments as events, summed across all your sites. invisit bills page views, custom events, conversions and short-link clicks, and never bills bots, crawler reads, web vitals or feedback.
Going over the limit works differently. DataFast’s terms say it keeps recording, emails you at 75%, and locks the dashboard at 100% until you move to a plan that covers the month’s usage. invisit warns at 80%, records the whole first month over, and pauses new events only in a second month over in a row. Yearly billing costs ten months’ price on DataFast and nine on invisit.
How does DataFast attribute revenue to traffic sources?
DataFast ties each payment to the visitor who made it, so it can split revenue, MRR, LTV and churn by channel, campaign, page and country. invisit reads payments, refunds, disputes, fees and net from your payment provider and charts them beside your traffic, with no code in the checkout.
Connecting Stripe, Lemon Squeezy, Polar, Paddle, Shopify or WooCommerce puts revenue on DataFast’s charts. Attribution is a second step, which DataFast’s guide sets up per checkout type:
| Your checkout | What DataFast needs |
|---|---|
| Stripe, Polar, Lemon Squeezy or Paddle checkout | The datafast_visitor_id and datafast_session_id cookies passed as checkout metadata |
| Stripe payment links, Polar checkout links, Lemon Squeezy links | A success URL back to your site carrying the session, checkout or order id |
| Any flow where you know the buyer’s email | window.datafast('payment', { email }) on the success page |
| Shopify or WooCommerce | The store integration, nothing more |
| Dodo Payments or a custom provider | The visitor id in metadata, plus a webhook or a call to DataFast’s Payment API |
Once that works, DataFast builds on it. Funnels show revenue at each step, Google Search Console keywords get revenue estimates, Meta Ads campaigns get ROAS, and a revenue prediction scores live visitors once a site has 1,000 visitors and 10 attributed payments.
invisit connects Stripe, Paddle, Polar, Lemon Squeezy, Creem or Dodo Payments from its revenue settings. Every plan shows revenue totals and charts beside traffic, and paid plans list each charge. If the question you need answered is which channel produced each sale, DataFast is built for it. If you want revenue next to traffic with nothing to wire into checkout, invisit does that.
Does DataFast need a cookie banner?
DataFast’s default script sets first-party cookies, and DataFast’s own GDPR guide says you may need a cookie banner for it, depending on law and setup. invisit sets no cookies and stores no device identifiers, so its analytics need no consent banner by default.
The current script.js sets datafast_visitor_id for a year on your root domain, with first-seen and session-count cookies of the same length and a 30-minute datafast_session_id. That year-long id is what lets DataFast join a visit in March to a purchase in June. DataFast’s terms, which predate its cookieless option, ask customers to show a consent banner before the script collects data.
Since April 2026 DataFast also offers script.cookieless.js, which identifies visitors with a hash of IP address, user agent and domain whose salt rotates about every 24 hours. DataFast states the costs plainly: returning-visitor reports and the User and Journey tabs become unavailable or less reliable, identify does not apply the same way, and revenue attribution over weeks or months is less complete. Its announcement advises keeping the default script if attribution is central to your business.
invisit’s only mode is close to that design. A hash that rotates daily tells visitors apart, raw IP addresses are never stored, and Global Privacy Control and Do Not Track can be honoured with respectGpc and respectDnt. An optional consent mode covers policies that want consent anyway. DataFast’s docs do not mention Global Privacy Control or Do Not Track.
Where does DataFast store analytics data?
DataFast’s data processing agreement says most of its infrastructure is outside the EU, including in the United States. It names AWS, Vercel, Mapbox, OpenAI, MongoDB, Upstash, Tinybird and ClickHouse as subprocessors. invisit stores analytics data in Falkenstein, Germany, on Hetzner, with Cloudflare (a US company) in front for DNS and CDN.
For EU visitors’ data, DataFast relies on its subprocessors’ compliance, including Standard Contractual Clauses where relevant. The agreement is with JustShipIt Pte. Ltd. and governed by Singapore law. invisit’s DPA is published on its site.
Does DataFast track AI crawlers and ChatGPT referrals?
Yes, and so does invisit. DataFast groups visits from ChatGPT, Perplexity, Claude, Gemini and Copilot into an AI channel, and records crawler requests with a server-side package. invisit puts ChatGPT, Claude, Perplexity, Gemini, Copilot and seven more assistants in their own AI tab, and records crawler reads with @invisitdev/server.
The difference is billing. DataFast’s bot traffic includes 100,000 accepted requests per account each billing cycle, then $9 a month per extra million. Reaching the allowance pauses bot ingestion, not web analytics. invisit never bills crawler reads. DataFast’s crawler report also checks requests against published crawler IP ranges and lists reads of robots.txt, llms.txt and sitemaps.
Where DataFast is the better choice
DataFast is the better pick when revenue by source is the point. Revenue per visitor, MRR, LTV and churn by channel, revenue at each funnel step, and a live score of who is likely to buy all come from tying payments to visitors. invisit’s revenue view charts totals, fees and net beside traffic instead.
DataFast also reaches further outside the website. Shopify and WooCommerce stores connect directly. Meta Ads spend turns into ROAS. Google Search Console keywords appear with revenue estimates, an integration invisit does not have. Growth adds X and Reddit mentions on the chart and the exact X posts that sent buyers, and GitHub commits can sit beside traffic too.
There are smaller wins. DataFast imports Plausible history, which invisit cannot do. It has iOS and Android apps for reading the dashboard, a React Native SDK for tracking apps (invisit is web analytics only), weekly email reports, and a CLI for agents. Its script.js is about 5.3 KB gzipped against invisit’s 8.5 KB. And for a single site at 2M to 10M events a month, DataFast Starter costs less than invisit.
Switching from DataFast to invisit
Run invisit next to DataFast for two to four weeks, then cancel DataFast once the numbers line up. Expect visitor counts over multi-day ranges to differ: DataFast’s cookie recognises a returning browser for a year, and invisit’s hash rotates every day.
- Export what you want to keep. DataFast’s DPA says data is available through its API and that it does not provide archive exports or raw event logs, so pull aggregates with the DataFast API or its CLI, for example
datafast --json analytics timeseries --fields visitors,revenue --interval day --from 2024-01-01. After you cancel, DataFast tracks for 30 more days and then deletes the data. invisit cannot import this history. - Install invisit next to the DataFast script. Both can run on the same pages.
- Replace each
window.datafast('goal_name', {...})call withtrack(). DataFast goal names (lowercase letters, digits,_,-and:) are already valid invisit names, and invisit takes up to 32 properties where DataFast stops at 10. invisit redacts email addresses in property values, so dropemailparameters. Replacedata-fast-goalattributes withdata-invisit-event, and their parameters withdata-invisit-prop-*attributes. - Swap
window.datafast('identify', ...)foridentify(user.id). - Connect your payment provider. Keep the
datafast_visitor_idmetadata andpaymentcalls until DataFast is switched off, then remove them. - If you proxied DataFast or used
@datafast/ai-crawl,@invisitdev/servercovers both with its proxy and crawler reads.
// DataFast
window.datafast('initiate_checkout', { plan: 'pro' })
window.datafast('identify', { user_id: user.id, name: user.name })
window.datafast('payment', { email: user.email })
// invisit
import { identify, init, track } from '@invisitdev/web'
init({ site: '<site id>' })
track('initiate_checkout', { plan: 'pro' })
identify(user.id)
// Payments: connect your provider in invisit, no call needed