Quick answer

A practical scorecard for an agency's own acquisition funnel, signed work, delivery capacity, invoicing, collection, retention, and concentration.

A marketing agency dashboard can be full and still leave the founder blind. Search clicks rise while qualified enquiries fall. Sales signs a website project without checking the design pod. Delivery marks a retainer “done” because the month ended. Finance reports issued invoices beside collected cash. Each number may be real, but the operating story is broken.

This guide builds a measurement dictionary for the agency business itself. It covers the path from an impression for the agency's own marketing through signed work, completed scope, invoices, and collection. A booked job means a signed and scheduled initial engagement or statement of work. A completed job means the agreed initial project or milestone has passed the agency's documented completion rule.

Client campaign reporting stays outside this system. Use the specialist guides for SEO KPIs and content marketing KPIs. Here, you will build:

  • a seven-stage acquisition-to-delivery dictionary with evidence for every handoff;
  • engagement rules for retainers, projects, sprints, white-label work, and performance-linked scope;
  • capacity, collection, retention, and concentration views that preserve cohort logic; and
  • a weekly scorecard that turns disagreements into diagnostic questions.

Start with agency decisions, not a giant KPI list

Choose marketing agency KPIs by the decisions they inform: whether acquisition produces qualified work, whether delivery can accept and finish signed scope, and whether completed work becomes collected cash without hidden concentration. A raw metric becomes a KPI only when it has a definition, owner, evidence window, and named operating decision.

Keep the first scorecard compact. Dashboard size measures reporting effort, not management maturity; each row should support an acquisition, delivery, or collection decision.

The boundary matters because agencies operate two measurement worlds. One concerns their own prospects and delivery. The other concerns campaigns run for clients. Mixing them can make a client's large ad account look like agency acquisition, or make client sales look like the agency's collected cash.

Measurement areaEntity measuredSystem of recordAccountable ownerAllowed decisionProhibited inference
Agency acquisitionProspect interaction with agency-owned marketingSearch Console, ads, web analyticsAcquisition leadInspect source and messageAssume a click became an enquiry
Agency salesAgency enquiry and opportunityCRM, call/form log, contract systemSales ownerReview qualification and signed scopeCall an unsigned proposal booked
Agency deliverySigned agency engagementProject and resource systemDelivery ownerAccept, sequence, pause, or re-scope workCall active work completed
Agency billing/collectionInvoice and cash eventAccounting ledgerFinance ownerReview issue and collection lagCall invoiced value collected
Client campaign performanceClient audience, leads, or salesClient analytics, ad platform, CRMClient account ownerChange the client's campaignAdd client results to agency growth

This measurement layer observes the agency business model you actually run.

Write the seven-stage agency funnel dictionary before calculating rates

Define impression, click, call click, form, qualified enquiry, booked job, and completed job as seven separate records. Give each its own event rule, identifier, timestamp, system, owner, exclusions, and next-stage evidence. If one system cannot supply those fields, keep the later KPI unavailable rather than filling the gap with zero.

StageExact event ruleID and deduplicationTimestampSource and ownerExclusionsNext-stage evidence
ImpressionAgency-owned result counted under the platform's rulePlatform aggregation; preserve page/query filtersPlatform reporting dateSearch Console or ad platform; acquisition leadClient properties, tests, unmatched filtersPlatform click record
ClickClick to an agency-owned destinationPlatform click ID where available; retain aggregation ruleClick time/reporting dateSearch/ad platform plus analytics; acquisition leadClient traffic, bots, internal testsEligible session or call/form event
Call clickUnique activation of the agency's tracked call controlEvent/session ID; remove repeat testsEvent timeAnalytics and call-control log; analytics ownerBots, tests, client traffic, number viewsConnected call or intake record; never assumed
FormUnique valid form accepted by the agency backendSubmission ID; merge exact duplicates by written ruleBackend receipt timeForm backend plus analytics; analytics ownerSpam, tests, applicants, vendors, client formsCRM qualification record
Qualified enquiryValid call/form passes service, vertical, authority, timing, and capacity rulesCRM person/opportunity ID; consolidate duplicatesQualification decision timeCRM and intake evidence; sales ownerSpam and duplicates; disqualified prospects remain in denominatorExecuted scope plus start slot
Booked jobExecuted initial scope with recorded start or delivery slotContract/opportunity ID; one initial engagement per ruleLast required booking evidence timeCRM, e-sign, project schedule; sales owner with delivery sign-offVerbal interest, unsigned proposals, undeclared renewalsAcceptance/completion record
Completed jobInitial engagement meets its written completion or acceptance ruleProject/engagement ID; no task-count substitutionAcceptance or completion timeProject system and acceptance evidence; delivery ownerActive, canceled, blocked, internal, undeclared renewalsInvoice and collection states

Search Console reports clicks, impressions, CTR, and average position, while its aggregation rules explain why those counts are not sessions or customers. Google Analytics likewise recommends distinct lead events such as generate_lead, qualify_lead, and close_convert_lead. Your business still has to define what each event means.

Turn a disconnected dashboard into an agency operating review. Map the evidence gaps, owners, and next decisions before adding another metric.

Book a free strategy call →

Choose acquisition KPIs by service line and buying motion

Segment acquisition only where the agency can reliably join source, service line, buyer, and engagement records. An SEO retainer, paid-media audit, website build, content sprint, and white-label assignment have different qualification and sales-cycle evidence. Report unattributed records openly; do not force them into the channel that looks most plausible.

A reputation incident may be urgent; a retainer search may take several calls. Urgency remains one qualification field and never replaces signed scope or accepted capacity.

Engagement typeQualification ruleBooked-job evidenceCompletion ruleDelivery dependencyInvoicing stateRenewal treatment
SEO/content retainerFit for recurring scope, market, access, authority, timing, capacityExecuted retainer plus first service period scheduledWritten initial-period deliverables acceptedAccess, approvals, specialist capacityTrack issued and collected separately by periodNew period/renewal cohort, not initial booking
Paid-media management retainerPlatform/access fit, review gates, media responsibility, capacityExecuted scope plus onboarding/start slotInitial setup milestone passes acceptance ruleAccount access, creative, client approvalsSeparate fee from pass-through media spendRecurring periods tracked separately
One-time audit or sprintDefined question, inputs, authority, deadline, capacitySigned scope plus workshop/delivery slotNamed artifact delivered and acceptedData access and stakeholder availabilityIssued, due, collected, refunded/write-off statesNo renewal unless new scope is signed
Website or campaign projectRequirements, decision group, launch timing, dependency fitExecuted SOW plus project startDeclared milestone or launch acceptanceContent, design, development, approvalsTrack milestone invoices separatelyMaintenance or new project is separate
White-label deliveryPartner scope, end-client boundaries, volume, review path, capacityPartner agreement plus assigned work orderWork order passes partner acceptancePartner briefs, approvals, identity boundariesInvoice partner; preserve work-order linkEach new order/period follows declared rule
Performance-linked arrangementAttribution, control, baseline, scope, compliance review, capacityExecuted terms plus start slotInitial contractual milestone, not claimed outcomeData access and client-controlled actionsTrack fixed, variable, issued, disputed, collected separatelyApply the contract's declared period rule

Label each segment attributable, partial, unattributed, or unavailable. The SBA's planning guidance supports recording actual demand, market, alternatives, and rivals instead of assuming every agency buyer is local.

Use complete formulas, not labels

Every displayed rate needs a numerator, denominator, evidence window, source system, owner, and exclusions. Use unique records from the same declared cohort. These definitions are calculation contracts, not target values.

KPINumeratorDenominatorEvidence windowSource systemOwnerExclusions
Search CTRSearch Console clicks for selected agency pages/query groupImpressions for identical groupDeclared 28 days; like-for-like prior windowSearch Console PerformanceMarketing ownerClient properties, paid/test traffic, unmatched filters
Call-click rateUnique attributable tracked call clicksUnique eligible attributable clicks/sessions exposing controlDeclared 28-day acquisition windowAnalytics + call-control logMarketing/analytics ownerTests, bots, client traffic, number views, connected-call assumptions
Form completion rateUnique valid agency formsUnique attributable eligible landing visitsDeclared 28-day acquisition windowAnalytics + form backendMarketing/analytics ownerSpam, tests, duplicates, applicants, vendors, client forms, unreliable attribution
Qualified-enquiry rateUnique enquiries qualified by written ruleAll unique valid agency call/form enquiries in cohort28-day enquiry cohort + declared qualification lagCRM/intake + call/form recordsSales ownerSpam, duplicates, applicants, vendors; disqualified stays denominator
Booked-job rateUnique qualified enquiries with executed scope and start slotAll unique qualified enquiries in cohort28-day enquiry cohort + declared sales lagCRM + e-sign + project scheduleSales owner with delivery sign-offUnsigned, verbal, duplicates, undeclared renewals/expansions
Completed-job rateUnique booked initial engagements meeting acceptance ruleAll unique booked initial engagements in cohortBooked cohort + declared delivery lagProject system + acceptance recordDelivery ownerActive, canceled, blocked, internal, undeclared renewals

Add capacity and delivery KPIs before pushing demand

Measure capacity for each named service line and pod across one declared upcoming four-week window. Start with available client-delivery hours after planned leave and fixed non-client obligations, then compare committed work. Keep rework, scope change, and client-blocked time visible because each calls for a different operating response.

An SEO pod waiting for access, a design pod handling rework, and a paid-media specialist committed to launches face different constraints. One agency-wide percentage hides them.

Service lineTeam/podAvailable client-delivery hoursCommittedPlanned leaveBlockedScope changeReworkOwnerWindowPause-new-work condition
Declare one: SEO, paid media, content, web, or white-labelName accountable podAfter leave and fixed obligationsSigned scheduled scope onlyApproved hoursClient dependency hoursApproved change hoursCorrection hours by written ruleDelivery leadUpcoming four weeksAgency-written evidence condition, not a universal threshold

Delivery-capacity load uses committed client-delivery hours as numerator and available hours for the same service line/pod as denominator. Its evidence window is the declared upcoming four weeks; its source is the resource-planning/time system; its owner is delivery operations. Exclude unbooked pipeline, unapproved overtime, unconfirmed contractors, and unrelated service lines.

Do not count every nominal work hour as available. Set leave and fixed obligations before the window; preserve the original commitment when approved scope changes.

Connect completed work to invoice and collection states

Track booked job, completed job, invoice issued, cash collected, refund or write-off, and renewal or expansion as separate states. Use the agency's own contract and accounting rules for each transition. An accepted audit can be completed before its invoice is issued, and an issued invoice remains uncollected until cash is recorded.

Key the status ledger to the engagement ID and show where completed scope is waiting. This is an operating control, not accounting, tax, or revenue-recognition advice.

Collected contribution rate has cash collected for a declared completed-engagement cohort minus documented direct delivery labor and direct external fulfillment cost as numerator, and cash collected for that cohort as denominator. Use the completed cohort plus stated collection lag, the accounting ledger joined to time/vendor records, and a finance owner with operations sign-off. Exclude tax, pass-through media, unpaid invoices, undeclared owner labor/overhead, and unposted refunds/write-offs.

Google Ads permits separate website, call, and offline conversion actions and lets the advertiser choose what enters its Conversions column. That flexibility makes a written agency definition essential; a platform conversion label cannot prove contract execution, completion, invoicing, or collection.

Monitor retention and concentration without false precision

Calculate retention, expansion, contraction, and concentration only after declaring the entity, cohort, currency, and observation window. Separate recurring retainers from one-time projects: a project that reaches accepted completion is not churn, while a paused retainer is not retained unless it satisfies the agency's written active-service rule.

Define a logo as a legal customer, billing group, or consolidated family. Service-line retention needs that same entity and service. Expansion and contraction require comparable scope or collected-value rules.

Client concentration uses collected revenue from the largest declared client or consolidated client group as numerator and total collected agency revenue in the same period and currency as denominator. Choose a trailing 90-day or 12-month window before calculation. Use the accounting ledger/customer master with finance ownership. Exclude taxes, pass-through media, intercompany entries, unpaid invoices, and unconsolidated aliases.

No portable concentration, churn, or retention target applies. Review which pod, service line, or payment schedule is exposed if the declared client group changes.

Build one scorecard with owners and stop rules

Use a weekly operating view for acquisition flow, capacity, and data quality, then a monthly cohort view for completion, collection, retention, and concentration. Every row needs a current window, calculation fields, source, owner, exclusions, quality flag, diagnostic question, and next review date. Never substitute universal red-green thresholds.

RoleEditable sourceDefinition dutyDispute duty
Acquisition leadCampaign taxonomy and marketing annotationsProposes impression/click/source rulesReconciles platform and site filters
Sales ownerCRM qualification/opportunity stateApproves enquiry and booked-job rulesResolves qualification and contract evidence
Delivery ownerResource and project stateApproves capacity and completion rulesResolves scope, block, rework, acceptance
Finance ownerInvoice, collection, refund/write-off stateApproves ledger joins and collection definitionsResolves client aliases and cash matching
Founder/GMDecision log, not underlying recordsApproves cross-functional dictionarySets stop/change/continue decision and date
MetricCohort/windowNumeratorDenominatorSourceOwnerExclusionsQualityDiagnostic questionNext review
Qualified-enquiry rateDeclared 28-day cohort + qualification lagQualified enquiriesAll valid enquiriesCRM + intakeSalesSpam/tests; retain valid disqualifiedComplete / partial / unavailableDid fit change, or did the rule/source change?Dated decision meeting
Delivery-capacity loadNext four weeks; named podCommitted hoursAvailable hoursResource/time systemDeliveryPipeline, unapproved overtime, unconfirmed contractorsComplete / partial / unavailableWhich dependency or scope change constrains starts?Dated capacity review
Collected contribution rateCompleted cohort + collection lagCollected cash less declared direct costsCollected cashLedger + time/vendor costFinance + operationsTax, pass-through, unpaid, undeclared cost, unposted adjustmentComplete / partial / unavailableIs the movement collection timing, scope, labor, or fulfillment?Dated monthly close review

End with a stop, change, or continue action, a named owner, and a review date. This is a controlled test, not a performance promise.

Build a scorecard your acquisition, delivery, and finance owners can use together. Start with one decision, one cohort, and the evidence needed to make it.

Book a free strategy call →

Diagnose metric disagreements before changing strategy

When two systems disagree, pause the affected conclusion and reconcile record definitions, identifiers, timestamps, filters, and edit history. Most gaps come from measurement mechanics: duplicate forms, spam, call-click inflation, cross-device identity loss, offline close lag, CRM drift, scope changes, late invoices, or refunds posted after reporting.

A common failure appears after a campaign launch: analytics shows 18 call clicks, the intake log shows 11 connected calls, and the CRM shows 6 valid enquiries. Those are three different stages, not competing versions of one number. Keep each count, investigate join coverage, and calculate only the rates whose cohort evidence is complete.

Use this failure-state checklist during reconciliation:

  • spam or duplicate enquiry; vendor or job applicant;
  • wrong service or target vertical; budget/timing mismatch; no decision authority;
  • capacity unavailable; unsigned scope;
  • client dependency blocked; scope changed; incomplete delivery;
  • invoice not issued; invoice unpaid; refund/write-off; or unattributed source.

For retroactive CRM edits, retain both event and decision timestamps. Let offline-close cohorts mature before comparing them with a completed prior cohort.

Client-side data is another frequent contaminant. An agency may manage a home-services advertiser with thousands of ad clicks and booked service calls. Those records describe the client's campaign. They cannot enter the agency's acquisition or booked-job rate, which concerns the advertiser buying the agency's paid-media service.

Frequently asked questions about marketing agency KPIs

Agency KPI questions usually turn on definitions, evidence, and timing rather than the size of a dashboard. The answers below preserve the boundary between an agency prospect, a signed engagement, completed scope, and client campaign performance. Apply them through your written contract, delivery, CRM, and accounting rules.

What KPIs should a digital marketing agency track?

A digital marketing agency should track its seven acquisition-to-delivery stages, delivery-capacity load, invoice and collection states, retention by engagement type, and client concentration. The useful subset depends on current decisions. Keep client campaign results on a separate dashboard, and mark any KPI unavailable when its numerator, denominator, or cohort evidence is missing.

What is the difference between an agency metric and a KPI?

A metric records an observation; a KPI connects a defined calculation to a decision, owner, evidence window, and review date. Form count is a metric. Qualified-enquiry rate becomes a KPI when the agency defines qualification, preserves disqualified enquiries in the denominator, names the CRM as its source, and uses the result to review intake.

Does a form submission count as a qualified agency lead?

No. A form records a submission, while a qualified enquiry has passed the agency's written checks for service fit, target vertical, decision authority, timing, and available capacity. Spam, job applicants, vendors, and duplicates are excluded from valid forms. Genuine but unsuitable prospects stay visible as disqualified enquiries so intake quality is not overstated.

Does a signed proposal count as a completed agency job?

No. Executed scope plus a recorded start or delivery slot establishes a booked job. Completion occurs only after the initial engagement or milestone passes the written acceptance rule in the project system. An SEO retainer kickoff, an audit delivery, and a website launch therefore need different completion evidence, even when all began with signed proposals.

How should an agency measure retainers versus one-time projects?

Measure retainers and one-time projects in separate cohorts. A retainer needs a recurring service period, renewal treatment, and pause rule. A project needs a defined milestone, acceptance rule, and closeout state. Do not label a successfully completed project as churn, or assume an active retainer has completed merely because its first invoice was paid.

How often should an agency KPI dashboard be reviewed?

Review flow, capacity, and data-quality questions weekly, then review completed engagement, collection, retention, and concentration cohorts monthly. Use longer declared windows where sales, delivery, or collection lag makes a weekly rate immature. The calendar is less important than comparing like-for-like cohorts only after each has had enough time to reach the measured stage.

What should an agency do when CRM and analytics numbers disagree?

Pause the affected decision and reconcile definitions before changing strategy. Compare identifiers, timestamps, filters, attribution windows, duplicate handling, and retroactive edits. Analytics may record a call click while the CRM records only connected enquiries. Preserve both facts, document the gap, and mark the derived KPI unavailable until its required evidence can be joined reliably.

Should client campaign KPIs appear on the agency's own growth dashboard?

No. Client impressions, clicks, forms, calls, sales, and booked work belong to client campaign reporting. The agency growth dashboard measures prospects buying the agency's services, the team's delivery of signed scope, and the agency's collection states. A separate linked view may provide context, but its records must never enter agency-funnel numerators or denominators.

Put the scorecard into operation over 30 days

Implement the scorecard in four weekly passes: define boundaries, instrument the seven stages, join delivery and collection evidence, then run one decision meeting. Do not backfill guessed values. Preserve unavailable fields, record data-quality limits, and let the first complete cohort establish an internal comparison baseline rather than importing an outside benchmark.

  1. Days 1–7: approve the agency-versus-client boundary, name owners, and document identifiers, timestamps, exclusions, and edit rights.
  2. Days 8–14: instrument all seven stages. Test calls and forms, but tag and exclude the tests. Confirm that call clicks never masquerade as connected enquiries.
  3. Days 15–21: add engagement-type completion rules, the four-week capacity card, invoice states, collection evidence, and consolidated client identities.
  4. Days 22–30: populate the weekly view, mark incomplete KPIs unavailable, choose a next review date, and log one stop, change, or continue decision.

The agency's growth sequence can then use this dictionary without confusing activity with evidence; see the marketing agency growth guide for that wider operating plan. If content production is one capacity constraint, the Content SEO module can research keywords, draft content, score and queue it, and publish it to a connected CMS. Its use alone does not prove any acquisition or financial KPI moved.

Leave with a measurement dictionary your team can defend. Connect agency demand, signed scope, delivery, and cash without inventing the missing stages.

Book a free strategy call →

Sources & references

AVR

Akshay VR

Marketing Head

Marketing Head at theStacc. Previously Senior Marketing Specialist at ARKA 360. Runs content strategy and SEO for B2B SaaS.

From the theStacc product Explore theStacc modules

Blog SEO, Local SEO, and Social Media — one dashboard, no headaches.