Pricing
Learn about our pricing model, how we calculate monthly active rows and how you can track and optimize your usage.
Our pricing model is based on consumption. You are charged based on what you use.
Each month, we calculate your consumption based on the number of across all connectors and destinations in your account.
You can use any Fivetran connectors you want and add or remove connectors over time. You can likewise add or remove destinations. You are charged according to your MAR usage, with no difference between connectors. Your usage can vary depending on the amount of data being updated in your source system, the sync strategy of your connector, or connectors you added or removed during that period.
As your monthly consumption increases, the . The more unique data you sync in a billing period, the cheaper the incremental cost per unique monthly active row.
Monthly Active Rows
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:
| id | counter |
|---|---|
| a | 1 |
| b | 2 |
| c | 3 |
You update counter from 3 to 4 in row c:
| id | counter |
|---|---|
| a | 1 |
| b | 2 |
| c | 3 |
| c | 4 |
This operation generates 1 active row. Now suppose you update the same counter again in the same month:
| id | counter |
|---|---|
| a | 1 |
| b | 2 |
| c | 3 |
| c | 4 |
| c | 5 |
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:
| id | counter |
|---|---|
| a | 1 |
| a | 10 |
| b | 2 |
| c | 3 |
| c | 4 |
| c | 5 |
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 usage
Monitor your usage from your or by using the . Learn how to optimize your usage.
Fivetran dashboard
The Fivetran dashboard allows you to monitor your usage both account-wide and for specific connectors.
Account-wide MAR usage
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.
The displays your current and past spend details. For more information about the Billing tab, see .
The displays the usage information for your account by month. For more information about the Usage tab, see .
Connector-specific MAR usage
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 .
Fivetran Platform Connector
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 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 to review MAR at the table level.
Local Data Processing
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 and to learn more.
Historical MAR
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
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
Optimize your consumption
Higher usage leads to a better rate
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 .
Sync frequency
The connector’s 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 tables
You can reduce your monthly active rows by 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 primary keys
You can reduce your monthly active rows by for tables without a primary key. Column blocking can make a difference because we create a synthetic primary key for these , 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.
Understand your MAR usage
Learn how operations in your Fivetran account impact your MAR usage.
New connectors
.
Release phases
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 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 or .
Re-syncs
We calculate MAR for re-syncs differently depending on your account type:
New tables
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.
New columns
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 migrations
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 changes
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 primary keys
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 aggregation_field, level_id, and 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 tables
The following connector-specific system tables count towards free MAR:
FIVETRAN_QUERYFIVETRAN_API_CALLFIVETRAN_FORMULAFIVETRAN_FORMULA_MODEL
History Mode tables
Every time a record's value in a source table with 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.
Re-import tables
We 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 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 at the beginning of each month is often more pronounced for connectors with re-import tables.
Multiples of the same connector type
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 destinations
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
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.
Column blocking
You can 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 source
If a connector supports the , 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 destination
If you delete data in your destination and later sync it again from your source, it counts towards your MAR.
Rollback syncs
If a connector performs a 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.
Phantom updates
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 differences
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 connectors
We do not exclude when you add a new account to the following connectors:
- Adobe Analytics
- Adobe Analytics Data Feed
- AdRoll
- Apple App Store
- Apple Search Ads
- Criteo
- Facebook Ad Account
- Facebook Ad Insights
- Facebook Ads
- Facebook Pages
- Google Ad Manager
- Google Ads
- Google Ads Account
- Google Analytics
- Google Analytics MCF
- Google Display & Video 360
- Google Search Console
- LinkedIn Ad Analytics
- LinkedIn Company Pages
- Microsoft Advertising (formerly Bing Ads)
- Outbrain
- Pinterest Ads
- Snapchat Ads
- Taboola
- TikTok Ads
- Twitter Ads
- Verizon Media (formerly Yahoo Gemini)
- YouTube Analytics
File connectors
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 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 .
Fivetran Platform Connector
The MAR that the Fivetran Platform Connector generates is free. You can track your free MAR in the .
HubSpot
Our HubSpot connector re-syncs several tables every day because the HubSpot API does not offer a mechanism to . By re-syncing these tables, we can infer deletes. These re-syncs increase consumption for HubSpot.
Iterable
The following tables are append-only:
EVENTEVENT_EXTENSIONUSER_HISTORYUSER_UNSUBSCRIBED_CHANNEL_HISTORYUSER_UNSUBSCRIBED_MESSAGE_TYPE_HISTORYUSER_DEVICE_HISTORYLIST_USER_HISTORYCAMPAIGN_METRICS
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.
MongoDB
We perform an automatic when we see that the oldest entry is newer than expected.
NetSuite Suite Analytics
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 incrementally. The data ranges of each table where changes are occurring count towards monthly active rows.
We 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_NOTESandSYSTEM_NOTES_CUSTOMtables. We consider only the records created in the calendar month as monthly active rows.
NOTE: We update the
TRANSACTIONSandTRANSACTION_LINEStables incrementally. We don't recommend frequent updates of the historical records for theTRANSACTION_LINEStable, as this significantly increases the count of monthly active rows.
Oracle
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.
PostgreSQL
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.
Priority-first sync
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:
- AdRoll
- Adobe Analytics
- Apple Search Ads
- Criteo
- Facebook Pages
- Google Display & Video 360
- Google Search Console
- Instagram Business
- LinkedIn Ad Analytics
- Microsoft Advertising
- Outbrain
- Pinterest Ads
- Snapchat Ads
- Taboola
- TikTok Ads
- Twitter Organic
See our for a deep dive into connector-specific MAR management.
Fivetran plans
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, 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 . 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).
Billing options
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:
The
For more information about our plans, see the .
Differences in pricing models
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 provides a direct and transparent approach to control your consumption. Instead of purchasing credits, you purchase Contracted Spend.
Existing Fivetran customers on the will migrate to the contracted spend model on account renewal.
Contracted Spend
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 .
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:
Re-syncs
If you are using a contracted spend plan:
Re-syncs that you trigger count towards free MAR. You have an unlimited number of free customer-triggered re-syncs per connector for each month. This includes table- and connector-level re-syncs and initiated from the Fivetran dashboard or using our REST API.
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.
triggered by the following database connectors as part of their sync strategies count or due to schema changes towards free MAR:
- BigQuery
- DynamoDB
- HVA Oracle (beginning on January 1, 2023)
- MariaDB
- MongoDB
- MySQL
- Oracle
- PostgreSQL
- Snowflake
- SQL Server
Exceptions
The automatic re-syncs of a database table you had previously excluded from your syncs count towards paid MAR.
NOTE: The SAP HANA connector doesn't trigger automatic re-syncs as part of its sync strategy.
IMPORTANT: .
Enterprise database connectors
You can sync data from the following Oracle 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:
- Beta
Plan limitations
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 .
Credits-based
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.
Re-syncs
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 , the syncs include historical data; however, we don't count the data towards MAR.
Pricing model change
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.
Plan renewal
If you are on our Standard plan and are using the , 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.
Comments
0 comments
Please sign in to leave a comment.