The problem

An indie founder spreads effort across X posts, Reddit threads, a Product Hunt launch, a few directories and maybe a small ad test. Traffic tools say which of these sent visitors; the billing dashboard says who paid. Neither says which effort paid off.

One script, five minutes

Paste the script tag, deploy, and the Overview fills in as visitors arrive. Social referrers such as x.com, reddit.com, news.ycombinator.com and producthunt.com are classified as social automatically; AI assistants such as chatgpt.com and perplexity.ai get their own channel.

Revenue by post, launch and directory

Connect your billing provider and ProductLense backfills 12 months of payments. Every payment is traced to the visitor’s first touch, so a Product Hunt launch or a single viral thread shows customers and revenue, not just a traffic spike.

Know when a paid test is worth continuing

On Growth, enter what you spent on a small ad test and ProductLense subtracts it, plus fees and refunds, to show profit and payback. A test that brings ten signups and one refund looks different from one that brings three customers who stay.

Plan that fits
Starter
Billing providers
Stripe, Paddle, Lemon Squeezy, Polar
Read next
Install on Next.js · Connect Stripe · Profit per channel

Indie SaaS: questions

Is ProductLense free for a new indie SaaS?
Yes, up to 10k events a month on one site, which covers most products before launch. The Free plan has no billing connection, so revenue by channel starts on Starter at $19 a month or ₹999 for accounts registered in India, with 100k events and one billing connection.
Can ProductLense show which tweet or Reddit post brought customers?
ProductLense records the referrer and landing page of each visitor’s first visit, so a customer who first arrived from a specific Reddit thread shows under reddit.com with that landing page. For individual tweets, add utm_campaign to the link so each post shows as its own campaign.
Do I need a cookie banner for ProductLense?
ProductLense sets no cookies and no local storage on visitors and stores no IP addresses, so most sites run it without a banner. If you also run ad pixels or a chat widget that set cookies, you may need one for those; check your full setup.
What if I sell through Gumroad or Lemon Squeezy?
Both are supported. Gumroad sales, memberships and fees, and Lemon Squeezy orders, subscriptions and refunds, are backfilled for 12 months and kept in sync by webhook. Lemon Squeezy does not expose its fee through the API, so ProductLense records it as 0 for that provider.
How long until I see revenue by channel?
Traffic appears within a minute of installing the script. ProductLense’s target for connecting Stripe and backfilling 12 months is under two minutes. Attribution needs identify and visits recorded by ProductLense, so revenue from customers who signed up before the script was installed stays unattributed.

Free up to 10k events a month. No card.

Add the script, connect Stripe or any of 14 other billing providers, and see revenue by channel the same day.