Monitor and optimize usage
Overview
Be up to date and become proactive by monitoring your active row usage. An active row is a row that is inserted or updated in your destination during a given month. On incremental syncs, rows that don't change don't add to your usage. Your usage page shows both total rows synced and active rows, so you can see what share of your synced rows count toward your plan.
Note: To find out how many rows you need, start a free trial or connect a type of source you haven't used before and let it run for 14 days. During that period, Weld tracks your Monthly Active Rows (MAR) automatically without charging for usage.
How Usage is Measured
A monthly active row is any row of data that is inserted or updated during a given month across your connected sources. How rows count depends on how a table syncs:
- Incremental syncs: each new or updated row counts as an active row. Rows that haven't changed aren't synced, so they don't add to your usage.
- Full syncs: each row in the table counts as one monthly active row, however many times the table is resynced that month.
- Subtables, the child tables some connectors write alongside a parent table (for example
order_linenext to the Shopifyordertable), count the same way as any other table from December 1, 2026. - History tables: rows in history tables count at 50% of a regular active row from December 1, 2026.
- Extra destinations: if a sync also loads into extra ELT destinations, each extra destination adds 50% of the sync's active rows from December 1, 2026.
Here is one table across a month with three syncs. Switch between the two sync types to see how the same changes add up:
shopify.orders · October| Row | Sync 1 | Sync 2 | Sync 3 | Counts |
|---|---|---|---|---|
| order 1001 | unchanged | unchanged | unchanged | 0 |
| order 1002 | unchanged | unchanged | unchanged | 0 |
| order 1003 | unchanged | updated | updated | 2 |
| order 1004 | unchanged | unchanged | unchanged | 0 |
| order 1005 | unchanged | unchanged | unchanged | 0 |
| order 1006 | new | unchanged | unchanged | 1 |
| order 1007 | · | new | unchanged | 1 |
Each insert or update that is synced counts. 1003 changed in two syncs, so it counts twice. Rows that did not change count nothing.
These don't count toward your active rows:
- The first 14 days of a connector type you haven't used before. Everything a connector syncs in the 14 days after you first connect that type of connector is free. A second connection of the same type, for example a second Shopify store, doesn't start a new 14 days. Custom connectors get 14 days per connection.
- The first sync of a new table, which loads its history.
- Resyncs Weld runs itself, for example after a schema change.
- Backfills on request. To reload historical data for a table you already sync, ask us in the support chat in the Weld app and we'll run the backfill free of charge. Full syncs you trigger yourself count once a month, like any other full sync.
You can follow your usage and how it grows on the Usage page. Projected Usage on the Plan Details & Billing page estimates where the current billing cycle will end (how the forecast works).
Counting usage:
- New and updated rows count toward your MAR total.
- Bill is based on usage within your current plan's included MAR allowance.
- If your volume grows, raise your active rows limit or move to a higher plan under Plan Details & Billing → Modify Plan. See Plans & billing.
ELT and Reverse ETL Usage
Weld tracks usage separately for:
- ELT: Rows synced from source systems into your data warehouse (e.g. databases and SaaS tools).
- Reverse ETL: Rows synced from your data warehouse back into downstream tools (e.g. CRMs, marketing tools).
Both contribute to your total Monthly Active Rows and are visible in the Usage dashboard.
See your usage
Open Settings → Usage, or the Usage Statistics tab on the Data Sources or Reverse ETL page.

- Period: the current or previous billing cycle, the last 7, 14 or 30 days, the last 3 months, or a custom date range.
- Active rows shows what counts toward your plan. Total rows shows every row inserted or updated by a sync, including rows that don't count toward your plan.
- Totals for the period, split between data sources (ELT) and reverse ETL.
Below the totals, Daily active rows shows usage per day and Active rows over time the running total against your plan's limit. During the current billing cycle it also shows a forecast for the rest of the cycle.

- Usage by connector type: which tools use the most rows.
- Usage by source table: the tables behind those numbers. Use Filter source tables to find one.
- Tables with a History label also keep a history table.
The tables at the top of the list are where switching a full sync to incremental, or turning off a table you don't use, saves the most.
Forecast your usage
Weld estimates where your active rows will end up by the close of the billing cycle, so you can act before you reach your plan's limit.
- Projected Usage on Settings → Plan Details & Billing shows the active rows used so far in the current usage period, against your plan's limit, and where the period is projected to end.
- Active rows over time on the Usage page draws the forecast for the rest of the current cycle next to the running total.
- During a free trial, the trial card shows the active rows synced since the trial started and a monthly estimate based on that activity, to help you pick a plan.

- Projected: where the cycle is expected to end. Here, about 4.3M of a 5M limit.
- The solid line is the running total so far, up to Today.
- The dashed line is the forecast for the rest of the cycle, drawn against your plan's Limit. If it crosses the limit before the cycle ends, you'll go over unless something changes.
The forecast is built from your recent sync history. Incremental syncs follow their recent daily trend, and full syncs are projected from the size of the table, since each row counts once a month. It needs some history first: until there's enough, Weld shows that the estimate is unavailable.
Treat it as an estimate. Adding, changing or removing data sources, and changes in how much data your sources produce, move the actual number away from the forecast.
Sync Options & How They Impact Usage
Weld supports two primary sync modes: incremental syncs and full syncs. It is important to note that your choice of sync method directly impacts how many Monthly Active Rows (MAR) are generated and therefore how much usage you consume.
Incremental Syncs
By default, Weld uses incremental updates whenever possible. This means we only sync rows that are new, updated, or deleted since the last successful sync.
As a result:
-
You only pay for rows that actually change.
-
Data that stays unchanged isn't synced again, so it doesn't add to your usage.
-
This keeps usage predictable and cost-efficient.
Example scenarios:
-
If your system mainly receives new records (for example, new customers or transactions), only those new rows count toward MAR.
-
If you occasionally update existing records, only those modified rows are counted for that month.
-
This approach ensures you’re only billed for active data movement, not your entire dataset.
Full syncs
In some cases, you may choose (or be required) to run a full sync, which re-imports the entire dataset from the source system. On a full sync, each row in the table counts as one monthly active row, however many times the table is resynced that month. Because the whole table counts every month, a large table on full syncs uses more MAR than the same table synced incrementally.
Example scenarios:
-
If you modify historical records frequently, Weld may need to re-sync large portions of your tables.
-
If your connector or configuration requires full refreshes, the whole table counts toward your MAR each month, not just the rows that changed.
Analyze usage with Claude
Connect the Weld MCP server to Claude and you can ask about your syncs in plain language. Claude can list your syncs and tables, see each table's sync mode and schedule, and read up to three months of runs with the rows each run synced. That's enough to find which tables drive your usage and what to change.
Questions to start with:
- "Which tables synced the most rows in the last 30 days, and are they on incremental or full sync?"
- "Which full-sync tables run more than once a day? Which of them could switch to incremental?"
- "Which syncs run every hour or more often, and how many rows does a typical run bring in?"
- "Did any table's synced rows jump in the last two weeks? When did it start?"
Claude reads the rows each run synced, and your plan counts active rows. A full sync that runs daily shows its rows on every run, but counts each row once a month. The Usage page shows the numbers on your plan, and Claude helps you find out what drives them.
Best Practices to Control Usage
- Use incremental syncs whenever possible
- Avoid unnecessary updates to historical data
- Schedule full syncs only when required
- Check the Usage page regularly
What Happens if you Reach your Limit
If your usage exceeds your plan's included MAR, we warn you in the app or by email first, and the extra usage is billed at your plan's rates. To stay within your plan, or if you approach your limit:
- Raise your active rows limit under Plan Details & Billing → Modify Plan.
- You can upgrade your plan to a higher tier directly from Plan Details & Billing
If you're unsure of your data syncing needs, getting close to the limits, or need to increase your limit, you can always reach out to our support team for assistance and guidance here, or you can book a call with us here.