Guide · 11 min read ·
How to design a free tier that real users love and farmers ignore
A practical guide to shaping free credits, limits and onboarding so honest users get value while repeat-account farmers get nothing worth the effort.
Why the free tier is the attack surface
Every free tier is a promise: sign up and you get something of value for nothing. For a classic SaaS product, that value is access to features. For an AI product, it is something much more concrete: tokens, image generations, GPU minutes or API calls that you pay for with real money the moment they are used.
That difference changes the economics completely. When a free account costs you a fraction of a cent in hosting, a few hundred fake accounts are an annoyance. When each free account can burn a few dollars of model usage, a few hundred fake accounts are a line item in your monthly bill, and a few thousand can be larger than your marketing budget.
Farmers understand this better than most founders. They are not trying to break your product. They are simply following the incentive you created: if one account gives ten dollars of compute, ten accounts give a hundred. The rest of this guide is about changing that incentive without punishing the people you built the free tier for.
Principle 1: Make the first experience valuable, but small
The biggest mistake is giving the full free allowance the second an account exists. Instead, split it. Give a small amount immediately so a new user can feel the product, and unlock the rest after a signal that a real person is behind the account: a verified email, a completed project, a second session on another day, or a connected payment method.
Honest users rarely notice this. They try the product, like it, come back, and the extra credits appear when they actually need them. Farmers notice immediately, because their whole operation depends on the full allowance being available within seconds of signup. Staggering the credits cuts the value of each farmed account without making the product feel stingy.
A useful rule of thumb: the instant allowance should be enough to complete one meaningful task, not enough to resell or to run a batch job.
Principle 2: Tie credits to a person, not to an email address
Email addresses are the cheapest identity on the internet. Gmail ignores dots and anything after a plus sign, so one inbox can register as dozens of different addresses. Disposable email services generate new addresses on demand. Numbered series such as name01, name02, name03 are trivial to script.
If your free tier is granted per email address, you are effectively granting it per keystroke. Instead, think of the free allowance as belonging to a person, and use several signals together to estimate whether a new signup is a person you have already seen: the device and browser, the network, the mailbox after normalising dots and plus tags, and the timing of the signup.
None of these signals is perfect alone. A family can share a laptop. A whole office can share an IP address. That is exactly why decisions should combine signals and show which ones fired, rather than blocking on any single match.
Principle 3: Put friction where farmers feel it, not where users do
Classic anti-abuse advice is to add a CAPTCHA to signup. That adds friction for every honest user and is routinely solved by paid solving services. A better approach is invisible friction that costs scripts more than people: a small proof-of-work computed in the background, checks for headless browsers, and timing checks that notice when a form was filled faster than a human can read it.
When a signup looks risky, you still do not have to block it. You can hold the free credits for review, ask for one extra verification step, or grant only the small instant allowance. Each of these is barely noticeable to a real person and very expensive for someone trying to create a hundred accounts.
Principle 4: Explain every decision
False positives are the silent killer of anti-abuse projects. If an honest developer is blocked and nobody can say why, they leave, and they tell others. If your support team cannot explain a decision, they will eventually ask you to switch the protection off.
Every block or review decision should come with plain-language reasons: this device created three accounts in the last 30 days, this address is the same mailbox as an existing account, this signup finished in four seconds. Reasons let support override mistakes quickly, and they let you tune rules based on what actually happened instead of guessing.
Principle 5: Measure the free tier like a product
Track how much each free user costs you, what share of free users ever convert, and how many free accounts are linked to an existing person. Without those numbers, you cannot tell whether your free tier is a growth engine or a subsidy for farmers.
A simple starting point: export the emails of your last few thousand signups and group them by mailbox, numbered series and disposable domain. Even without device data, this usually shows whether repeat accounts are a rounding error or a real cost. Unfarm's Batch audit does exactly this and puts a dollar estimate next to the result using your own cost per free user.
A sample free-tier policy
Instant: a small credit allowance on signup, enough for one real task. After email verification: the rest of the standard allowance. After a second session on a different day or a completed project: a small bonus. Risky signups: small allowance only, rest held for review. Confirmed repeat account: no new free credits, with an option to upgrade.
This policy keeps the welcome experience generous, protects the bulk of your spend, and gives you a clear, explainable path for every edge case. Adjust the numbers to your own margins, then revisit them once you have a month of data.
See how much farming costs you
Upload past signup emails and Unfarm groups the repeat accounts with a clear reason for each.
Try Unfarm