MAR Management
Understand how different Fivetran connectors affect MAR.
TIP: For database connections, you can use your database's total row count to roughly estimate your MAR. Learn how in our Identify Total Row Count for Databases documentation.
Connector-specific functional differences
We calculate MAR in the same way for all our connectors. However, MAR calculations can vary due to significant differences in:
- API capabilities
- Connector configuration
- Source configuration
- Access management
- Underlying data models
- Raw data formats
Therefore, some connection types require tailored sync strategies.
Ad reporting connectors
We do not exclude historical syncs when you add a new source account to the connectors listed below. If you add a new source account to the sync when the incremental sync is running, your MAR usage will increase.
- Adobe Analytics
- Adobe Analytics Data Feed
- Adjust
- AdRoll
- Amazon Ads
- Amazon Selling Partner
- Amplitude
- Apple Search Ads
- Braintree
- Criteo
- Eloqua
- Facebook Ads
- Facebook Pages
- Google Ad Manager
- Google Ads
- Google Analytics 4
- Google Display & Video 360
- Google Search Ads 360
- Google Search Console
- Help Scout
- HubSpot
- Instagram Business
- Iterable
- LinkedIn Ad Analytics
- LinkedIn Company Pages
- Marketo
- Microsoft Advertising (formerly Bing Ads)
- Outbrain
- Pinterest Ads
- Recharge
- Salesforce Marketing Cloud
- Shopify
- Snapchat Ads
- Taboola
- TikTok Ads
- Twitter Ads
- Yahoo DSP
- YouTube Analytics
- Zendesk
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 composite primary keys for a table.
For example, let's assume that you add a new file with 10 rows to your connection'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 Connector
The MAR that the Fivetran Platform Connector generates is free. You can track your free MAR in the Usage tab.
NOTE: Using this connector may incur costs in your destination if your service provider charges for compute usage. Learn more in our destination costs documentation.
Asana
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.
HubSpot
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.
See our HubSpot MAR Management article for more details.
Iterable
The following tables are append-only:
EVENT
EVENT_EXTENSION
USER_HISTORY
USER_UNSUBSCRIBED_CHANNEL_HISTORY
USER_UNSUBSCRIBED_MESSAGE_TYPE_HISTORY
USER_DEVICE_HISTORY
LIST_USER_HISTORY
CAMPAIGN_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 full re-sync when we see that the oldest oplog entry is newer than expected.
See our MongoDB MAR Management article for more details.
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 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
andSYSTEM_NOTES_CUSTOM
tables. We consider only the records created in the calendar month as monthly active rows.
NOTE: We update the
TRANSACTIONS
andTRANSACTION_LINES
tables incrementally. We don't recommend frequent updates of the historical records for theTRANSACTION_LINES
table, 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.
See our PostgreSQL MAR Management article for more details.
Sailthru
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 sync
Priority-first syncs fetch your most recent data first so that it's quickly ready for you to use. If you add a new source account in the setup form of the following connectors when an incremental sync is running, it impacts your MAR usage:
IMPORTANT: Connectors that support priority-first sync activate a connection's free trial period as soon as a priority-first sync is initiated and the system detects incremental data.
Connector | Priority Fetch Period | Tables synced on a priority-first basis | Backward Sync Duration |
---|---|---|---|
Adjust | 30 days | All tables | 6 hours |
Adobe Analytics | 15 days | All reporting tables | 6 hours |
AdRoll | 30 days | All reporting tables | 6 hours |
Afterpay | 90 days | PAYMENT table and its child tables | 6 hours |
Amazon Ads | 30 days | All reporting tables | 6 hours |
Amazon Selling Partner | 7 days | FINANCE and ORDERS modules | 6 hours |
Amplitude | 15 days | All tables | 6 hours |
Apple Search Ads | 30 days | All reporting tables | 6 hours |
Assembled | 15 days | AGENT_STATE , DAILY_REPORT_METRIC , EVENT_CHANGE , FORECAST , FORECAST_TOTAL , HOURLY_REPORT_METRIC , and REQUIREMENT tables | 6 hours |
BigCommerce | 2 days | CHANNEL , CUSTOMER , ORDERS , PRODUCT , PRICE_LIST , and SUBSCRIBER tables | 6 hours |
Braintree | 2 days | CREDIT_CARD_VERIFICATION table | 6 hours |
Canvas Data 2 by Instructure | 30 days | All tables | 6 hours |
Checkout.com | 7 days | BALANCE_REPORT , CUSTOMER , DISPUTE , FINANCIAL_ACTION_REPORT , INSTRUMENT , PAYMENT , PAYMENT_ACTION , PAYOUT_REPORT , and REPORT tables and their child tables | 6 hours |
ChurnZero | 15 days | CHURN_SCORE_CALCULATION and CHURN_SCORE_FACTOR_CALCULATION tables | 6 hours |
Clazar | 15 days | BUYER , CONTRACT , LISTING ,OPPORTUNITY , and PRIVATE_OFFER tables | 6 hours |
Clearpay | 90 days | PAYMENT table and its child tables | 6 hours |
CloudTalk | 30 days | CALL_HISTORY table and its child tables | 6 hours |
Commercetools | 30 days | CART , CUSTOMER , INVENTORY , ORDERS , PAYMENT , and PRODUCT tables and their child tables. | 6 hours |
Constant Contact | 7 days | CONTACT and EMAIL_CAMPAIGN tables and their child tables. | 6 hours |
Cornerstone | 30 days | CERTIFICATION , CURRICULUM , PERFORMANCE_REVIEW , RECRUITING , REQUISITION , TRAINING , USERS , and USER_CUSTOMER_FIELD tables. | 6 hours |
Criteo | 30 days | All reporting tables | 6 hours |
Datadog | 1 day | AUDIT , CI_VISIBILITY_PIPELINE , CI_VISIBILITY_TEST , EVENT , LOG , RUM_EVENT , and SPAN tables | 6 hours |
Dialpad | 15 day | CALL | 6 hours |
Donus | 1 day | GRANTS , GRANTS_REPORT , MEMBER , and PAYMENT tables and their child tables | 5 hours |
Duoplane | 7 days | PURCHASE_ORDER , PRODUCT , and SHIPMENT tables | 6 hours |
Everflow | 15 days | ADVERTISER , COUPON_CODE , CUSTOM_CAP , CUSTOM_PAYOUT_REVENUE , OFFER_URL , SMART_LINK_CAMPAIGN , and TRAFFIC_CONTROL tables and their child tables | 6 hours |
Eloqua | 7 days | CONTACT_ACTIVITY and custom object tables | 6 hours |
Facebook Pages | 30 days | All page insights tables | 6 hours |
Forethought | 30 days | CONVERSATION table | 6 hours |
Fourkites | 7 days | SHIPMENT table and its child tables | 6 hours |
Front | 30 days | CONTACT and CONVERSATION tables and their child tables | 6 hours |
Flywheel Digital | 30 days | CONTENT_RESULT , PRODUCT , and SEARCH_TERM_RESULT tables and their child tables | 6 hours |
Gainsight Product Experience | 7 days | CUSTOM_EVENT , EMAIL_EVENT , ENGAGEMENT_VIEW_EVENT , EVENT_IDENTIFICATION , FEATURE_MATCH_EVENT , FORM_SUBMIT_EVENT , LEAD_EVENT , PAGEVIEW_EVENT , SEGMENT_MATCH_EVENT , SESSION_EVENT , SURVEY_RESPONSE , and USERS tables | 6 hours |
Google Analytics 360 | 15 days | All tables | 6 hours |
Google Analytics 4 | 30 days | Reporting tables | 6 hours |
Google Analytics 4 Export | 1 day | All tables | 6 hours |
Google Display & Video 360 | 30 days | All tables | 6 hours |
Google Search Ads 360 | 15 days | All tables | 6 hours |
Google Search Console | 7 days | Reporting tables | 6 hours |
Healthie | 30 days | APPOINTMENT and FORM_ANSWER_GROUP tables | 6 hours |
Help Scout | 15 days | CUSTOMER_HISTORY and CONVERSATION_HISTORY tables and their child tables | 6 hours |
HubSpot | 1 day | EMAIL_EVENT_BOUNCE , EMAIL_EVENT_CLICK , EMAIL_EVENT_DEFERRED , EMAIL_EVENT_DELIVERED , EMAIL_EVENT_DROPPED , EMAIL_EVENT_FORWARD , EMAIL_EVENT_OPEN , EMAIL_EVENT_PRINT , EMAIL_EVENT_SENT , EMAIL_EVENT_SPAM_REPORT , EMAIL_EVENT_STATUS_CHANGE , EMAIL_EVENT_SUPPRESSED , and EVENT tables | 6 hours |
Instagram Business | 29 days | USER_INSIGHTS table | 6 hours |
Iterable | 7 days | EVENT table | 6 hours |
Jibble | 15 days | ACTIVITY ,GROUPS ,SCHEDULE ,TIME_ENTRY , and TIMESHEET tables | 6 hours |
JobNimbus | 30 days | All tables | 6 hours |
Klaviyo | 7 days | EVENT tables | 6 hours |
Leap CRM | 30 days | APPOINTMENT , CUSTOMER , and JOB tables | 6 hours |
Liftoff | 30 days | REPORT tables | 6 hours |
LinkedIn Ad Analytics | 30 days | All reporting tables | 6 hours |
Lucca | 30 days | USERS table and its child tables | 6 hours |
Maileon | 30 days | BOUNCE , CLICK , CONTACT , CONVERSION , OPENS , RECIPIENT , SUBSCRIBER , UNIQUE_CLICK , UNIQUE_OPENS , and UNSUBSCRIPTION tables | 6 hours |
Mailjet | 15 days | CONTACT_LIST_SIGNUP , MESSAGE , MESSAGE_INFORMATION ,GEO_STATISTICS ,TOPLINK_CLICKED and CLICK_STAT tables | 6 hours |
Marketo | 0 days | All activity (and dependent) tables and LEAD table | 6 hours |
Maxio Chargify | 7 days | EVENT , INVOICE , PRODUCTS_PRICE_POINT , PRODUCT , SUBSCRIPTION , and SUBSCRIPTION_COMPONENT tables | 6 hours |
Microsoft Advertising | 30 days | All reporting tables | 6 hours |
Microsoft Power BI | 30 days | REPORT table | 6 hours |
Mixpanel | 15 days | EVENT table | 6 hours |
Nice | 30 days | AGENT_PERFORMANCE , CONTACT , DISPOSITION , INTERACTION_HISTORY , SKILL_CALL_DATA , SKILL_SUMMARY , SLA_SUMMARY , STATE_HISTORY , WFM_DATA_ADHERENCE , WFM_DATA_CONTACT , WFM_DATA_PERFORMANCE , and WFM_DATA_SCORECARD tables. | 6 hours |
Ometria | 7 days | PROFILE , ORDERS , and UNSUBSCRIBED_CONTACT tables | 6 hours |
On24 | 30 days | ATTENDEE , EVENT , LEAD , PRESENTER , and REGISTRANT tables | 6 hours |
Optimizely | 30 days | DECISION and CONVERSION tables and their child tables | 6 hours |
Ordway | 7 days | INVOICE , JOURNAL , PAYMENTS , REVENUE_SCHEDULE , and USAGE tables and their child tables | 6 hours |
Outbrain | 30 days | All reporting tables | 6 hours |
Packiyo | 15 days | ORDERS table | 6 hours |
Pardot | 14 days | EMAIL , VISIT , and VISITOR_ACTIVITY tables | 6 hours |
Pendo | 7 days | ACCOUNT_HISTORY , VISITOR_HISTORY , FEATURE_EVENT , PAGE_EVENT , GUIDE_EVENT , TRACK_TYPE_EVENT , POLL_EVENT , and EVENT tables | 6 hours |
Pinterest Ads | 30 days | All reporting tables | 6 hours |
Qmatic Data Connect | 30 days | OUTCOME , VISIT , VISIT_TRANSACTION , and WORK_PROFILE tables | 6 hours |
Quorum | 7 days | BILL table | 6 hours |
Recharge | 15 days | ADDRESS , ADDRESS_DISCOUNT , ADDRESS_SHIPPING_LINE , CHARGE , CHARGE_DISCOUNT , CHARGE_LINE_ITEM , CHARGE_ORDER_ATTRIBUTE , CHARGE_SHIPPING_LINE , CHARGE_TAX_LINE , CHECKOUT , CHECKOUT_LINE_ITEM , CUSTOMER , DISCOUNT , METAFIELD , ONE_TIME_PRODUCT , ORDER , ORDER_LINE_ITEM , PAYMENT_METHOD , PLAN , SUBSCRIPTION , SUBSCRIPTION_HISTORY , and UTM_TAG tables | 6 hours |
Reddit Ads | 30 days | All reporting tables | 6 hours |
Reltio | 7 days | ENTITY , INTERACTION , MATCH , and RELATION tables | 6 hours |
Ricochet360 | 30 days | LEAD table and its child tables | 6 hours |
Rithum | 15 days | ORDERS and PRODUCT tables | 6 hours |
Salesforce Commerce Cloud | 15 days | CAMPAIGN , COUPON_REDEMPTION , CUSTOMER , ORDER , and PRODUCT tables | 6 hours |
Salesforce Marketing Cloud | 1 day | CHAT_INBOUND_MESSAGE_LOG , CHAT_POTENTIAL_UNSUBS , CHAT_TRACKING , EMAIL , EVENT , LIST , LIST_SUBSCRIBER , MOBILE_PUSH_DETAIL_EXTRACT , PUSH_MESSAGE , SEND , SMS_MESSAGE_TRACKING , SUBSCRIBER , and TRIGGERED_SEND tables | 6 hours |
Shopify | 15 days | ABANDONED_CHECKOUT , COLLECTION , CUSTOMER , DRAFT_ORDER , ORDER , PRICE_RULE , PRODUCT , and TENDER_TRANSACTION tables | 6 hours |
Snapchat Ads | 30 days | All reporting tables | 6 hours |
StarRez | 15 days | All tables except BOOKING_TYPE , CUSTOM_FIELD_USAGE_TYPE_ENUM , ENROLLMENT_TYPE_ENUM , ENTRY_STATUS_ENUM , FIELD_DATA_TYPE_ENUM , GENDER_ENUM , GL_POSTING_TYPE_ENUM , GROUP_STATUS_ENUM , NATIONALITY , ROOM_RATE_DURATION_ENUM , ROOM_SPACE_TYPE_ENUM , ROOMSPACE_CLOSED_REASON , and TRANSACTION_TYPE_ENUM tables | 6 hours |
Stripe | 30 days | All tables and their child tables except APPLE_PAY_DOMAIN , CHECKOUT_SESSION , CREDIT_NOTE , EARLY_FRAUD_WARNING , PLAN , and SKU tables | 6 hours |
Taboola | 30 days | All reporting tables | 6 hours |
The Movie Database | 12 days | MOVIE, TV_SERIES tables and their child tables | 6 hours |
The Trade Desk | 30 days | All reporting tables | 6 hours |
TikTok Ads | 30 days | All reporting tables | 6 hours |
Twitter Organic | 30 days | ORGANIC_TWEET_REPORT table | 6 hours |
UKG Pro | 30 days | COMPENSATION , DIRECT_DEPOSIT , EMPLOYEE_CHANGE , EMPLOYEE_CONTRACT , EMPLOYEE_GLOBAL_BANK , EMPLOYEE_GLOBAL_LOCALIZATION_ELEMENT , EMPLOYEE_JOB_HISTORY , EMPLOYEE_PAY_DEDUCTION_ELEMENT , EMPLOYEE , and EMPLOYMENT tables | 6 hours |
Workleap Officevibe | 15 days | ENGAGEMENT and FEEDBACK tables | 6 hours |
Xactly | 30 days | All tables except COMMISSION_SUMMARY and QUOTA_SUMMARY tables. | 6 hours |
Yahoo DSP | 30 days | All reporting tables | 6 hours |
Zonka Feedback | 15 days | RESPONSE table and its child tables | 6 hours |
Zendesk | 15 days | TICKET table and its child tables | 6 hours |
Additional MAR management resources
See connector-specific articles linked below for more MAR management best practices: