Quick answer

A shared measurement system for catering marketing: a funnel dictionary, job-type segmentation, spend attribution, and a dashboard that tells the truth about insufficient evidence.

A wedding enquiry that arrives in January for a June event and a same-day drop-off order that closes by 3 p.m. are not the same kind of demand, but most catering marketing reports treat them as identical units in one "leads" column. That single bucket hides which enquiries were ever going to book, which sources produce enquiries the kitchen can actually staff, and which numbers are activity dressed up as progress.

DataForSEO returned no search volume, keyword difficulty, or CPC for "catering marketing kpis" as of July 11, 2026 — treat that as unavailable, not zero. The live SERP that day mixed generic marketing-KPI lists, hospitality dashboards, and restaurant financial metrics with a few catering-specific posts, and none of them separated a wedding enquiry's economics from a recurring corporate account's or gave a team a shared dictionary to work from.

This page builds that dictionary: eight funnel stages from impression through completed job, a job-type segmentation model, formulas that keep every numerator and denominator honest, and a dashboard specification with a real "insufficient evidence" state instead of red-and-green benchmark theater. It does not set menu prices, publish a "good" close rate, teach food costing, or give jurisdiction-specific licensing advice — for catering SEO execution itself, see theStacc's catering SEO guide.

What Counts as a Catering Marketing KPI?

A catering marketing KPI is a number tied to a specific decision, not a raw count of activity. The same figure — twelve enquiries this month — means something different for a wedding enquiry six months from its event date, a same-day drop-off order, and a recurring corporate account renewing without new marketing at all.

This page defines, calculates, and reviews catering marketing measurement. It does not set menu prices, publish benchmark targets, teach accounting, or replace food-safety, tax, legal, or licensing advice specific to a jurisdiction. The U.S. Small Business Administration's market research guidance frames that research around demand, market size, location, saturation, and pricing relative to alternatives — treat that as planning context for reading a catering business's own numbers, not as proof that any specific KPI value signals opportunity or risk on its own.

Twelve wedding enquiries in a slow month can represent a healthy pipeline if the business typically books six to nine months out. Twelve drop-off enquiries in the same window can signal a real problem if the normal weekly rate is forty. The KPI is the comparison against the business's own decision rule for that job type — never the raw twelve by itself.

Write the Funnel Dictionary Before Building a Dashboard

A funnel dictionary defines every stage — impression, click, call click, form, unique enquiry, qualified enquiry, booked job, and completed job — as its own record with a fixed business rule, timestamp, source system, and owner, before anyone builds a dashboard. Skipping this step is what lets a call click get reported as a booked job.

Google Analytics documents recommended lead-generation eventsgenerate_lead, qualify_lead, working_lead, and close_convert_lead — but a catering business still has to define its own stage rules and keep offline job stages, like booked and completed, in a separate system GA4 was never built to track on its own. Write the rule for each row below in plain language your intake and operations teams would both recognize on sight.

StageBusiness ruleTimestampSource systemOwnerAllowed next stateCorrection path
ImpressionListing or ad shown under the platform's own reporting rulesPlatform report dateAd platform / Search ConsoleMarketing ownerClickReconcile monthly against platform re-processing
ClickRecorded visit from a tracked sourceSession startWeb analyticsMarketing ownerCall click, form, or exitFlag bot and test traffic before counting
Call clickTap on a tracked phone linkEvent timestampCall-tracking or GA4 eventMarketing operations ownerUnique enquiry, if resolved to a personMerge duplicate clicks from one visit before counting
FormValid submission reaching the CRMSubmission timestampForm log / CRMIntake ownerUnique enquiry, if resolved to a personRemove spam, test, and duplicate submissions
Unique enquiryOne identifiable person or account matched across call and form recordsIdentity-resolution timestampCRMIntake ownerQualified enquiry or rejectedManual dedupe entry logged with reviewer name
Qualified enquiryPassed the written date, area, job-type, capacity, and compliance checksQualification decision timestampCRM / intake logIntake managerBooked job or rejectedRejection reason recorded, never deleted
Booked jobMet the business's own written booking rule — contract or depositBooking timestampCRM / booking systemSales or booking ownerCompleted job, cancellation, or rescheduleCancellation logged with reason and date
Completed jobMarked fulfilled under the written delivery ruleCompletion timestampJob-management systemOperations ownerFeeds repeat-account trackingRefund or credit logged separately from completion status

Store this dictionary somewhere the whole team can see, and treat any dashboard number that doesn't map to a row here as unverified until someone traces it back.

Get a second opinion on your funnel dictionary before you build a dashboard on top of it. Bring your actual stage definitions and current tracking setup to the call.

Book a free strategy call →

Segment by Catering Job Economics Before Comparing Sources

Before comparing which marketing source performs best, segment every enquiry by job type, event or service date versus enquiry date, geography, a guest-count or order-size band the business itself sets, service style, staffing or transport need, venue or vendor gates, repeat-account status, and cancellation or completion status.

A source that produces forty drop-off enquiries a month and a source that produces three wedding enquiries a month are not competing on the same scale, and ranking them by raw volume rewards whichever job type happens to have shorter lead times and lower ticket variance. Segment first, then compare like job type against like job type.

Job typeLead-time pattern to recordCapacity unitLikely operational gateRepeat eligibilityExclusions
Wedding / socialEnquiry-to-event gap, business's own recordGuest countVenue access, staffing headcountRare — one event per coupleVendor and planner pitches misfiled as enquiries
Corporate one-offBusiness's own recordHeadcount or order sizeDelivery window, dietary flagsPossible if the account returnsDuplicate requests from the same office
Corporate recurringStanding-order cadence, business's own recordOrder frequency and sizeDelivery zone, standing scheduleHigh — track as an account, not a per-order enquiryTreating each recurring delivery as a new enquiry
Drop-offBusiness's own record, often shortOrder sizeMinimum order, delivery radiusModerateBelow-minimum or out-of-radius requests
Staffed private eventBusiness's own recordGuest count and staff ratioVenue power/kitchen access, staffingLow to moderateVenue-gate failures
Institutional / contractBusiness's own record, often a long procurement cycleContract volume or seat countCompliance, insurance, bonding reviewHigh, but governed by contract renewal, not marketingRenewal misread as new acquisition
Urgent / late requestSame-day to few-day gap, business's own recordOrder size or guest countKitchen and staff same-day capacityLowRequests outside same-day capacity

Adapt these seven categories to the business's real service model — a pickup-only operation or a full-service caterer with no drop-off arm will not need every row, and a business with a distinct nonprofit or community segment should add one rather than fold it into private/social.

Measure Demand Capture Without Mistaking Attention for a Job

Demand capture covers impressions, clicks, call clicks, and forms — evidence that someone paid attention, not evidence of a real job. Platform-reported counts and first-party analytics will disagree, and adding call clicks to form submissions without resolving both to one identity double-counts a single interested person as two.

Google Ads documents website conversion setup through a Google tag or GA4 events as the two supported paths — neither path proves attribution certainty or a business outcome on its own; it only confirms that the technical event fired. For the underlying mechanics of organic click and content-performance metrics that feed the click-through-rate row below, see theStacc's SEO KPIs guide and content marketing KPIs guide — this page covers only how those clicks convert into catering-specific enquiries and jobs.

FormulaNumeratorDenominatorEvidence windowSource systemOwnerExclusions
Click-through rateAttributable ad or organic listing clicksImpressions for the same source/campaign/query scopeOne declared calendar window, compared only with like-for-like season and scopeNamed platform exportMarketing ownerInvalid traffic where reported, scope/date mismatches, tracking outages
Call-click-to-unique-enquiry rateUnique people from tracked call clicks who meet the written enquiry ruleAll tracked call clicks in the same source cohortDeclared 28-day click cohort plus stated identity-resolution lagPlatform/call analytics plus CRMMarketing operations ownerRepeat clicks by the same person, spam, vendors, applicants, unresolved identities
Form-to-unique-enquiry rateUnique people from forms who meet the written enquiry ruleAll valid form submissions in the same source cohortDeclared 28-day submission cohortForm log plus CRMIntake ownerDuplicates, spam, tests, vendors, applicants, same person already counted by call

Measure Enquiry Quality Against Your Operating Constraints

An enquiry becomes qualified only after it clears the business's own written checks — service area, date availability, job type, minimum and maximum capacity, kitchen, crew, and transport fit, lead time, and any licensing, permit, venue, insurance, or bonding gate that applies — with one named person owning the decision.

The FDA Food Code is a model code adopted, in whole or in part, by individual state and local jurisdictions — a technical and legal reference point to check against local adoption, not the governing law in any specific location. Route food-safety, permit, and licensing questions to the jurisdiction's own health authority and the business's own adviser rather than answering them from a marketing page.

FieldWhat it captures
Date and locationEvent or service date, delivery or venue address
Job typeWedding, corporate, drop-off, staffed event, institutional, urgent — per the segmentation matrix
Guest / order bandBusiness's own minimum and maximum for that job type
Service styleBuffet, plated, staffed, pickup, delivery-only
Budget fitChecked against the business's own rule, not a published price list
Kitchen / crew / transport capacityCan the operation actually staff and deliver this job on this date
Venue requirementsKitchen or power access, load-in restrictions, parking
Dietary-information handoffHow the request was logged and who confirms it
Permit / license / insurance / bonding checksWhere applicable to this job and jurisdiction
OwnerNamed person who made the qualification decision
Rejection reasonRecorded even when the enquiry is declined

Log every disqualified enquiry against a named failure state instead of quietly dropping it, so the pipeline count stays honest and a recurring failure pattern is visible.

Failure stateWhy it's excludedWhat to do with it
Spam / duplicateNot a genuine buyer contactExclude entirely from the funnel
Vendor pitchSomeone selling to the caterer, not buying from itExclude; route to procurement if relevant
Job applicantEmployment enquiry, not a catering jobExclude; route to hiring
Out-of-areaBeyond the real delivery, travel, or venue rangeExclude; revisit the segmentation matrix if it recurs
Unavailable dateFalls in a blackout window or booked capacityExclude; log as a demand signal only
Unsupported job typeBusiness doesn't offer this formatExclude; log as a demand signal only
Below / above capacityOutside the guest-count or order-size bandExclude from the qualified count
Venue gate failedNo kitchen or power access, load-in conflictExclude; log for future venue-relationship review
CanceledWas booked; stays booked historicallyExclude from the completed-job count
RescheduledSame job, new dateKeep as one job record, not two
Not completedBooked but unfulfilled — no-show or partial deliveryExclude from the completed-job count
Tracking unavailableA gap, not evidence of low interestFix tracking before drawing any conclusion
FormulaNumeratorDenominatorEvidence windowSource systemOwnerExclusions
Qualified-enquiry rateUnique enquiries meeting date, area, job-type, and compliance/venue rulesAll unique valid enquiries created in the cohortOne declared 28-day enquiry cohortCRM / intake logIntake managerDuplicates, spam, vendors, applicants; rejected enquiries remain in the denominator

Measure Booked and Completed Work as Separate Cohorts

Booked and completed are separate cohorts measured on separate timelines: a booked job meets the business's own contract or deposit rule; a completed job is later marked fulfilled by operations, after cancellations, reschedules, no-shows, and partial deliveries are resolved — and enquiry-date and event-date cohorts almost never line up.

A deposit is evidence of a booked job under whatever policy the business has written down — not evidence the job will happen. Treat deposit rules, cancellation windows, and refund or credit handling as the business's own policy decision, not a marketing metric, and keep the record of that policy next to the funnel dictionary.

Cohort basisWhat it showsWorked example
Enquiry-date cohortAcquisition performance for the period the enquiry arrivedA wedding enquiry arriving in January sits in the January acquisition cohort, regardless of when the event happens
Event-date cohortDelivery and completion performance for the period the job is actually servedThat same enquiry, if the wedding happens in June, sits in the June completion cohort
Collapsed (incorrect)Attributes the completion to the wrong period and hides real booking-to-delivery lagReporting the June completion as "January performance" overstates how fast January's marketing converted
FormulaNumeratorDenominatorEvidence windowSource systemOwnerExclusions
Booked-job rateUnique qualified enquiries reaching the written booked ruleAll unique qualified enquiries in the same enquiry cohortDeclared 28-day cohort plus booking lag appropriate to the recorded job typesCRM / booking systemSales or booking ownerDuplicate bookings; cancellations remain booked but not completed
Completed-job rateUnique booked jobs marked completed under the written delivery ruleAll unique booked jobs from the same enquiry cohortDeclared enquiry cohort plus enough lag through scheduled event datesBooking/job-management systemOperations ownerReschedules counted once; canceled, refunded-before-service, no-show, or uncompleted jobs stay out of the numerator
Repeat-account rateCompleted first-time customers who place a second eligible completed jobCompleted first-time customers eligible for repeat serviceStated first-completion cohort plus a declared 90- or 180-day follow-up windowCRM / job-management systemAccount/operations ownerInstitutional contract renewals unless defined, duplicates, ineligible one-off categories, second jobs not completed

Connect Marketing Spend to Completed-Job Evidence Carefully

Connecting spend to completed jobs means dividing attributable direct channel cost by unique completed first-time jobs from the same acquisition cohort — never revenue or ROI, unless finance has approved matching cost and revenue fields. Disclose the attribution model and every exclusion, because an undisclosed model hides which spend actually produced a job.

Run this reconciliation check before trusting a cost-per-job number, since any one of these gaps can make an underperforming source look strong or a strong source look weak.

CheckWhat it catches
Duplicate identitiesThe same person counted twice across call, form, and repeat visits
Call/form overlapOne person who both called and submitted a form, counted as two enquiries
Platform-reported vs. CRM sourceThe ad platform and the CRM disagree on which channel gets credit
Direct / unknownTraffic with no attributable source, folded into a paid or organic channel's numbers by mistake
Returning accountA repeat customer's new order misread as a new acquisition
RescheduleAn event moved to a new date, mistakenly creating a second job record
CancellationA booked job that never completed, exiting the completed count without vanishing from history
Refund / creditA completed job later refunded, needing its own flag rather than silently reducing revenue
Tracking outageA period when a pixel, call-tracking number, or CRM integration was down — logged, not treated as zero demand
Manual overrideAnyone who hand-edited a source, stage, or cohort assignment, logged with a name and reason
FormulaNumeratorDenominatorEvidence windowSource systemOwnerExclusions
Cost per qualified enquiryAttributable direct channel spendUnique qualified enquiries attributed under the declared modelDeclared 28-day acquisition cohortInvoice/ad platform plus CRMMarketing owner with finance reviewInternal labor unless explicitly costed, unattributable spend, tax/fees unless policy includes them
Cost per completed first-time jobAttributable direct channel spendUnique first-time jobs from that cohort marked completedDeclared acquisition cohort plus completion lag through event datesInvoice/ad platform plus CRM/job systemMarketing owner with operations and finance sign-offRecurring fulfilments, pre-existing accounts, canceled/uncompleted jobs, unattributable jobs, uncosted labor

Review Seasonality Without Turning One Month Into a Trend

Reviewing seasonality means comparing the same job type against its own declared window a year earlier — never one strong month against the prior month. Separate enquiry season from event season, and flag every promotion, closure, weather disruption, capacity change, or tracking migration that could explain a swing before calling it a trend.

A caterer whose weddings book nine months ahead should not read a slow enquiry month during off-peak booking season as a demand problem, since the event-season surge for those same weddings may still be months away. A drop-off operation running on short lead times has almost no gap between enquiry season and event season, so its month-over-month comparison is far more direct than a wedding specialist's.

DisruptionWhy it distorts a comparisonWhat to log
Promotion or discountPulls forward demand that would have arrived laterDates run, offer terms, job types eligible
Closure or staffing gapSuppresses completed jobs independent of marketing performanceDates closed, reason, jobs declined or rescheduled
Weather disruptionCan cancel or delay outdoor and travel-dependent eventsDates affected, jobs impacted, cancellation vs. reschedule split
Capacity changeNew kitchen, staff, or vehicle capacity changes what qualified demand can be acceptedEffective date, capacity delta
Tracking migrationA new CRM, call-tracking number, or analytics setup breaks period-over-period comparabilityCutover date, what changed, overlap period if any

Run a Monthly Source-and-Job-Type Review

A monthly review decides keep, change, stop, or instrument-better for each source and job type, using qualified and completed evidence, operational fit, and whether the sample is large enough to trust — never a ranking built from impressions or forms alone, and never a decision made before enough qualified volume exists to judge it.

This review decides whether to keep, adjust, or stop a specific source's spend or effort for a specific job type — it is not a verdict on paid search versus organic as categories; see theStacc's SEO vs Google Ads comparison for that broader channel-level question. Where the review points to a content or Google Business Profile gap rather than a measurement gap, theStacc's Content SEO module can research keywords, draft, and queue or publish updates, and the Local SEO module covers Google Business Profile posts, review replies, citation work, and rank tracking — the catering business still owns which job types and sources those changes should target.

DecisionTrigger evidenceWhat it is not
KeepQualified and completed rates hold steady against the source's own history at sufficient sample sizeA guarantee the source will keep performing
ChangeDemand capture is fine but qualified or completed rate lags for a specific job typeA reason to change every job type the source touches
StopConsistent, sufficiently sampled failure to convert to qualified or completed across the job types the source targetsA same-week reaction to one slow cohort
Instrument betterEvidence is genuinely insufficient — tracking gaps, unresolved identities, missing cohort dataAn excuse to skip the decision indefinitely

Build the Minimum Catering KPI Dashboard

The minimum catering KPI dashboard is a table, not a scorecard: one row per KPI with its numerator, denominator, cohort window, segmentation, source system, owner, exclusions, and refresh date, plus a required "insufficient evidence" status for any row without enough qualified volume to support a real decision yet.

Every column below is required for every KPI row on the dashboard — a formula missing any one of them cannot be checked or defended later, and should not ship.

ColumnWhat it must contain
KPI / formula nameExactly one of the named formulas above, never a blended metric
Numerator and denominatorThe exact written rule, not a description
Cohort / windowThe declared period, stated as enquiry-date or event-date
SegmentationJob type at minimum; geography or service style where the business tracks it
Source systemEvery system the number is pulled from
OwnerOne named person accountable for the number's accuracy
ExclusionsEvery category held out of the numerator or denominator
Refresh dateWhen the row was last recalculated
StatusEvidence-sufficient, or insufficient evidence with the reason stated

Below is how three rows look in practice, including the "insufficient evidence" state a real dashboard needs instead of forcing a red or green verdict on thin data.

KPISegmentCohortStatus
Completed-job rateInstitutional / contractDeclared enquiry cohort plus completion lagInsufficient evidence — fewer completed jobs than the business's own minimum sample rule this cohort
Cost per qualified enquiryDrop-offDeclared 28-day acquisition cohortEvidence-sufficient — reviewed against the business's own threshold
Repeat-account rateCorporate recurringFirst-completion cohort plus declared follow-up windowInsufficient evidence — follow-up window not yet elapsed

Walk through your own dashboard spec with a second set of eyes before it goes live. Bring whatever CRM, ad-platform, and job-system exports you already have.

Book a free strategy call →

Frequently Asked Questions

These answers cover decisions that come up once the funnel dictionary and job-type segmentation above are already in place — what counts as a lead, which date to sort by, and how often to review. They assume the definitions above, and do not repeat catering SEO, pricing, or accounting questions covered elsewhere.

What is a KPI in catering marketing?

A KPI in catering marketing is a number tied to a decision, not a raw activity count. Impressions and clicks measure attention; a KPI compares a defined stage — qualified-enquiry rate, completed-job rate — against the business's own written threshold, segmented by job type, so one figure isn't read the same way for every job.

Which catering marketing KPIs should I track first?

Start with qualified-enquiry rate, which shows whether unqualified enquiries are clogging the pipeline, and completed-job rate, which shows whether booked jobs actually finish. Add cost per qualified enquiry once spend is attributable and segmented by job type, and add repeat-account rate only once enough first-time completions exist to measure a follow-up window.

Does a catering form submission count as a lead or a booked job?

Neither. A form submission is evidence someone reached your intake system, not proof they want to book or qualify. It becomes a unique enquiry once identity is resolved, a qualified enquiry once it passes your written date, area, job-type, and capacity checks, and a booked job only once it meets your contract or deposit rule.

How should caterers measure phone calls and forms without double-counting?

Resolve call clicks and form submissions to one identity before counting either as a unique enquiry — one person calling and then filling out a form is one enquiry, not two. Track call-click and form-to-enquiry rates separately in your funnel dictionary, and combine them only once your CRM matches the record to a single person.

Should catering KPIs use enquiry date or event date?

Both, as separate cohorts. Enquiry-date cohorts show acquisition performance for a given period; event-date cohorts show whether jobs booked in that period actually got fulfilled. A January wedding enquiry completed in June sits in a January acquisition cohort and a June completion cohort at once — collapsing the two hides real lag.

How do I measure marketing when catering demand is seasonal?

Compare each job type against its own like-for-like window from a year earlier, not the prior month, since enquiry season and event season rarely align on a catering calendar. Log any promotion, closure, weather disruption, capacity change, or tracking migration in either window before drawing a conclusion, and hold judgment if the windows don't actually match.

What is a qualified catering enquiry?

A qualified catering enquiry is a unique enquiry that has passed your written checks for service area, date, job type, guest-count or order-size band, kitchen/crew/transport capacity, and any licensing, permit, venue, insurance, or bonding gate that applies. An enquiry that fails any check stays on record as rejected, excluded from the qualified count, not deleted.

How often should a catering company review its marketing dashboard?

Run a source-and-job-type review monthly, using qualified and completed evidence rather than impressions or clicks alone. Long-lead job types, like weddings booked months out, need a longer completion-lag window layered on top of the monthly cadence before a "stop" or "change" decision is safe — monthly review doesn't mean judging every source on the same time lag.

Put the Catering KPI System Into Practice

Putting this system into practice starts with the funnel dictionary and the job-type segmentation matrix, not the dashboard — a dashboard built before those definitions exist just displays disagreements faster. Pick one job type, write its rules down, and run one full cohort through qualified, booked, and completed before adding a second.

A wedding specialist with long lead times should start with the enquiry-date-versus-event-date cohort split, since that mismatch is where most of the false urgency in monthly reporting comes from. A high-volume drop-off operation should start with the funnel dictionary and the call/form identity-resolution rule, since its volume makes double-counting the fastest way to mislead a review meeting. Either way, the dashboard's job is to expose what's still unproven, not to manufacture a green light.

Start with one job type and one funnel dictionary, not a company-wide rebuild. Bring your real enquiry and booking data to a working session.

Book a free strategy call →

Sources & references

Ritik Namdev

Ritik Namdev

Growth Manager

Growth Manager at theStacc. Five years in digital marketing, content strategy, and growth at content-led SaaS. Writes on Medium and YouTube about programmatic SEO and growth systems.

From the theStacc product Explore theStacc modules

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