0 cookies0 requests to our api before a clickunlimited teammatesreply from slack, discord or our phone app

/blog / stories

why we charge per site, not per seat

· by seba · 6 min read

A row of six chairs on a pink grid, five crossed out in red, the green Spookat ghost cat sitting on the last one, under a label reading 1 site.

Spookat charges per site. One price per domain, the whole team answers for free, chats are unlimited on paid plans, and every extra site you pay for through Spookat is 30% off, once one of your sites pays full price. This post covers the pricing models we threw out, why a site ended up as the unit, how it works when you have many sites, and what this model costs us.

the models we threw out

Before we picked anything, we wrote down every way chat tools usually charge and asked one question of each. What does this model make the customer do less of?

per seat

You pay for every person who can answer. So you let fewer people answer. The person who actually knows how the refund works stays out of the tool, because adding them means a bigger plan. Answers get slower, and the company is paying to make them slower.

It also produces the famous shared login. One “support@” account, five people, one password in a sticky note. Everybody has seen it. Nobody likes it.

We live in Slack. When a question lands there, whoever knows the answer should reply, whether that’s the founder, the developer who wrote the feature or the intern. Charging for each of them would fight the whole idea of the product.

per resolution

Some tools charge each time their AI closes a conversation. The better the bot works, the bigger the bill. That’s a strange incentive for everyone involved, and it only makes sense if the tool runs the AI.

We don’t. On cool guy you plug in your own agent through webhooks, a reply API or MCP, and your model bills you at its own price. We have nothing to count per answer, so we don’t.

per chat or per message

This one punishes traffic. A good month, a launch or a mention in a newsletter all make the bill jump. You start hesitating before you put the chat on the pricing page, which is exactly where people have questions.

We didn’t want your best day to become a problem. Chats are unlimited on every paid plan, and a per-site flood brake slows down bursts that look like bots. Visitors who are actually talking don’t notice it.

per contact or per monthly visitor

This one charges you for your audience growing. You get punished for the marketing working. It also means the tool has to count your visitors, and counting visitors means tracking them. We never store an IP address and the launcher makes 0 requests to our API before a click, so we don’t even know how many visitors a site has. We didn’t spend long on it.

why a site

A site is the thing you install Spookat on. One snippet, one domain. Its subdomains ride along, so app.yoursite.com and yoursite.com count as one site.

A site is also the unit where the value is. It’s one product or one business with its own visitors, its own questions and its own sales. The math on /why is simple. One visitor asks, gets an answer and buys, and the month is paid for. That math works per site. It doesn’t work per seat.

It matches our costs, roughly. A teammate costs us a row in a table. A site costs more: its own launcher file on our CDN with its look baked in, its own Slack or Discord connection, its own history kept for 30, 90 or 365 days depending on the plan.

And it’s predictable on both sides. A busy month costs you the same as a quiet one. We know what a site pays us, whatever happens on it.

what “the whole team” means

Free teammates only matter if adding them is actually easy, so we made it boring.

Anyone in the Slack or Discord channel can answer. They don’t need a Spookat account, a seat or an invite. They reply in the thread and the visitor sees their first name, or their Discord nickname. /spookat me lets each of them change the name visitors see, or answer as the site instead.

The dashboard has its own members for the people who want the inbox, the settings or the bill. There’s one owner, who pays. Admins handle setup and members. Members work the inbox. There’s no limit on any of them, and adding the fifth person costs the same as adding the first, which is nothing.

That’s the test we used for “no seat tax”. If a company would think twice before letting one more person help, we priced it wrong.

many sites, one account

Once “per site” was settled, the next question came fast. What about people with many sites? Freelancers, agencies, the founder with six half-finished projects.

A bundle would force someone with three sites onto the top plan just to get a better price, and it would make “premium” mean “more sites” instead of “better”. So every plan is one site, and once one site on your account pays full price through Spookat, every other site you pay for through Spookat is 30% off, on every plan, for as long as it’s paid. It’s added at checkout by itself. No partner form, no code to type, no sales call. Whichever site starts paying second gets it at its own checkout, trial or not. Bought two at full price at the same moment? The newer one gets the discount from its next bill. Sites billed through the Shopify or Wix app are billed by them: no discount there, and they don’t count as your first.

The /pricing page has a calculator for this. Pick how many sites you want on each plan and it shows the whole bill. It counts your priciest site as the full-price one, so the number it shows is the most you’d pay. In real life the full-price site is whichever paid first, so your bill can only come out lower.

vc money is a real premium plan for one site: 365 days of history, the chat served from your own domain, your own CSS on the widget, chats routed to different Slack or Discord channels by language, page or country, and support that answers you first. Live translation, where the visitor and your team each read their own language, is built and coming soon.

what per site costs us

There are downsides, and here they are.

A team of forty pays what a solo founder pays. Seat pricing would earn us a lot more from big teams. We’re fine with that. Big teams with a support department aren’t who we built this for, and the ones who show up anyway get a good deal.

Unlimited chats means a busy site costs us more than a quiet one, and both pay the same. We can afford that because the server is cheap to run, and our load test shows how much room it has: 1000 visitor messages a second on one core.

A site with lots of subdomains still counts as one. Someone will run five products under one domain to save money. Good for them.

the numbers

Per site, per month, in your currency at checkout: broke af $4.99, cool guy $14.99, vc money $49.99. Yearly billing gives you two months free. Every extra site you pay for through Spookat is 30% off. There’s a 14-day trial with no card, and early access prices stay yours forever.

vc money has no deadline at all: its early price is its regular price. That gets its own post before launch.

Count your sites on /pricing.

liked it? get on the list.

invites go out in small batches. when yours lands: 14 days free, no card.