Credit burn visibility: show clients data vs action spend without exposing agency margin
Clients ask a fair question: "Where did the credits go?"
Agencies need an answer that is specific enough to trust and blunt enough to protect margin. Showing raw vendor invoices or wholesale rates is not transparency — it is a negotiation gift.
Separate what burned from what it cost you.
Two credit types, two stories
In GTM's model, usage funds convert into credits with two meters:
- Data credits — enrichment, lookup, verification-style work (priced at $0.01 each in product)
- Action credits — send, reply, booking-motion work (priced at $0.0025 each in product)
Clients choose how prepaid funding splits across those meters. That split is the conversation. Your agency markup is not.
Report burn in client units, not your COGS.
What belongs on the client scorecard
HubSpot's customer-success metrics framing still applies to agency outbound: measure what the customer can act on. A weekly credit view should answer:
- Data credits burned this period (by campaign or ICP)
- Action credits burned this period (email vs LinkedIn if you track both)
- Remaining prepaid balance in units (not dollars of your cost)
- Conversations booked and meetings held — the outcomes credits were meant to buy
- Optimization context: GTM's public goal is roughly one qualified booked call per $100 of usage — a goal, not a guarantee
ProspectingManual's multi-client guide treats per-client dashboards as the difference between ad hoc reporting and a book you can scale. Credits belong on that dashboard.
What never belongs on the client scorecard
Keep these internal:
- Wholesale rates from data vendors
- Your blended cost per credit
- Margin percentage or markup formula
- Cross-client comparisons of who is "cheaper to run"
- Seat or infrastructure costs you absorb
If a client wants dollar transparency, quote the prepaid funding they purchased and the units remaining. Do not itemize your supplier bill.
Build a three-layer ledger
| Layer | Audience | Contents |
|---|---|---|
| Workspace ledger | Client | Data vs action units in/out, campaign tags, remaining balance |
| Agency cost ledger | Ops/finance | Vendor invoices, true COGS, margin |
| Exception log | Ops | Refunds, double-enrich retries, compliance-driven resends |
AWS's tenant-management guidance for multi-tenant email is a useful metaphor: isolate reputation and metrics per tenant so one client's behavior cannot rewrite another's story. Credits deserve the same isolation — Client A's enrichment spike should not appear in Client B's report, and your margin layer should never ride along in the export.
Explain burn without defending margin
When a client questions spend:
- Show unit burn by stage — find/qualify (mostly data) vs send/reply/book (mostly action)
- Flag retries — hard-bounce re-enrich, compliance false-positive rechecks, list hygiene
- Tie burn to outcomes — booked and held conversations, not vanity reply rate
- Offer a split change — more data / less action or the reverse — as a product decision, not a discount argument
If enrichment freshness is low, data burn rises before action burn should. If sequences thrash on soft bounces, action burn rises without pipeline. The report should make that visible.
Practical export columns
Ship a CSV or dashboard tile with:
period_start,period_endclient_workspace_iddata_credits_used,action_credits_useddata_credits_remaining,action_credits_remainingcampaign_id(optional rollup)conversations_booked,meetings_held- Notes field for known anomalies
No cost columns. No margin columns. No vendor names unless the client contract requires them.
What GTM expects you to keep separate
GTM funds workspaces with prepaid credits that roll over while billing stays active, with onboarding separate from usage. Client-isolated workspaces keep one brand's burn from contaminating another. Your job as the agency is to mirror that isolation in reporting: clear unit visibility for the buyer, private economics for the firm.
If you are building that motion now, join the waitlist.
