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 events — generate_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.
| Stage | Business rule | Timestamp | Source system | Owner | Allowed next state | Correction path |
|---|---|---|---|---|---|---|
| Impression | Listing or ad shown under the platform's own reporting rules | Platform report date | Ad platform / Search Console | Marketing owner | Click | Reconcile monthly against platform re-processing |
| Click | Recorded visit from a tracked source | Session start | Web analytics | Marketing owner | Call click, form, or exit | Flag bot and test traffic before counting |
| Call click | Tap on a tracked phone link | Event timestamp | Call-tracking or GA4 event | Marketing operations owner | Unique enquiry, if resolved to a person | Merge duplicate clicks from one visit before counting |
| Form | Valid submission reaching the CRM | Submission timestamp | Form log / CRM | Intake owner | Unique enquiry, if resolved to a person | Remove spam, test, and duplicate submissions |
| Unique enquiry | One identifiable person or account matched across call and form records | Identity-resolution timestamp | CRM | Intake owner | Qualified enquiry or rejected | Manual dedupe entry logged with reviewer name |
| Qualified enquiry | Passed the written date, area, job-type, capacity, and compliance checks | Qualification decision timestamp | CRM / intake log | Intake manager | Booked job or rejected | Rejection reason recorded, never deleted |
| Booked job | Met the business's own written booking rule — contract or deposit | Booking timestamp | CRM / booking system | Sales or booking owner | Completed job, cancellation, or reschedule | Cancellation logged with reason and date |
| Completed job | Marked fulfilled under the written delivery rule | Completion timestamp | Job-management system | Operations owner | Feeds repeat-account tracking | Refund 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.
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 type | Lead-time pattern to record | Capacity unit | Likely operational gate | Repeat eligibility | Exclusions |
|---|---|---|---|---|---|
| Wedding / social | Enquiry-to-event gap, business's own record | Guest count | Venue access, staffing headcount | Rare — one event per couple | Vendor and planner pitches misfiled as enquiries |
| Corporate one-off | Business's own record | Headcount or order size | Delivery window, dietary flags | Possible if the account returns | Duplicate requests from the same office |
| Corporate recurring | Standing-order cadence, business's own record | Order frequency and size | Delivery zone, standing schedule | High — track as an account, not a per-order enquiry | Treating each recurring delivery as a new enquiry |
| Drop-off | Business's own record, often short | Order size | Minimum order, delivery radius | Moderate | Below-minimum or out-of-radius requests |
| Staffed private event | Business's own record | Guest count and staff ratio | Venue power/kitchen access, staffing | Low to moderate | Venue-gate failures |
| Institutional / contract | Business's own record, often a long procurement cycle | Contract volume or seat count | Compliance, insurance, bonding review | High, but governed by contract renewal, not marketing | Renewal misread as new acquisition |
| Urgent / late request | Same-day to few-day gap, business's own record | Order size or guest count | Kitchen and staff same-day capacity | Low | Requests 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.
| Formula | Numerator | Denominator | Evidence window | Source system | Owner | Exclusions |
|---|---|---|---|---|---|---|
| Click-through rate | Attributable ad or organic listing clicks | Impressions for the same source/campaign/query scope | One declared calendar window, compared only with like-for-like season and scope | Named platform export | Marketing owner | Invalid traffic where reported, scope/date mismatches, tracking outages |
| Call-click-to-unique-enquiry rate | Unique people from tracked call clicks who meet the written enquiry rule | All tracked call clicks in the same source cohort | Declared 28-day click cohort plus stated identity-resolution lag | Platform/call analytics plus CRM | Marketing operations owner | Repeat clicks by the same person, spam, vendors, applicants, unresolved identities |
| Form-to-unique-enquiry rate | Unique people from forms who meet the written enquiry rule | All valid form submissions in the same source cohort | Declared 28-day submission cohort | Form log plus CRM | Intake owner | Duplicates, 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.
| Field | What it captures |
|---|---|
| Date and location | Event or service date, delivery or venue address |
| Job type | Wedding, corporate, drop-off, staffed event, institutional, urgent — per the segmentation matrix |
| Guest / order band | Business's own minimum and maximum for that job type |
| Service style | Buffet, plated, staffed, pickup, delivery-only |
| Budget fit | Checked against the business's own rule, not a published price list |
| Kitchen / crew / transport capacity | Can the operation actually staff and deliver this job on this date |
| Venue requirements | Kitchen or power access, load-in restrictions, parking |
| Dietary-information handoff | How the request was logged and who confirms it |
| Permit / license / insurance / bonding checks | Where applicable to this job and jurisdiction |
| Owner | Named person who made the qualification decision |
| Rejection reason | Recorded 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 state | Why it's excluded | What to do with it |
|---|---|---|
| Spam / duplicate | Not a genuine buyer contact | Exclude entirely from the funnel |
| Vendor pitch | Someone selling to the caterer, not buying from it | Exclude; route to procurement if relevant |
| Job applicant | Employment enquiry, not a catering job | Exclude; route to hiring |
| Out-of-area | Beyond the real delivery, travel, or venue range | Exclude; revisit the segmentation matrix if it recurs |
| Unavailable date | Falls in a blackout window or booked capacity | Exclude; log as a demand signal only |
| Unsupported job type | Business doesn't offer this format | Exclude; log as a demand signal only |
| Below / above capacity | Outside the guest-count or order-size band | Exclude from the qualified count |
| Venue gate failed | No kitchen or power access, load-in conflict | Exclude; log for future venue-relationship review |
| Canceled | Was booked; stays booked historically | Exclude from the completed-job count |
| Rescheduled | Same job, new date | Keep as one job record, not two |
| Not completed | Booked but unfulfilled — no-show or partial delivery | Exclude from the completed-job count |
| Tracking unavailable | A gap, not evidence of low interest | Fix tracking before drawing any conclusion |
| Formula | Numerator | Denominator | Evidence window | Source system | Owner | Exclusions |
|---|---|---|---|---|---|---|
| Qualified-enquiry rate | Unique enquiries meeting date, area, job-type, and compliance/venue rules | All unique valid enquiries created in the cohort | One declared 28-day enquiry cohort | CRM / intake log | Intake manager | Duplicates, 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 basis | What it shows | Worked example |
|---|---|---|
| Enquiry-date cohort | Acquisition performance for the period the enquiry arrived | A wedding enquiry arriving in January sits in the January acquisition cohort, regardless of when the event happens |
| Event-date cohort | Delivery and completion performance for the period the job is actually served | That 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 lag | Reporting the June completion as "January performance" overstates how fast January's marketing converted |
| Formula | Numerator | Denominator | Evidence window | Source system | Owner | Exclusions |
|---|---|---|---|---|---|---|
| Booked-job rate | Unique qualified enquiries reaching the written booked rule | All unique qualified enquiries in the same enquiry cohort | Declared 28-day cohort plus booking lag appropriate to the recorded job types | CRM / booking system | Sales or booking owner | Duplicate bookings; cancellations remain booked but not completed |
| Completed-job rate | Unique booked jobs marked completed under the written delivery rule | All unique booked jobs from the same enquiry cohort | Declared enquiry cohort plus enough lag through scheduled event dates | Booking/job-management system | Operations owner | Reschedules counted once; canceled, refunded-before-service, no-show, or uncompleted jobs stay out of the numerator |
| Repeat-account rate | Completed first-time customers who place a second eligible completed job | Completed first-time customers eligible for repeat service | Stated first-completion cohort plus a declared 90- or 180-day follow-up window | CRM / job-management system | Account/operations owner | Institutional 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.
| Check | What it catches |
|---|---|
| Duplicate identities | The same person counted twice across call, form, and repeat visits |
| Call/form overlap | One person who both called and submitted a form, counted as two enquiries |
| Platform-reported vs. CRM source | The ad platform and the CRM disagree on which channel gets credit |
| Direct / unknown | Traffic with no attributable source, folded into a paid or organic channel's numbers by mistake |
| Returning account | A repeat customer's new order misread as a new acquisition |
| Reschedule | An event moved to a new date, mistakenly creating a second job record |
| Cancellation | A booked job that never completed, exiting the completed count without vanishing from history |
| Refund / credit | A completed job later refunded, needing its own flag rather than silently reducing revenue |
| Tracking outage | A period when a pixel, call-tracking number, or CRM integration was down — logged, not treated as zero demand |
| Manual override | Anyone who hand-edited a source, stage, or cohort assignment, logged with a name and reason |
| Formula | Numerator | Denominator | Evidence window | Source system | Owner | Exclusions |
|---|---|---|---|---|---|---|
| Cost per qualified enquiry | Attributable direct channel spend | Unique qualified enquiries attributed under the declared model | Declared 28-day acquisition cohort | Invoice/ad platform plus CRM | Marketing owner with finance review | Internal labor unless explicitly costed, unattributable spend, tax/fees unless policy includes them |
| Cost per completed first-time job | Attributable direct channel spend | Unique first-time jobs from that cohort marked completed | Declared acquisition cohort plus completion lag through event dates | Invoice/ad platform plus CRM/job system | Marketing owner with operations and finance sign-off | Recurring 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.
| Disruption | Why it distorts a comparison | What to log |
|---|---|---|
| Promotion or discount | Pulls forward demand that would have arrived later | Dates run, offer terms, job types eligible |
| Closure or staffing gap | Suppresses completed jobs independent of marketing performance | Dates closed, reason, jobs declined or rescheduled |
| Weather disruption | Can cancel or delay outdoor and travel-dependent events | Dates affected, jobs impacted, cancellation vs. reschedule split |
| Capacity change | New kitchen, staff, or vehicle capacity changes what qualified demand can be accepted | Effective date, capacity delta |
| Tracking migration | A new CRM, call-tracking number, or analytics setup breaks period-over-period comparability | Cutover 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.
| Decision | Trigger evidence | What it is not |
|---|---|---|
| Keep | Qualified and completed rates hold steady against the source's own history at sufficient sample size | A guarantee the source will keep performing |
| Change | Demand capture is fine but qualified or completed rate lags for a specific job type | A reason to change every job type the source touches |
| Stop | Consistent, sufficiently sampled failure to convert to qualified or completed across the job types the source targets | A same-week reaction to one slow cohort |
| Instrument better | Evidence is genuinely insufficient — tracking gaps, unresolved identities, missing cohort data | An 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.
| Column | What it must contain |
|---|---|
| KPI / formula name | Exactly one of the named formulas above, never a blended metric |
| Numerator and denominator | The exact written rule, not a description |
| Cohort / window | The declared period, stated as enquiry-date or event-date |
| Segmentation | Job type at minimum; geography or service style where the business tracks it |
| Source system | Every system the number is pulled from |
| Owner | One named person accountable for the number's accuracy |
| Exclusions | Every category held out of the numerator or denominator |
| Refresh date | When the row was last recalculated |
| Status | Evidence-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.
| KPI | Segment | Cohort | Status |
|---|---|---|---|
| Completed-job rate | Institutional / contract | Declared enquiry cohort plus completion lag | Insufficient evidence — fewer completed jobs than the business's own minimum sample rule this cohort |
| Cost per qualified enquiry | Drop-off | Declared 28-day acquisition cohort | Evidence-sufficient — reviewed against the business's own threshold |
| Repeat-account rate | Corporate recurring | First-completion cohort plus declared follow-up window | Insufficient 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.
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.
Sources & references
- Google Analytics Help — recommended lead-generation events (generate_lead, qualify_lead, working_lead, close_convert_lead)
- Google Ads Help — website conversion setup via Google tag or GA4 events
- U.S. Small Business Administration — market research and competitive analysis
- FDA Food Code 2022 — model code for state and local adoption
Blog SEO, Local SEO, and Social Media — one dashboard, no headaches.