Skip to Content
CoursesSyncGTM 10113 Waterfalls and credits

Waterfalls and Credits

Outcome: you can predict a run’s cost before pressing go, read where the credits actually went afterwards, and have applied at least two of the four cost habits to your own table.

Surface
Sync GTM app and MCP server
Level
Beginner
Uses
check_credits
Credits
0
Prerequisite
Lessons 11 and 12 run at least once

How a waterfall bills

A waterfall asks providers in sequence and stops at the first usable answer.

Provider A → hit → billed once, done Provider A → miss Provider B → hit → billed once, done Provider A → miss Provider B → miss Provider C → miss → not billed, no result

Two consequences worth internalising:

  • You pay for results, not attempts. Stacking more providers raises hit rate without raising cost per found record much, because the later providers only see the leftovers.
  • A miss is free. A column that returns nothing on 30% of rows charged you for 70% of them.

That is why “this column cost less than I estimated” usually means your hit rate was lower than you assumed — not that you got a discount.

Reference: Credits.


Estimating before you run

rows × cost per row for each column, summed. Take the estimate from the pricing on Credits and adjust by expected hit rate.

ColumnRowsCost eachExpected hitEstimate
Company enrich5000.595%~238
Tech stack5000.585%~213
Filter to 12000
Find people (2 each)2400.390%~65
Work email2401.075%~180
Verify1800.1100%~18
AI opening line1801.0100%~180
Total~894

Do this before every large run. The number is rarely what people guess, and the surprise is almost always in a column running against more rows than intended.


Reading where it went

After a run, check consumption per column rather than the total. The question to answer is: what fraction of spend landed on rows that were later filtered out?

In the table above, 451 credits — over half — were spent above the filter. That is not waste; it is the cost of qualification. But it is where to look first when the bill is uncomfortable, because it is the largest line.

If more than about 60% of a run’s spend is above your first filter, you are qualifying too expensively. Find one cheaper column that removes a similar share of rows, and put it first.


Four habits that halve a bill

Test on five rows

Every new column, every time. The most expensive credits are the ones spent on a misconfigured column across 500 rows.

Filter between every stage

Not at the end. A filter after the run has already been paid for.

Set refresh cadences

Re-running everything weekly is the most common form of invisible overspend, because it does not look like a mistake — it looks like keeping data fresh.

Do not enrich what you will not use

Read your table and count the columns nobody has looked at. Delete them. Each one is a per-row charge on every run.


Not running out mid-run

A run that stops halfway leaves a table in a mixed state, and finding which rows completed is tedious.

  1. Run check_credits before any large run, or read the balance in the app.
  2. Compare against your estimate, with headroom.
  3. Set a low-balance alert well above zero — enough to cover one full run.
  4. For scheduled jobs, check the balance covers several runs, not one. A scheduled weekly job that silently fails is worse than one that never ran.

Do this now

Estimate your last run

Build the table above for the run you already did. Compare with actual consumption.

Find the gap

If actual came in under estimate, your hit rate is below what you assumed — check which column.

Compute the above-filter share

Credits spent before your first filter ÷ total.

Apply two habits

The two from the list you are not already doing.

Set the alert

A low-balance threshold that covers one full run.


Check your work

  • You have an estimate and an actual for one run, and can explain the gap
  • You know what share of spend happens above your first filter
  • Every column has a refresh cadence
  • A low-balance alert is set

Where this breaks

Scheduled runs are where credit surprises come from, because nobody is watching. A weekly job on a growing table costs more every week, and the first sign is usually an empty balance rather than a rising number. Check consumption on the second and fourth run of any new schedule specifically — that is when a cadence mistake becomes visible and is still cheap to fix.


Further automation

Log credits consumed and contactable rows produced per run into a sheet. Cost per contactable lead over time is the best early warning a pipeline has — it drifts up before reply rates fall, because targeting decay shows in hit rate first. GTM Engineering lesson 08 works the number through.


Next lesson

14 — Cleaning and classifying, turning messy enrichment output into values you can filter and sort on.

Reference for this lesson: Credits, check_credits, Actions, Payment.