# DataFast Charges $39/Month for This. I Made Free & Open-source Alternative.

```yaml
url: "https://forg.to/articles/datafast-charges-39month-for-this-i-made-free-open-source-alternative"
title: "DataFast Charges $39/Month for This. I Made Free & Open-source Alternative."
excerpt: "I just launched Pixelmoth , an open-source analytics tool that shows you which traffic sources actually make you money. You shouldn't have to pay $39/month, or $468/year, just to understand your own traffic. So I built an alternative. Pixelmoth runs…"
author: "Kislay"
author_url: "https://forg.to/@kislay"
published: 2026-10-25
updated: 2026-10-26
read_time_minutes: 8
```

## TL;DR

I just launched Pixelmoth , an open-source analytics tool that shows you which traffic sources actually make you money. You shouldn't have to pay $39/month, or $468/year, just to understand your own traffic. So I built an alternative. Pixelmoth runs…

## Content

I just launched **Pixelmoth**, an open-source analytics tool that shows you which traffic sources actually make you money.

You shouldn't have to pay $39/month, or $468/year, just to understand your own traffic.

So I built an alternative. Pixelmoth runs on Cloudflare's free plan, keeps your data in your own account, and is licensed under MIT.

Here's what it does and how to get started.

## What Is Pixelmoth?

Pixelmoth is a self-hosted web analytics tool built with Cloudflare Workers, D1 (SQLite), and React.

Deploy your own instance, add a tracking script to your website, and see which sources bring visitors who actually pay.

That means going beyond pageviews to answer a more useful question:

**Which tweet, article, search result, newsletter, or AI assistant brought me paying customers?**

## Pixelmoth vs. DataFast

Feature

DataFast

Pixelmoth

Software cost

Around $39/month

Free

Hosting

Included

Cloudflare

Setup

Sign up and go

Around 10 minutes

Data ownership

Hosted platform

Your Cloudflare account

Source code

Closed source

MIT licensed

Per-site fees

Subscription-based

No per-site fees

Support

Managed service

Community and self-service

DataFast is a polished, managed product. You don't need to worry about infrastructure, and that convenience has value.

Pixelmoth is for people who prefer owning their data and avoiding another subscription.

It runs within Cloudflare's free-plan limits, which are sufficient for many side projects. If you outgrow them, Cloudflare Workers Paid starts at $5/month.

## What Can You Track?

Pixelmoth covers the core features you'd expect from a paid analytics tool.

### 1. Traffic and Revenue

Track the metrics that matter:

- Visitors

- Revenue

- Conversion rate

- Revenue per visitor

- Bounce rate

- Session duration

- Real-time visitors

Each metric includes a comparison with the previous period.

### 2. Charts and Date Ranges

View visitors as a line chart and revenue as bars.

Switch between hourly, daily, weekly, and monthly views. Choose preset ranges, including the last 24 hours, 7, 30, or 90 days, the last 12 months, all time, or a custom period.

You can also move between periods without resetting your filters.

### 3. Traffic Sources

Find out where your visitors come from:

- Channels and referrers, including X, Google, ChatGPT, and Reddit

- UTM campaigns

- UTM keywords

- Custom `?ref=` tags

For example, tag a launch post with `?ref=launch-tweet` to measure its performance.

### 4. Visitor Details

Understand your audience by country, region, city, browser, operating system, and device.

### 5. Pages, Clicks, and Funnels

Track:

- Pageviews and entry pages

- Exit pages

- Outbound link clicks

- Button clicks

- Custom goals

- Conversion funnels

For example, build a funnel like this:

`Landing page → Pricing page → Checkout`

You'll be able to see where visitors drop off.

### 6. Customer Journeys

The Journey tab connects traffic to individual payments.

For each customer, you can see their source, payment amount, time to conversion, and visitor timeline.

Follow the path from the first visit to pageviews, clicks, and payment to understand what led to a sale.

### 7. Flexible Filters and Multiple Sites

Click any dashboard row to filter your analytics by that value. You can isolate a campaign, page, country, or other dimension.

You can also manage multiple websites from a single dashboard.

## Revenue Attribution: The Main Feature

Most analytics tools tell you where visitors came from. Pixelmoth helps you connect those visits to actual revenue.

### Built-In Dodo Payments Integration

If you use Dodo Payments, setup is straightforward:

1. Add your Pixelmoth webhook URL in Dodo Payments.

60. Subscribe to `payment.succeeded` and `refund.succeeded`.

127. Add your `whsec_...` signing secret to your site settings.

196. Pass visitor cookies as metadata when creating checkout sessions.

Pixelmoth uses this information to match payments with visitors.

If metadata is missing, it can try alternative matching methods, including payment return URLs, previous payments from the same customer, identified email addresses, and checkout-click timing when there's exactly one eligible visitor.

Refunds are deducted from revenue. The Journey tab also shows how each payment was matched, and you can retry matching older payments.

### Credit the Source That Brought the Customer

Pixelmoth uses last non-direct attribution.

Suppose someone clicks your launch tweet, returns directly 17 days later, and purchases your product. Pixelmoth credits the tweet because it was the customer's last visit from a non-direct source.

This helps you measure the long-term value of your marketing.

### Other Payment Providers

You can also send payment events through the generic API from Stripe, Paddle, Lemon Squeezy, PayPal, or your own billing system.

Example request:

`curl -X POST https://YOUR-HOST/api/v1/payments \
  -H "Authorization: Bearer pm_..." \
  -H "Content-Type: application/json" \
  -d '{"transaction_id":"txn_1","amount":29.99,"currency":"USD","visitor_id":"&lt;pm_vid cookie&gt;","email":"jane@acme.com"}'`The same attribution rules apply.

## How to Set Up Pixelmoth

You need a free Cloudflare account, Node.js 20+, and Git.

### Step 1: Deploy Your Instance

Clone the repository and install dependencies:

`git clone https://github.com/iKislay/pixelmoth.git
cd pixelmoth
npm install
npx wrangler login`Create the database:

`npx wrangler d1 create pixelmoth`Copy the generated `database_id` into `wrangler.jsonc`.

Set your admin password and session secret:

`npx wrangler secret put ADMIN_PASSWORD
npx wrangler secret put SESSION_SECRET`Deploy:

`npm run deploy`Your dashboard will be available at a URL similar to:

`https://pixelmoth.you.workers.dev`

Log in and add your first website. You can also connect a custom domain, such as `analytics.yourdomain.com`.

### Step 2: Install the Tracking Script

Add this snippet to the `&lt;head&gt;` of every page:

`&lt;script
  defer
  data-website-id="SITE_ID"
  src="https://YOUR-PIXELMOTH-HOST/js/script.js"
&gt;&lt;/script&gt;`Replace `SITE_ID` and `YOUR-PIXELMOTH-HOST` with your actual values.

Single-page apps built with Next.js and React Router are supported. Subdomains can share visitor identity through a root-domain cookie.

For Next.js, use the following snippet:

`import Script from 'next/script';

&lt;Script
  defer
  data-website-id="SITE_ID"
  src="https://YOUR-PIXELMOTH-HOST/js/script.js"
  strategy="afterInteractive"
/&gt;`### Step 3: Track Goals and Identify Users

Track button clicks with an HTML attribute:

`&lt;button data-pm-goal="signup_click"&gt;
  Get started
&lt;/button&gt;`Or send a custom goal from JavaScript:

`window.pixelmoth('goal', 'signup', { plan: 'pro' });`Identify logged-in users to help match payments later:

`window.pixelmoth('identify', {
  user_id: '123',
  email: 'jane@acme.com',
  name: 'Jane',
});`### Step 4: Exclude Your Own Traffic

Open the following URL once in each browser you use:

`https://yoursite.com/?pm_ignore=true`

This prevents your own visits from affecting your analytics.

### Step 5: Track Marketing Campaigns

Use Pixelmoth's link builder or add tracking parameters manually:

`https://yoursite.com/?utm_source=x&amp;utm_medium=social&amp;utm_campaign=launch-tweet
https://yoursite.com/?ref=launch-tweet`Click the campaign or referral source in your dashboard to see its results.

### Step 6: Work Around Ad Blockers

Some ad blockers block third-party analytics scripts and endpoints.

You can reduce this problem by proxying the tracking script and event endpoint through your own domain.

For Next.js, add these rewrites:

`async rewrites() {
  return [
    {
      source: '/stats/script.js',
      destination: 'https://YOUR-PIXELMOTH-HOST/js/script.js',
    },
    {
      source: '/stats/event',
      destination: 'https://YOUR-PIXELMOTH-HOST/api/event',
    },
  ];
}`Then load the script through your own domain:

`&lt;script
  defer
  data-website-id="SITE_ID"
  data-api="/stats/event"
  src="/stats/script.js"
&gt;&lt;/script&gt;`The Settings page includes instructions for this setup. It also has a **Copy AI prompt** button that you can use with Claude Code or Cursor to install the integration in your codebase.

## Want to Try It Locally First?

You can run Pixelmoth locally before deploying it:

`cp .dev.vars.example .dev.vars
npm run db:migrate:local
npm run build
npm run dev:api`Open `http://127.0.0.1:8787` and log in using the password configured in `.dev.vars`.

You can also load demo data:

`npm run seed`This generates 30 days of sample traffic so you can explore the dashboard without connecting a real website.

## Limitations to Know

Pixelmoth is not perfect, and no analytics tool is completely accurate.

- **Ad blockers:** Some tracking can still be blocked unless you proxy requests through your own domain.

- **Safari:** JavaScript cookie restrictions can cause returning visitors to appear as new after about seven days.

- **Bots:** User-agent and `navigator.webdriver` checks filter bots, but some may still get through.

- **Self-hosting:** You manage deployment and maintenance yourself. There is no dedicated support team.

- **Cloudflare limits:** The free plan supports roughly 100,000 tracked events per day and around 10,000 pageviews per day written to D1. Larger projects may need a paid plan.

### Privacy

Pixelmoth does not store raw IP addresses. It uses Cloudflare edge headers to determine visitor location and strips sensitive URL parameters, such as emails, tokens, and keys, in the browser before sending events.

## Who Should Use Pixelmoth?

Pixelmoth is built for indie hackers, developers, and small SaaS founders who want to:

- Identify traffic sources that generate revenue

- Avoid another monthly analytics subscription

- Keep control of their data

- Host their own analytics infrastructure

It may not be the right choice if you want a fully managed service with zero setup and dedicated support. In that case, a hosted product such as DataFast may be a better fit.

But if you want to know whether your launch tweet generated $49 in revenue without paying $39 every month for analytics, Pixelmoth is worth a look.

## Try Pixelmoth

**GitHub:** https://github.com/iKislay/pixelmoth

Pixelmoth is free, open source, and MIT licensed. Deploy it, fork it, report issues, or contribute improvements.

**Your money should come from your traffic, not from tracking it.**

## Links

- Article: https://forg.to/articles/datafast-charges-39month-for-this-i-made-free-open-source-alternative
- Author: https://forg.to/@kislay
- Forg: https://forg.to

---
Published on [Forg](https://forg.to), a social network for people who create and ship on the internet.
_HTML version: https://forg.to/articles/datafast-charges-39month-for-this-i-made-free-open-source-alternative_