Fivetran’s pricing model involves three basic principles:
Pricing is usage-based. You are charged based on what you use each month.
You only pay for Monthly Active Rows (MAR). MAR are unique identifiers, or primary keys, that we use to track transfers from your source system to your destination each month. These keys are counted separately for each account, destination, connector, and table. Once a row is active, it is only counted once per month - no matter how many updates are made that month.
You can choose which pricing plan fits your requirements. Fivetran offers five pricing plans:
- Free - Get all the features of our Standard plan up to 500,000 MAR per month. We recommend this plan if you have very low data volumes or if you want to trial Fivetran on low volumes of data.
- Starter - Access our entire library of SaaS, events, and files connectors. This plan is best for small teams not yet ready to connect a database source.
- Standard - Unlock data from your database sources. Our most popular plan, Standard is ideal for teams that need robust cross-departmental analytics.
- Enterprise - Access high-volume agent connectors, fastest sync times, and advanced user permissioning. Enterprise is ideal for data teams that need real-time data delivery and have strict governance requirements.
- Business Critical - Ensure the highest levels of data protection and compliance on Business Critical. This plan is most popular among large Enterprise businesses or anyone in the healthcare, insurance, and finance industries.
You can compare features across our five plans on our Pricing Features page.
To view your monthly spend, you can access your Billing and Usage data in your Fivetran dashboard.
Billing - You can access billing in the Billing and Usage section under your Account Settings. The Billing tab displays your current and past monthly spend details. You can also view and change your plan and payment details.
Usage - You can access usage in the Billing and Usage section under your Account Settings. The Usage tab displays the usage information for your account by month.
Free trials include a usage and pricing estimate. Every customer and every data source is different. The most accurate way to get a usage and pricing estimate is by starting a free trial or a connector free use period.
All account free trials include a trial estimate seven days after the initial sync completes. Once you’re a customer, any new connector includes 14 days of free usage and a usage estimate seven days after your initial sync completes.
Monthly Active Rowslink
MAR is the number of distinct primary keys synced from the source system to your destination in a given calendar month. A primary key is a unique identifier that specifies a distinct row within a table. We separately count primary keys by account, destination, connector, and table. If a primary key is not available, we create a synthetic (hashed) primary key to ensure consistency. Fivetran uses a special data structure called HyperLogLog (HLL) to track MAR. HLL uses a hash value from the primary keys to count unique MAR.
We only count a row once per month, even if it syncs multiple times. It doesn’t matter how many times a row is updated in a month; you don’t pay multiple times for updates on the same row in the same month. For example, if we sync a distinct primary key more than once in a month, then the distinct primary key counts as only a single MAR.
Monthly active rows are similar to total monthly synced rows but are less prone to variation and outliers. For example, a distinct primary key synced 30 times during a month counts as one MAR. Row-based pricing models, such as monthly synced rows, would charge you multiple times in that situation. Fivetran does not.
To understand what monthly active rows mean, and how they differ from monthly synced rows, consider the following simplified example:
Suppose you have a small table with a primary key id and one attribute, counter:
You update counter from 3 to 4 in row c:
This operation generates 1 active row. Now suppose you update the same counter again in the same month:
This is still just 1 active row for this month. On the other hand, if you update row a, then you have 2 active rows:
We sync most connectors using incremental updates where we only update the new or updated rows each sync. Thus, you only pay for a subset of the data in the source every month. What percentage of a table or a connector is imported per month depends on how you use your source system. For example:
- If you opt to modify only new records, we import only a small percentage of the table or connector per month that causes a small percentage of the tables to have MAR.
- If you opt to modify years-old historical records every sync, we re-import the complete source data that causes a very high percentage of the tables to have MAR.
Monitor your MAR usagelink
The Fivetran dashboard allows you to monitor your usage both account-wide and for specific connectors.
Account-wide MAR usagelink
In Fivetran, go to Account Settings > Billing & Usage to see the billing and MAR usage details for your account. These tabs offer visual representations of your usage and are updated daily.
Connector-specific MAR usagelink
The Usage tab on the Connector Details page displays the MAR usage for a given connector and its tables. For more information about the Usage tab, see Connectors: Usage.
Fivetran Platform Connectorlink
The Fivetran Platform Connector loads your MAR data into your destination, where you can run analyses on it just like you do with any other data. The Fivetran Platform Connector includes table-level paid MAR across all connectors in your destination in the
ACTIVE_VOLUME table. To understand what is driving the overall MAR within your account, use our sample queries to review MAR at the table level.
Local Data Processinglink
Fivetran's pricing for Local Data Processing varies based on the pricing plan and licensing model. Users must subscribe to the Business Critical or Private Deployment pricing plans. Moreover, users must use consumption-based or usage-based pricing depending on their pricing plan. Read our documentation on pricing plans for Local Data Processing and licensing for Local Data Processing to learn more.
Historical MAR represents data that already exists in the source or was synced when the table or connector was created.
Examples of historical MAR include:
- Initial table syncs
- Table schema changes that lead to a full table re-sync (e.g., new added columns)
- Manually triggered re-syncs
- Data added during the first sync after a new account or project is added
- Periodic re-syncs of additional data to avoid data integrity issues
- Source-specific data integrity issues that require re-syncs
- Migration syncs
- Bug fixes that require re-syncs
Incremental MAR represents new or updated data in the source since the last sync.
Examples of incremental MAR include:
- Overlapping incremental syncs
- Reimported table syncs that occur when no cursor column is provided
- Reporting connector rollback syncs that occur during a conversion window
Optimize your consumptionlink
Higher usage leads to a better ratelink
We automatically optimize certain aspects of your MAR consumption. Your cost per row declines automatically as your monthly consumption increases. To learn more about MAR rates, see the Fivetran Service Consumption Table.
The connector’s sync frequency makes no difference to your monthly active rows because MAR is based on how many unique rows are updated, not on how many updates occur. Maintain whatever sync frequency best serves your business needs.
Block schemas or tableslink
You can reduce your monthly active rows by blocking schemas or tables from syncing if they don’t contain valuable information. The monthly active rows per connector chart in your billing dashboard shows you which connectors have the highest usage. The Fivetran Platform Connector shows consumption by table to help guide these decisions. However, not all connectors support blocking schemas or tables.
Block columns in tables without a primary keylink
You can reduce your monthly active rows by blocking columns for tables without a primary key. Column blocking can make a difference because we create a synthetic primary key for these tables, you can reduce your MAR if you block a commonly-changing column that is used as part of the synthetic primary key. However, not all connectors support column blocking. You can reduce your monthly active rows by blocking columns for tables without a primary key. Column blocking can make a difference because we create a synthetic primary key for these tables, you can reduce your MAR if you block a commonly-changing column that is used as part of the synthetic primary key. However, not all connectors support column blocking.
IMPORTANT: You can't block primary key columns.
Sharp increases in MAR can occur for the following reasons:
- It is the beginning of the month
- A free trial ended
- Changes in the source
- User error
Beginning of the monthlink
At the beginning of each month, you may see a sudden increase in MAR due to frequent changes in a large number of rows. Once a row is active, it is only counted once. Any additional changes to counted rows won't count towards MAR. Any remaining data use will mostly come from new records.
We reset the count of your active rows at the end of the month. All rows go back to being inactive, and your active rows count goes back to zero. During the first sync on the first day of the month, Fivetran fetches new rows and existing rows with updated values from the source, and these rows become active. Since we only count these rows once per month, you may observe what seems like an increase in your MAR usage on the first day of each month. You may also observe what seems like an increase in MAR when most rows have frequent value changes.
You will not observe what seems like an increase in your MAR usage if the first sync doesn’t occur on the first of the month.
After the free triallink
Fivetran offers a free trial period for new accounts and a free use period for new connectors. Once you purchase Fivetran after your free trial, your MAR counter resets. Any new, changed, or deleted rows you sync as distinct primary keys count towards your paid MAR for the month. If the rows you synced during the free period don't change, we don't count the rows as active rows. We only count the rows that you add, change, or delete.
For example, see how MAR is calculated during and after a free trial:
Day 1: You are trialing Fivetran. One of the connectors syncs two primary keys, pk_1 and pk_2, to the destination. We count both the rows as free MAR.
Day 2: You upgrade your trial account to a paid one. The connector syncs another primary key, pk_3. We count this row as paid MAR.
Day 3: You update one of the primary keys, pk_1. We now count this row as paid MAR. As you didn't update pk_2, we still count the row as free MAR.
Once the free account trial period ends, most of your active rows count towards MAR, since it is the first active instance of the primary keys. You will see a one-time increase in your MAR on the first day of the paid usage because we count all the distinct primary keys you sync.
Following the conclusion of the new connector's free use period, you will see a corresponding increase in the paid MAR for the connector.
Changes at the sourcelink
Administrators, users, and integration teams should collaborate to understand how the data source interacts with Fivetran.
- Integration teams must know about connector types.
- Administrators must understand how to provide source access.
- Users must outline their expectations from the solution. Often, increases in MAR are due to changes in the source. Adding a new column or table leads to MAR increases. It's important to communicate with your stakeholders on how their sources impact usage and ensure every table you're moving provides value to the team.
Unexpected data use can occur when you unpause a connector or delete a connector, then recreate it with exactly the same name. Both cases lead to an increase in MAR. To avoid unexpected data use, we recommend resyncing paused connectors. Also, every time you create a new connector, ensure you use a unique name. You can do these either through the Connectors page or the REST API.
Understand your MAR usagelink
Learn how operations in your Fivetran account impact your MAR usage.
Every Private Preview connector is free. We charge for connectors when they are in Beta or Generally Available. Connector pricing varies on functionality. See our core concepts documentation for more information.
Initial syncs do not count towards monthly active rows. When you first create a connector and sync the historical data in your source, we don’t charge you for those syncs. We exclude the initial sync whenever you add a new connector to your account. We don’t charge for historical syncs during trials or promotions.
We calculate MAR for re-syncs differently depending on your account type:
Initial syncs for newly-added tables do not count towards monthly active rows. When you add a new table after completing the initial sync for a connector, the table benefits from the free initial sync.
When you sync a new column of an existing table, every row in the table that is backfilled with data will count as an active row. Rows that do not have backfilled data and have a null value for the new column will not be considered active.
Automated schema migrationslink
When we automatically add a column to a connector as part of automated schema migration, every row in the table that is backfilled with data will count as an active row. Rows that do not have backfilled data and have a null value for the new column will not be considered active.
Primary key data type changeslink
If the data type of primary key changes, it doesn't affect your MAR.
Similarly, in a table without a primary key, if the data type of columns from which we generate synthetic (hash) primary key changes, it doesn't affect your MAR.
Tables without a primary keylink
If a table doesn’t have a primary key, we create a synthetic (hash) primary key. The synthetic primary key is a hash of values of the columns defined for that table, so if those columns change, the primary key changes. We calculate the MAR for these tables based on their synthetic primary keys. The composition of this primary key differs by source. For example, for the Facebook Ad Insights connector, we use the
breakdowns (date, ad_id, and age) to create a synthetic primary key.
In a table without a primary key, adding or removing columns that we use to generate the synthetic primary key does affect MAR. Each row in the table counts towards MAR.
Fivetran system tableslink
The following connector-specific system tables count towards free MAR:
History Mode tableslink
Every time a record's value in a source table with history mode enabled changes, we insert a new row in the destination table. This new row counts towards monthly active rows. Your MAR usage depends on the number of tables you have enabled history mode for and how frequently the data in your source system is changing.
We re-import tables in full during every sync as part of the sync strategy for some of our connectors. During a re-import sync, we activate all rows in the table that aren't already active. This differs from our incremental tables that only activate changed rows. However, each unique primary key in the table is still charged once per month.
For example, let's say that you have a re-import table with one-hundred rows from the previous month with zero changes, the first re-import at the start of the new month will result in one-hundred MAR. Then, there is another sync 24 hours later and there are twenty new rows. During this second sync, Fivetran will re-import the full one-hundred-twenty rows but the MAR charge will just be twenty.
Since the first sync of re-import tables captures all rows regardless of changes, the MAR increase at the beginning of each month is often more pronounced for connectors with re-import tables.
Multiples of the same connector typelink
Each connector in your account contributes towards your monthly active rows. It is not the connector type but the instance of the connector that matters. Even if the connectors sync the same data from the same source (with the same primary keys), they contribute separately to your MAR.
Same source, multiple destinationslink
If you have two or more connectors of the same type that sync from one source to multiple destinations, we count each connector’s active monthly rows separately. For example, if you have two Salesforce connectors, where one syncs to your staging warehouse and the other to production, we count the MAR of the connectors separately. The sum of rows synced through each connector counts towards your MAR.
Transformations do not count towards monthly active rows because transformations occur in your destination after the data is delivered. Monthly active rows only count the rows we update, not events in the destination.
You can block specific columns from replicating to your destination. However, you can't block primary key columns. If you update a blocked column that is not a primary key column in your source table, the update counts towards your MAR.
Deletes in the sourcelink
If a connector supports the Capture Deletes feature, deletes in your source count towards your MAR. If you delete data from your source, we soft delete the corresponding data in your destination by setting the system column
_fivetran_deleted to TRUE. As the delete corresponds to a row update, it counts towards your MAR.
Deletes in the destinationlink
If you delete data in your destination and later sync it again from your source, it counts towards your MAR.
If a connector performs a rollback sync as part of its sync strategy, the sync may fetch additional data from the previous month. We consider these past records as new unique records for the current month, and these rows count towards your MAR.
In some rare scenarios, the source attempts to update rows that do not exist in the destination. We define these updates as phantom updates. Phantom updates are not visible in the destination, but they contribute to MAR since we capture these updates. Phantom updates occur when we try to mark the
_fivetran_deleted column TRUE for deleted records in the source.
For example, consider that you have a table
TARGET in the destination, with column
id as its primary key, and there is no record in the table with
id = 2. Now, consider that you create a record with
id = 2 in the source and then delete it before our connector syncs the record. The source marks the record with
id = 2 as
deleted. In the subsequent sync, we retrieve the record with
id = 2 with the
deleted status. We try to update the
_fivetran_deleted column to TRUE in the
TARGET table. We can't update the record because the record with
id = 2 does not exist in the destination. In the process, we capture a new unique (deleted) row, and this row counts towards MAR.
Connector-specific functional differenceslink
We calculate MAR in the same way for all our connectors. However, MAR calculations for some connectors can vary due to significant differences in:
- API capabilities
- Connector configuration
- Source configuration
- Access management
- Underlying data models
- Raw data formats
Therefore, some connectors require tailored sync strategies.
Ad reporting connectorslink
We do not exclude historical syncs when you add a new account to the following connectors:
- Adobe Analytics
- Adobe Analytics Data Feed
- Apple App Store
- Apple Search Ads
- Facebook Ad Account
- Facebook Ad Insights
- Facebook Ads
- Facebook Pages
- Google Ad Manager
- Google Ads
- Google Ads Account
- Google Analytics
- Google Analytics 4
- Google Analytics MCF
- Google Display & Video 360
- Google Search Ads 360
- Google Search Console
- LinkedIn Ad Analytics
- LinkedIn Company Pages
- Microsoft Advertising (formerly Bing Ads)
- Pinterest Ads
- Snapchat Ads
- TikTok Ads
- Twitter Ads
- Verizon Media (formerly Yahoo Gemini)
- YouTube Analytics
File sources don't provide change-tracking data to help us determine if specific rows have been updated in the source. As a result, every time you schedule a sync, we re-sync all the rows from files that were modified. We calculate MAR for a file based on the greatest number of rows we sync from that file during any sync in a given month. For file connectors, we add three columns as composite primary keys for a table.
For example, let's assume that you add a new file with 10 rows to the connector's configured location:
- Initial sync (May 1st) – file has 10 rows
- Next sync (May 15th) – file has 15 rows
- Last sync (May 31st) – file has 16 rows
The greatest number of rows ever synced for the file during May is 16, so the MAR for that month is 16.
If you configure the modified file merge option to
append_only, all rows will count towards MAR. So, in the previous example, the MAR would be 41 (Free MAR 10 + Paid MAR 31).
NOTE: For our Amazon S3, Azure Blob Storage, Google Cloud Storage, and SFTP connectors, we capture a file's last modified date. This lets us determine if a file has been updated in the source. When we detect an update in the source, we re-sync the entire file. That means each row in the source counts towards monthly active rows. However, if the file is updated multiple times in a month, its rows only count toward monthly active rows once.
IMPORTANT: For our Magic Folder connectors, we use the last modified date of the files to detect changes in the files of your cloud folder. For more information about the sync strategy of Magic Folder connectors, see our documentation.
Fivetran Platform Connectorlink
The MAR that the Fivetran Platform Connector generates is free. You can track your free MAR in the Usage tab.
Due to how the Asana API uses sync tokens, you may observe periodic increases in MAR consumption. Read our Asana sync strategy documentation for more information.
Our HubSpot connector re-syncs several tables every day because the HubSpot API does not offer a mechanism to capture deletes. By re-syncing these tables, we can infer deletes. These re-syncs increase consumption for HubSpot.
The following tables are append-only:
For these tables, we capture events from Iterable using webhooks and the Events API, then write them to the destination. We never overwrite existing events in the destination unless a re-sync is triggered. During a re-sync, we get the same events from the API again and overwrite the events in the destination.
We sync the remaining tables using non-incremental endpoints, so we re-import them during every sync.
NetSuite Suite Analyticslink
We use a hybrid approach to determine the overall MAR for NetSuite:
We incrementally update tables with a modified timestamp. The incrementally updated rows count towards monthly active rows.
We use a checksum to capture deletes incrementally. The data ranges of each table where changes are occurring count towards monthly active rows.
We re-import the tables that we can’t incrementally update. As a result, the entire re-imported table counts towards monthly active rows. This may lead to the MAR being higher than the row count in the destination.
We only sync new records for
SYSTEM_NOTES_CUSTOMtables. We consider only the records created in the calendar month as monthly active rows.
NOTE: We update the
TRANSACTION_LINEStables incrementally. We don't recommend frequent updates of the historical records for the
TRANSACTION_LINEStable, as this significantly increases the count of monthly active rows.
When you add a new column to an Oracle table that we are syncing, we always trigger a table re-sync. Changes to the table structure interfere with LogMiner and force us to re-sync the table.
Using XMIN instead of WAL in your PostgreSQL connector has a negligible impact on your MAR consumption. XMIN does not capture deletes, leading to slightly lower MAR in comparison.
Due to Sailthru API limitations, you may see a sudden increase in MAR at the start of the month. Read our Sailthru sync strategy documentation for more info on Sailthru's API limits.
Priority-first syncs fetch your most recent data first so that it's quickly ready for you to use. If you add a new account in the setup form of the following connectors when an incremental sync is running, it impacts your MAR usage:
- Adobe Analytics
- Amazon Ads
- Amazon Selling Partner
- Apple Search Ads
- Facebook Pages
- Google Analytics 360
- Google Analytics 4 Export
- Google Display & Video 360
- Google Search Console
- Help Scout
- Instagram Business
- LinkedIn Ad Analytics
- Maxio Chargify
- Microsoft Advertising
- Pinterest Ads
- Reddit Ads
- Salesforce Commerce Cloud
- Salesforce Marketing Cloud
- Snapchat Ads
- The Trade Desk
- TikTok Ads
- Twitter Organic
- Yahoo DSP
See our MAR Management articles for a deep dive into connector-specific MAR management.
Fivetran offers the following pricing plans:
- Starter - For small to midsize companies with no database sources.
- Free - For teams with low data volumes.
- Standard - For organizations with a database source that needs short sync frequencies for real-time monitoring.
- Enterprise - For enterprises having stringent internal security guidelines that need near real-time syncs and priority support.
- Business Critical - For global enterprises that need real-time data intelligence along with the highest level of data protection and compliance.
- Private Deployment - For enterprises that are unable to connect to Fivetran’s cloud, Local Data Processing can be deployed as a standalone solution. This is a usage-based subscription plan that requires the customer to send the consumption data files (MAR) to Fivetran at least once a quarter.
Learn more about our plans and their features on our Pricing page. Some features are limited to certain pricing plans (for example, the Fivetran REST API feature is limited to Free, Standard, Enterprise, and Business Critical accounts).
Subscription-based plans: You either make an annual upfront purchase of Contracted Spend in bulk or add a credit card to your account and pay as you go.
Capacity Purchase plan - A subscription-based plan which requires an annual upfront purchase of Contracted Spend in bulk. Contracted Spend is the total amount purchased as listed in the Order Form.
On-demand plan - A subscription-based plan for customers who pay per usage. You have to make an additional purchase to continue using the Fivetran Service after the initial purchase has been used.
Monthly plans: Monthly plans are not subscription-based. You are billed monthly in-arrears for usage during the prior monthly period. You can purchase a monthly plan from:
For more information about our plans, see the Fivetran Service Consumption Table.
Differences in pricing modelslink
On February 1, 2022, we simplified and optimized our consumption-based pricing model. We removed the concept of credits from our pricing model. We determine your consumption based on the monthly active rows in your account. You still pay only for what you use.
The Contracted Spend model provides a direct and transparent approach to control your consumption. Instead of purchasing credits, you purchase Contracted Spend.
Existing Fivetran customers on the credits-based model will migrate to the contracted spend model on account renewal.
In this pricing model, you commit to spend a certain amount of money, a contracted spend. Your contracted spend is consumed depending on your MAR usage for the month. The rate of consumption varies by your plan. See the rate of consumption for your plan in the Service Consumption Table.
Fivetran accounts signed up or re-contracted on or after February 1, 2022 are on the contracted spend model.
The two pricing models have the following key differences:
New connectors have 14 days of use at no cost.
If you are using a contracted spend plan:
Manual re-syncs related to initial connector setup, for debugging, and troubleshooting purposes are free. This includes table-level and connector-level re-syncs and historical re-syncs initiated from the Fivetran dashboard or using our REST API. You may trigger unlimited re-syncs for these purposes each month, however customers cannot trigger re-syncs as a way to skirt their obligations under the Agreement.
Re-syncs that Fivetran triggers in your dashboard or while fixing incidents count towards free MAR. We only perform a re-sync when it's absolutely necessary.
Automatic table re-syncs triggered by non-database connectors due to schema changes count towards paid MAR. However, automatic re-syncs triggered by database connectors as part of their sync strategies or due to schema changes are free.
NOTE: The SAP HANA connector doesn't trigger automatic re-syncs as part of its sync strategy.
Re-syncs give customers the ability to troubleshoot their connectors without worrying about the impact of those efforts on their total MAR for the month. However, Fivetran prohibits customer attempts to use customer-triggered re-syncs to disguise paid usage as free usage of Fivetran products and services.
Upon discovering conduct that Fivetran deems, in its sole reasonable discretion, a violation of this limit (i.e. programmatic re-syncs as a data movement strategy), Fivetran may charge customers for such non-conforming use and take any other measures set forth in the Agreement between the parties.
Enterprise database connectorslink
You can sync data from the following database sources only if you are on the Enterprise or Business Critical plans:
You can sync data using the following High-Volume Agent connectors if you are on the Enterprise or Business Critical plans:
In the contracted spend model:
- The Starter plan has a maximum user capacity of 10 users.
- The Standard plan doesn’t have access to the enterprise database connectors.
In our credits-based model, you purchase credits at a rate that depends on your plan. You consume credits at a logarithmically declining rate that is consistent across plans, depending on your MAR usage. We calculate your consumption of credits based on your monthly active rows across all connectors and destinations in your account.
Fivetran accounts signed up or re-contacted before February 1, 2022, are on the credits-based pricing model.
If you are using a credits-based plan:
Re-syncs count towards monthly active rows. Both table- and connector-level re-syncs count. This includes re-syncs initiated from the Fivetran dashboard or using our REST API. If you choose to trigger a re-sync on your own, it counts towards paid MAR.
Re-syncs that Fivetran initiates in your dashboard or while fixing incidents count towards free MAR. We only perform a re-sync when it's absolutely necessary.
If you re-sync all your historical data (from your Fivetran dashboard or using our REST API) later, we do charge for that historical re-sync.
NOTE: For connectors that use priority-first sync, the syncs include historical data; however, we don't count the data towards MAR.
Pricing model changelink
The changes go into effect starting on February 1, 2022.
If you are on a pay-as-you-go plan, these changes will go into effect on February 1, 2022. The bill you receive in March will reflect these changes.
If you are on an annual contract with Fivetran, these changes will go into effect on your renewal date or when you run out of credits and need to re-contract. Your Fivetran account representative will assist you with this transition.
If you are on our Standard plan and are using the enterprise database connectors, you must upgrade to the Enterprise plan during account renewal.
If you are on our Starter plan and have more than 10 users in your account, you must upgrade to the Standard plan or remove users during account renewal.
*dbt Core is a trademark of dbt Labs, Inc. All rights therein are reserved to dbt Labs, Inc. Fivetran Transformations is not a product or service of or endorsed by dbt Labs, Inc.