Skip to main content

Costs and billing

How eChat is paid for

There are two separate costs, and they go to two different places.

The extension. A one-off Mirasvit license, the same as any other Mirasvit extension.

The AI usage. Paid by you, directly to your AI provider, from your own API key. eChat does not resell model access, has no plans, no seats, no credit bundle, and no per-conversation fee of its own. You add your OpenAI, Anthropic, Google, or xAI key in the backend under Settings > AI Providers, and every answer your customers get is billed to that account by that provider.

This means your bill is pure usage. A quiet month costs almost nothing. A month with a campaign behind it costs proportionally more, and there is no plan limit to hit in the middle of it.

What a conversation actually costs

The figures below come from production data across dozens of live Magento stores, published in AI chatbot in production: what the data shows. The dataset is 3,766 conversations over three months, of which 2,432 were substantive.

A typical conversation - usually three to five question-answer pairs - has a median cost of $0.028.

At that rate:

What you serveProvider spend at the median
1 conversationabout 3 cents
100 conversationsabout $3
1,000 conversationsabout $28

Put differently, a dollar of provider credit answers roughly 35 customers.

Putting a number on a month

Take the published volume as an example: 3,766 conversations in three months is roughly 1,255 a month, which works out to about $35 a month of provider spend at the median.

Treat that as an order of magnitude rather than a forecast. Your own figure depends on your traffic, your catalog size, and the model you selected, and the median is not the mean - see below. The point of the arithmetic is the scale: for a store of that size this is tens of dollars a month, not hundreds.

What makes one conversation cost more than another

Cost is driven by how much information the assistant has to analyze to answer, not by how long the conversation looks. A question the knowledge base covers well is answered in a couple of model calls. A question it does not cover sends the assistant searching, and one customer request can turn into dozens of calls before it gives up - in the published data the worst single conversation reached 63 model calls off 16 messages, and cost a few dollars on its own.

Those cases are rare, but they are the whole reason the average sits above the median, and they are preventable rather than inherent: they mean the answer was not in the knowledge base. Two settings deal with them directly, and both are covered below - sync complete content, and let a Guidance rule end an unresolvable case with a ticket instead of more searching. History makes them easy to find: filter on Tokens at least and read the transcripts.

Where to see your own numbers

You do not have to estimate. eChat reports usage in two places:

  • Dashboard > Tokens used (14 days) - total tokens per day, broken down per provider. This is your spend curve. See Dashboard.
  • History - a Tokens column per conversation, plus Tokens at least / at most filters. Filter for the expensive tail and read those transcripts. See History.

Your provider's own console holds the authoritative invoice; eChat's numbers are for attribution and diagnosis.

Keeping the cost down

Sync a complete knowledge base. This is the single biggest lever. Expensive conversations are almost always conversations where the answer was not in the knowledge base, so the assistant kept looking. In the published data around 90% of knowledge base content came from the product catalog and around 10% from CMS pages and manually added content - and the manual 10% is what covers policies, shipping, and returns, the questions a catalog cannot answer.

Choose the model deliberately. Each provider's recommended model is the vetted floor and the default. The stronger models cost meaningfully more per token; opt up only if you can see in History that answers are falling short.

End the loops with Guidance. A case that cannot be resolved from content should end in an escalation, not in more searching. A Guidance rule that says so converts a $6.89 conversation into a ticket.

Do not load the widget where it cannot help. The Do not load the widget on pages setting keeps the widget off pages like the checkout flow, where no widget script is injected and no request reaches eChat at all. See General Settings.

Hide the chat while the knowledge base is empty. The Widget tab's Hide the chat until the knowledge base has content switch prevents paying for answers the assistant has no basis to give. See Settings.

Set the ceiling on the provider side. Because the key is yours, the hard limit is yours to set. Provider consoles support spend limits, budget alerts, and auto-recharge. Configure a monthly cap there if you want a guaranteed maximum, and keep a second provider lower in the fallback chain so hitting a cap degrades to the fallback instead of taking the chat offline.

Watching for a stopped assistant

Because usage is billed to your provider account, an empty account stops the assistant. Turn on Email me when the AI chat stops working on the AI Assistant tab so you hear about it from eChat rather than from a customer. The relevant provider status is INSUFFICIENT_QUOTA - see AI Providers and Troubleshooting.