Build one defensible MSP scorecard across acquisition, sales, onboarding, invoicing, and collection without confusing activity with revenue.
An MSP can report more clicks while onboarding is full and invoices remain unpaid. A healthy-looking dashboard may reveal little about supportable, collected work.
This guide gives MSP owners, marketing leads, and revenue-operations owners a measurement contract. It follows an account from search exposure through enquiry, qualification, proposal, agreement, onboarding, invoicing, and collection. It keeps recurring managed services apart from projects, co-managed IT, and urgent break/fix work. For execution tactics, use the separate IT services SEO guide; this page owns measurement.
What an MSP marketing KPI must decide
An MSP marketing KPI is a defined measure tied to an owner, a service cohort, and a decision that person can make. A raw count becomes useful only when its event rule, evidence window, exclusions, and downstream limit are explicit. Otherwise, the dashboard records activity without telling the MSP what to change.
Collection also lags the marketing event. Monthly recurring revenue, total contract value, pipeline, invoiced revenue, and collected revenue describe different things. Keep each as its own field if the business uses it; never substitute one for another. Marketing can influence an account before sales, onboarding, service delivery, and finance determine whether the work becomes supportable and paid.
If the owner cannot name the choice a number supports, it is a metric in search of a job. See the content marketing KPI guide and SEO KPI guide for narrower measurement.
Define MSP services and cohorts before events
Define the service line, target account, contract shape, source, and timing rules before recording funnel events. An MSP should not average a recurring managed-services cohort with a cloud migration project, co-managed IT enquiry, or urgent break/fix request. Their fit gates, sales paths, onboarding work, delivery costs, and collection patterns differ.
Populate the service/cohort card from actual business records. Mark absent ticket bands, demand metrics, and sales-cycle evidence “unavailable,” never zero.
| Service/cohort card field | Required entry | MSP-specific reason |
|---|---|---|
| Service line | Recurring managed services, co-managed IT, project, or urgent/break-fix | Determines applicable stages and delivery model |
| Target account | Written industry, environment, seat/device, and buyer criteria actually used | Separates supported accounts from generic “B2B leads” |
| Geography | Served region plus remote/on-site boundary | On-site response and service coverage can constrain fit |
| Contract/project type | Declared agreement or project classification | Prevents recurring and one-time economics from blending |
| Minimum fit | Account, service, geography, environment, and evidence requirements | Makes qualification reproducible |
| Owner | Named role accountable for the cohort | Gives exceptions and decisions a home |
| Capacity gate | Current sales, onboarding, and service constraint | A good-fit account can still be unserviceable now |
| First-touch window | Start/end dates and time zone | Keeps acquisition cohorts stable |
| Maturity date | Date after allowed qualification, proposal, onboarding, and collection lag | Prevents judging unfinished cohorts |
| Exclusions | Support, renewal, expansion, referral, vendor, applicant, spam, and other declared classes | Protects new-logo marketing analysis |
Add source, competitive density, observed budgeting/procurement cycle, actual ticket or contract band, and first-touch date. The U.S. Small Business Administration advises examining demand, location, saturation, and alternatives; it does not supply local demand or a target.
Check whether the target segment requires licensing, permits, bonding, insurance, or regulated-customer evidence. Record the applicable requirement and source; never assume it applies universally.
Lock the MSP funnel dictionary
Lock one exact business rule for every stage before building a dashboard. Each MSP event needs its own timestamp, source system, owner, allowed predecessor, and disqualifiers. Preserve call clicks, form submissions, discoveries, proposals, agreements, onboarding milestones, invoices, and collections separately so later success cannot rewrite earlier history.
This is a specification, not a vendor-feature claim. The stage rule—not the software label—determines the event.
| Stage | Exact business rule | Timestamp | Source system | Owner | Allowed predecessor | Disqualifiers |
|---|---|---|---|---|---|---|
| Impression | Selected search result counted under the declared property/page/query aggregation | Search reporting date and zone | Search Console | SEO owner | None | Out-of-scope country, device, or appearance |
| Organic/ad click | Click recorded for the separately labeled organic or paid selection | Platform click time/date | Search Console or ad platform | Acquisition owner | Impression | Test or invalid traffic under declared policy |
| Call click | User activates a tracked phone link; no conversation implied | Analytics event time | Analytics | Demand-generation owner | Website session or ad click | Test event, repeat noise |
| Form submission | Valid form submit event received; no account uniqueness implied | Form receipt time | Form intake/analytics | Demand-generation owner | Website session or ad click | Test, consent-only, incomplete, spam |
| Unique enquiry | One reconciled account makes a valid call or form enquiry | First valid contact time | Intake log/CRM | Revenue operations | Call connection or form submission | Duplicate, spam, support, vendor, applicant |
| Reachable account | MSP confirms a two-way contact with an authorized account representative | First confirmed contact | CRM/intake log | Sales owner | Unique enquiry | Wrong details, unreachable after declared process |
| Qualified enquiry | Account meets written service, account, geography, evidence, and capacity rules | Qualification decision time | CRM | Sales owner | Unique enquiry or reachable account | Unsupported service, too small, outside geography, no capacity |
| Accepted discovery | Named sales owner accepts and the prospect attends the scoped discovery | Attendance/acceptance time | CRM/calendar record | Sales owner | Qualified enquiry | No-show, unaccepted booking, newly disqualified |
| Proposal | Unique qualified account receives one approved commercial proposal | First approved send time | CRM/proposal repository | Sales owner | Qualified enquiry or accepted discovery | Draft, duplicate revision, unsupported request |
| Signed agreement | Authorized parties execute the agreement under the MSP's documented rule | Execution time | Contract repository/CRM | Sales owner | Proposal | Unsigned, expired, canceled before execution |
| Onboarding started | Signed new account enters the documented onboarding workflow | Recorded start time | PSA/project system | Operations owner | Signed agreement | Canceled agreement, project with no onboarding |
| Onboarding completed | All documented completion criteria for that service are accepted | Acceptance time | PSA/project system plus CRM | Operations owner | Onboarding started | Partial, stalled, canceled |
| First invoice | First in-scope invoice is issued for the new account | Invoice issue time | Billing system | Finance owner | Agreement or applicable delivery milestone | Draft, void, test, renewal unless scoped |
| Collected revenue | In-scope funds settle under the accounting policy for the matured cohort | Settlement/recognition date used | Accounting system | Finance owner | First or later invoice | Unpaid, refunded, credited, tax treatment outside definition |
Google documents result-type-dependent click and impression counting and how aggregation changes interpretation. State the selection. GA4 offers distinct recommended lead events, but the MSP still defines the operational rules.
Turn MSP search activity into a scorecard your team can audit. Start with the stages, owners, and decisions that matter to your service mix.
Choose KPIs by owner and decision
Assign KPIs along the work, not to one “marketing” dashboard owner. Acquisition should diagnose source and query quality; sales should diagnose qualification and proposal movement; operations should protect onboarding capacity; finance should reconcile invoiced and collected contribution. Every row needs an action it authorizes and a guardrail that limits overreaction.
| KPI | Owner | Service segment | Decision | Evidence window | Lag | Guardrail | Next review |
|---|---|---|---|---|---|---|---|
| Search CTR | SEO owner | Named service/page cohort | Inspect query, result, and page alignment | Declared 28-day or month | Reporting delay noted | Same aggregation and scope | Written date |
| Enquiry conversion | Demand-generation owner | Recurring, co-managed, project, or urgent | Inspect message, path, form, and call intake | Acquisition cohort | Intake reconciliation | Unique valid accounts only | Written date |
| Qualified-enquiry rate | Sales owner | Named service and target account | Change targeting or qualification process | Monthly cohort | Qualification lag | Disqualified accounts stay in denominator | Written date |
| Proposal/signature rates | Sales owner | Contract/project type | Inspect discovery, solution fit, procurement, and proposal movement | Qualification/proposal cohort | Declared sales lag | One account once; revisions not new proposals | Written date |
| Completed-onboarding rate | Operations owner | Onboarding-bearing service | Accept demand, change start dates, or address onboarding constraint | Signed-account cohort | Onboarding window | Do not count partial onboarding as complete | Written date |
| Cost per qualified enquiry | Marketing with finance sign-off | Channel and service | Keep, change, or stop channel allocation | Monthly/quarterly cohort | Qualification lag | Consistent cost scope | Written date |
| Collected contribution | Finance owner | Matured acquired-account cohort | Assess contribution and cost definition | Through stated collection date | Delivery/invoice/collection lag | No unpaid invoice treated as cash | Written date |
Outsourced help desk impressions with few qualified recurring-service enquiries support checking query and offer fit, not claiming absent demand. Healthcare prospects stalled at security review and signed accounts waiting for onboarding are separate constraints with separate owners.
Join source systems without false precision
Join MSP source systems through a unique-account reconciliation process, not a perfect-attribution claim. Preserve first touch, later touches, stage timestamps, and the system of record for each event. Resolve company names, domains, phone numbers, and contacts consistently, while keeping unmatched or conflicting evidence in an explicit unattributable bucket.
| Evidence/system | System of record for | Join key | Reconciliation owner | Missing-data treatment | Retention window |
|---|---|---|---|---|---|
| Search Console | Organic impression/click selection | Landing page, query scope, date; not person identity | SEO owner | Report as aggregate; never force account join | Declared window |
| Analytics/ad platform | Session, ad click, and declared events | Consent-permitted visitor/click ID and landing context | Demand-generation owner | Unknown channel remains unattributable | Declared policy |
| Call/form intake | Contact event and intake payload | Phone, email, form ID, timestamp | Revenue operations | Quarantine incomplete, test, or duplicate records | Declared policy |
| CRM | Unique account, qualification, discovery, proposal status | Canonical account ID | Sales operations | Flag unresolved aliases; do not fabricate source | Declared policy |
| Proposal/e-signature repository | Approved proposal and executed agreement evidence | Account and document ID | Sales owner | Unsigned and expired remain failure states | Contract policy |
| PSA/project system | Onboarding start/completion and direct delivery evidence | Client/project ID mapped to account | Operations owner | Unmapped records enter reconciliation queue | Operational policy |
| Billing system | Invoice issue, void, credit, and refund evidence | Customer and invoice ID | Finance owner | Unmatched invoice excluded pending review | Finance policy |
| Accounting system | Collection and approved cost treatment | Customer, invoice, and transaction ID | Finance owner | Unsettled or unmatched cash not attributed | Finance policy |
Normalize timestamps into one reporting time zone while retaining originals. Use first touch for acquisition, then name later stage cohorts where a formula requires them. Two contacts must not become two acquired accounts.
Register duplicate contact, support, vendor, applicant, student/researcher, out-of-geography, unsupported service, too-small account, no capacity, unreachable, and no-show. Preserve stalled security/procurement, unsigned proposal, incomplete onboarding, unpaid invoice, refund/credit, and unattributable source as later states.
Build the MSP scorecard with complete formulas
Build the scorecard with stage counts beside rates, then segment every row by service and cohort. Each formula must display its numerator, denominator, evidence window, source system, owner, and exclusions. Do not average ratios across recurring services, co-managed IT, projects, or urgent work, and never hide a small cohort.
1. Search click-through rate = Search Console clicks ÷ Search Console impressions × 100.
- Numerator: Search Console clicks for the selected page, query, or property aggregation.
- Denominator: Search Console impressions for the identical selection.
- Evidence window: declared 28-day or calendar-month window, with comparison window stated.
- Source system: Search Console. Owner: SEO owner.
- Exclusions: non-comparable aggregation, out-of-scope countries, devices, search appearances, and incomplete days.
2. Enquiry conversion rate = unique attributable accounts creating a valid call or form enquiry ÷ one labeled acquisition denominator × 100.
- Numerator: unique attributable accounts creating a valid call or form enquiry.
- Denominator: unique attributable website sessions or ad clicks; select one and label it.
- Evidence window: declared acquisition cohort window.
- Source system: analytics/ad platform plus call/form intake. Owner: demand-generation owner.
- Exclusions: duplicates, spam, existing-client support, vendors, applicants, consent events, and test events.
3. Qualified-enquiry rate = unique enquiries meeting the written fit rule ÷ all unique valid enquiries in the same cohort × 100.
- Numerator: unique enquiries meeting the written account, service, geography, and capacity rule.
- Denominator: all unique valid enquiries received in the same cohort.
- Evidence window: declared monthly cohort plus qualification lag.
- Source system: CRM/intake log. Owner: sales owner.
- Exclusions: duplicates, spam, support, vendors, and applicants; disqualified accounts remain in the denominator.
4. Proposal rate = unique qualified accounts receiving an approved proposal ÷ unique qualified accounts in the same cohort × 100.
- Numerator: unique qualified accounts receiving an approved proposal.
- Denominator: unique qualified accounts in the same cohort.
- Evidence window: declared qualification cohort plus proposal lag.
- Source system: CRM plus proposal system. Owner: sales owner.
- Exclusions: revisions counted once; renewals, expansion, and one-time projects segmented.
5. Signed-agreement rate = unique proposed accounts with an executed agreement ÷ unique proposed accounts in the same cohort × 100.
- Numerator: unique proposed accounts with an executed agreement.
- Denominator: unique proposed accounts in the same cohort.
- Evidence window: declared proposal cohort plus signature lag.
- Source system: CRM plus e-signature/contract repository. Owner: sales owner.
- Exclusions: unsigned/expired proposals, renewals, and expansions unless separately scoped.
6. Completed-onboarding rate = unique signed new accounts with documented completed onboarding ÷ unique signed new accounts in the same cohort × 100.
- Numerator: unique signed new accounts whose documented onboarding is completed.
- Denominator: unique signed new accounts in the same cohort.
- Evidence window: signed-account cohort plus declared onboarding window.
- Source system: PSA/project system plus CRM. Owner: operations owner.
- Exclusions: projects without onboarding, canceled agreements, partial onboarding, and expansions.
7. Cost per qualified enquiry = fully loaded attributable channel cost ÷ unique attributable qualified enquiries.
- Numerator: fully loaded attributable channel cost.
- Denominator: unique attributable qualified enquiries in that channel cohort.
- Evidence window: declared monthly or quarterly cohort plus qualification lag.
- Source system: cost ledger plus CRM. Owner: marketing owner with finance sign-off.
- Exclusions: unattributable cost, owner labor unless consistently costed, renewals, and existing-account support.
8. Collected contribution after marketing = collected revenue from the attributable matured cohort minus consistently defined direct delivery, vendor/licensing, sales, onboarding, and marketing costs.
- Numerator: not applicable; this is a monetary contribution calculation, not a rate.
- Denominator: not applicable.
- Evidence window: declared acquired-account cohort through the stated collection date.
- Source system: accounting, billing, PSA, CRM, and cost ledger. Owner: finance owner.
- Exclusions: taxes and overhead follow an explicitly stated treatment; exclude unpaid invoices, credits, refunds, renewals, and expansion unless scoped.
A dashboard wireframe that keeps counts visible
| First-touch cohort | Service line | Valid enquiries | Qualified | Proposed | Signed | Onboarded | Invoiced | Collected | Maturity |
|---|---|---|---|---|---|---|---|---|---|
| [declared dates] | Recurring managed services | [count] | [count + rate] | [count + rate] | [count + rate] | [count + rate] | [amount] | [amount] | [date/status] |
| [declared dates] | Co-managed IT | [count] | [count + rate] | [count + rate] | [count + rate] | [count + rate] | [amount] | [amount] | [date/status] |
| [declared dates] | One-time project | [count] | [count + rate] | [count + rate] | [count + rate] | N/A if no onboarding | [amount] | [amount] | [date/status] |
| [declared dates] | Urgent/break-fix | [count] | [count + rate] | [count + rate] | [count + rate] | [applicable state] | [amount] | [amount] | [date/status] |
Label blanks “unavailable,” “not applicable,” or “not matured.” Add status colors only under an internal policy. Keep small counts visible beside their rates.
Build content around the MSP questions your scorecard exposes. theStacc's Content SEO module researches keywords, drafts and scores content, queues it, and supports CMS publishing and scheduling.
Review leading and lagging evidence on different clocks
Review fast diagnostic evidence separately from slow cohort outcomes. An MSP may choose a weekly view for broken tracking, intake failures, and source quality, then monthly or quarterly matured-cohort reviews for proposals, onboarding, invoices, and collection. The cadence must follow actual lag and decision cost, not a universal schedule.
A weekly diagnostic can catch a broken form, call-routing gap, support request in new-logo intake, or out-of-geography traffic. A cohort review follows the same accounts through procurement, security review, onboarding, invoicing, and settlement. Until its declared maturity date, label the cohort immature rather than filling unfinished outcomes with zeros.
- Freeze membership: assign accounts by the declared first-touch or stage-cohort rule.
- Record stage lag: preserve the timestamp for qualification, proposal, signature, onboarding, invoice, and collection.
- Compare like with like: compare the same service, target-account rule, evidence scope, and maturity status.
- Reopen only by policy: document late-arriving corrections rather than silently rewriting prior reports.
Do not divide this month's signed accounts by this month's enquiries when those accounts first enquired earlier. The counts may be accurate, but the result is not a cohort conversion rate.
Use keep, change, and stop rules
Use a written decision record for every keep, change, or stop call. Name the cohort, owner, constraint, minimum evidence requirement, action, and next review date. The rule should identify what the evidence supports and preserve alternative explanations, especially when sales, onboarding, security review, invoicing, or collection can constrain the result.
| Decision | Evidence statement | MSP action | Guardrail |
|---|---|---|---|
| Keep | Named recurring-service cohort meets the MSP's internal evidence requirement through qualification and capacity remains available | Continue the declared channel/test until next review | Do not claim collection before maturity |
| Change | Repeated unsupported-service enquiries pass intake but fail the same written qualification rule | Change message, targeting, or form qualification for that service cohort | Retain disqualified accounts in the denominator |
| Change | Signed accounts repeatedly stall at documented onboarding criteria | Operations addresses the named capacity or handoff constraint | Do not blame acquisition without upstream evidence |
| Stop | A matured, reconciled channel/service cohort fails the MSP's declared contribution rule after required lag | Pause the scoped spend or activity | Finance signs off cost and collection treatment |
Low impressions do not authorize a landing-page rewrite; inspect query scope and aggregation first. Low collected contribution does not identify whether acquisition, qualification, procurement, onboarding, delivery cost, invoicing, or payment failed.
Record:
- Cohort: service, source, target account, dates, maturity.
- Owner and constraint: decision-maker and current limit.
- Evidence requirement: internal count, maturity rule, and comparison scope.
- Decision: keep, change, or stop one activity.
- Next review: date, expected evidence, rollback condition.
Frequently asked questions about MSP marketing KPIs
These answers settle common boundary questions that arise after the scorecard is built. They explain what belongs in each MSP stage, how long-cycle cohorts remain comparable, and when an early metric becomes vanity. Apply the same written service, account, capacity, attribution, and maturity rules used in the main scorecard.
What marketing KPIs should an MSP track?
An MSP should track separate counts and conversion rates from search exposure through collected revenue, segmented by recurring managed services, co-managed IT, projects, and urgent work. The useful set includes clicks, valid enquiries, qualified enquiries, proposals, signed agreements, completed onboardings, cost per qualified enquiry, and collected contribution. Each KPI needs an owner and decision.
What is the difference between an MSP enquiry, qualified enquiry, opportunity, and customer?
An enquiry is a unique account making valid contact. A qualified enquiry meets written service, account, geography, and capacity rules. An opportunity is a qualified account accepted into a defined sales stage, such as discovery or proposal; define the exact event internally. A new customer should require an executed agreement, while onboarding and payment remain later, separate events.
Does a booked MSP discovery call count as a conversion?
A booked discovery call can count as a scheduling conversion, but it is not proof of attendance, qualification, proposal, agreement, onboarding, or revenue. Record booking and accepted discovery separately, with no-shows retained as a failure state. This distinction matters when an urgent ransomware-related caller books quickly but the MSP cannot support the account's environment or location.
How should an MSP measure marketing with a long sales cycle?
Use first-touch cohorts and allow each cohort to mature through a declared date. Review early acquisition signals on a diagnostic clock, then proposal, signature, onboarding, invoice, and collection on clocks that match their actual lag. Never mix a recent cohort's clicks with an older cohort's collected revenue, because the numerator and denominator would describe different account groups.
How do MSPs connect marketing data to a PSA, CRM, and accounting system?
Create one unique-account key, preserve original source and timestamps, and assign a system of record to every stage. Reconcile contact aliases and company domains before joining CRM, proposal, PSA, billing, and accounting records. Keep unmatched records in an unattributable bucket. The join can be a controlled cohort sheet before it becomes an automated data pipeline.
How should project work and recurring managed services be compared?
Do not blend their rates or economics. Show project and recurring-service cohorts side by side with the same stage definitions where those stages apply, then preserve their different contract, onboarding, delivery-cost, and collection rules. A project without managed-service onboarding should be excluded from that rate, not counted as a failed onboarding or quietly removed from every denominator.
What is a vanity metric for MSP marketing?
A vanity metric is a number presented without a decision, denominator, segment, or connection to a later business event. Total impressions can be useful for diagnosing search exposure, but become vanity when used to claim pipeline health. The cure is not deleting early metrics; it is naming the service cohort, owner, comparison window, and action the evidence can support.
How often should an MSP review marketing KPIs?
Set review frequency by evidence speed and decision cost. A declared weekly view may catch broken forms, call-routing failures, or source-tagging gaps, while monthly or quarterly matured-cohort reviews may suit proposals, onboarding, and collection. These are examples, not universal cadences. Write the next review date into every keep, change, or stop decision.
Put the measurement contract into operation
Start with definitions, not dashboard software. In the next 30 days, choose one MSP service cohort, document its fit and capacity rules, reconcile its account identities, and follow it through collection. Expand only after owners agree on the event dictionary, formula inputs, exclusions, maturity date, and decisions each KPI can support.
- Days 1–5: complete the service/cohort card for one recurring, co-managed, project, or urgent service line.
- Days 6–10: approve every funnel rule and assign one system of record and owner per stage.
- Days 11–15: reconcile unique accounts, timestamp rules, time zone, failure states, and the unattributable bucket.
- Days 16–20: calculate counts and the applicable formulas with every evidence field shown.
- Days 21–25: build the cohort wireframe without decorative thresholds, blended services, or hidden small samples.
- Days 26–30: record one keep, change, or stop decision with its constraint, evidence requirement, and next review date.
The result is a contract between marketing, sales, operations, and finance. Search exposure stays separate from enquiries; agreements from completed onboarding; invoices from collection. The MSP can then improve the named constraint without rewriting the story around the best-looking number.
Make your MSP marketing scorecard useful at the next operating review. Bring the service cohorts, stage definitions, and open evidence gaps you need to resolve.
Sources & references
Blog SEO, Local SEO, and Social Media — one dashboard, no headaches.