Billing: How Does Freshpaint Determine MTUs?

Billing in Freshpaint is determined based on the number of MTUs (monthly tracked users). In other words, the number of users that Freshpaint has data on. More specifically, the number of MTUs is equal to the number of non-identified users plus the number of identified users.


If a non-identified user visits your site on their phone and on their computer that will count as two MTUs since they have a unique id on both their phone and on their computer:

  • 2 MTUs = 2 non-identified users + 0 identified users.

If you later assign a single identity to the user on both devices, Freshpaint will now recognize the two devices as a single user. This will bring your MTU count down to 1:

  • 1 MTU = 0 non-identified users + 1 identified user (that uses two devices).

API Calls

If you're using the Freshpaint HTTP API or sending data to Freshpaint using a cloud Source, the number of API calls you make may be billed separate. We place limits on the number of API calls that are sent for billing purposes.

One API call is an event payload sent to Freshpaint's client-side API, server side API, or sent to Freshpaint via a cloud Source like Mailchimp.

How are API calls billed differently than MTUs?

Calls to our HTTP API are mapped to MTUs for billing purposes. The conversion we use is 250 API Calls = 1 MTU.


If you're using an email Source with Freshpaint, each individual Email Sent, Email Opened, and Email Clicked event counts as 1 API Call. In one month, if your cloud email Source generates:

  • 2.5 million Email Sent events

  • 1.5 million Email Opened events

  • 1 million Email Clicked events

That would be calculated as an additional 20,000 MTUs to your plan for billing purposes.

Bots and MTUs

If you're concerned that MTU count will be inflated by bots visiting your site, don't worry. Bots usually don't run JavaScript which would prevent the Freshpaint SDK from running and therefore not affect MTU count.

However, synthetic bots, which are artificial entities programmed to simulate human-like behavior within an application, will impact your MTUs. This occurs because these bots generate activity within the app, such as clicking on links, scrolling through pages, submitting forms, or engaging in other predefined interactions. If you use synthetic bots, you may want to consider using them in a development environment where Freshpaint isn't initialized.

If you are an enterprise or compliance plan customer, and would like to take extra measures, Freshpaint can run an IP blocklist for you. Contact if you are interested in this option.

MTU Data Discrepancies

You may see a discrepancy between the MTU number you receive from Freshpaint vs your expectation based on a number you see in another tool. Freshpaint MTU numbers may not always align perfectly with destination MTU counts due to differences in tracking methodologies. Read below for some other common reasons you see discrepancies in MTU numbers.

Data Captured by Freshpaint vs. Data Sent Downstream

Freshpaint's Autotrack script collects every user interaction with your app. While you may have enabled certain events to be sent downstream to a destination, there are still many events that are being captured by Freshpaint that are not being sent to your downstream tool. This includes actions that anonymous (non identified) users perform.

Your downstream tool will only record MTUs for users that have been captured by the events you're sending downstream. Freshpaint will capture MTUs generated from all events/interactions, many of which you may not be sending to a downstream too.

Consent managers can prevent certain events from being tracked by destinations while still being captured by Freshpaint.

Ad Blocker Bypass

If you have Freshpaint's ad blocker bypass enabled for your account, Ad blockers will continue to block tracking by other platforms but Freshpaint will not be blocked. This is important if you're comparing Freshpaint numbers with a tool you have installed natively on the client-side, or a destination you have configured in Freshpaint in client-side mode.

Tracking Script Locations

Differences in where tracking scripts are loaded can lead to variations in the number of users tracked between systems. This is particularly important if you're comparing data from something like a native Google Analytics script installed on your app vs. the data generated from Freshpaint. Is Freshpaint installed on all of the same pages of your app as the tool you are using to compare numbers?


If you are using Freshpaint's HTTP API, billing is based on API calls rather than unique users (see above). This difference in calculation can contribute to discrepancies between Freshpaint's reported MTUs and your destination metrics.

Acceptable Data Discrepancy Range

A 15% data discrepancy margin is considered acceptable in these cases. This is within the industry standard for these types of discrepancies, as they may occur naturally due to various factors described above. To streamline our operations and focus on areas that significantly impact our objectives, will not investigate discrepancies falling within this predefined range.

If you have questions about this, contact or speak to your account manager for more details.

Last updated