HeadHoncho

Every report, and the question it answers

The catalogue holds marketing reports for home services in one table, and every one of them carries the sentence that says how to use it.

Reports is a catalogue rather than a folder of exports. Every row says what the report shows, which category and platform it belongs to, what it needs in order to run, and — in the reader's own words — what to go and do with it once it is on screen.

What a catalogue row carries

Marketing reports for home services fail in one of two ways: nobody can tell which report answers their question, or somebody reads a number the report never claimed. Each row carries the fields that head off both.

FieldWhat it is for
The questionWhat you ask. The catalogue is scanned by question, not by filename
The descriptionWhat you get. Different from the question on purpose
Category, subcategory, platformThree facets, each filterable, so a catalogue that grows stays scannable
What it readsWhich of the three layers it needs. This is what greys a row out
The caveatWhat the numbers cannot claim
How to use itWhat to go and do with them. The one sentence a caveat is not
Whether the file carries personal dataSaid on the control before it is pressed. An export that hands over caller phone numbers without saying so is a surprise, not a feature
The catalogue of marketing reports for home services: each row naming what it reads, and what it produces.
The catalogue is the report list. Nothing is hidden behind a builder, and no row runs until you ask it to.

The reports

Fourteen, in five categories. Three of them share one runner across three platforms, which is why campaign attribution reads the same whichever network you are asking about.

CategoryReportThe question it answers
AttributionGoogle Leads Attribution by CampaignWhich campaigns produced booked jobs, and at what cost
AttributionMeta Leads Attribution by CampaignThe same question, on Meta
AttributionMicrosoft Leads Attribution by CampaignThe same question, on Microsoft
AttributionThe Lead LedgerWhere every call went: matched, unmatched, ambiguous, or never carrying an identifier
AttributionWhere the money isWhich places earn, and which just cost clicks
OptimizationGoogle Click IDsWhich booked jobs are in the upload file, and for the rest, why not
OptimizationMeta ConversionsThe booked jobs matched on Meta
OptimizationLead OptimizationEight checks over the call thread, each with what it cost and the one action that would change it
OptimizationCall HandlingWhen calls come in, and when they go unanswered
OptimizationHeadroom & PacingWhether the budget is being spent evenly, or front-loaded
SpendSpend & StructureWhere the money went inside the account
OutcomeThe MonthThe thirteen numbers a client asks for in the meeting, with last month beside each
OutcomeWhat a booked job is worthHow one booked dollar splits, by source
PortfolioEvery client on one pageThe agency's own book: what each client kept per ad dollar, and who moved

Two things to notice. Outcome is the category no ad platform can fill — what the money became after the crew was paid — and it is the reason this catalogue exists at all. Portfolio is the only category whose reader is the agency rather than the agency's client, which is why it is the one report that deliberately does not narrow to a single company: a roll-up of one client answers a different question.

Running one

A report opens as a page of its own with a date range on it, and some carry a parameter or two. The one worth understanding is the value basis on the conversion reports: what a booked job is worth can be read at three rungs — the revenue, the gross profit after parts and fees, or the net after the subcontractor's cut. The column is named for the rung in force, and the file downloads on the same rung the screen showed.

Where a report draws a chart, it is drawn with the same marks the dashboard uses, so a chart on a forwarded PDF is the same chart as the one on the board. Nothing is redrawn for print.

Viewing and downloading are different acts

Opening a report shows you numbers. Downloading it records that it was produced — a report run, with the report, the format, the window, the headline figure and the coverage it was produced at.

The distinction is deliberate and it is worth knowing which side you are on. Looking at a number is a private act; sending one to a client is not, and the thing worth having a record of is the document that left. The run is recorded after the file renders, never before, so a “last produced” can never name a file nobody received.

The catalogue prints the last production of each report, which answers the question most people open the panel with: when did we last send this?

The upload file

One report is not really a document — it is the file you upload back into the ad platform, valuing each booked job at what it actually produced. It is listed like every other report, and it carries the three numbers without which it is misread: how many calls carried no identifier at all and why, how many matched jobs are held back for having collected nothing, and how many sit on a network the file does not export.

Two properties make it safe to use:

The screen pages at a hundred rows; the file does not page at all, and everything held back is counted in the file itself, so a spreadsheet cannot imply a completeness the screen never claimed.

Why a report is greyed out

A report names what it reads. A report that needs spend cannot run without an ad platform connected; one that needs calls cannot run without a call source. Rather than running and printing zeros, the row says which connection it is waiting on and links to Sources.

For a handful of reports, being connected is enough and rows are not required — those report an honest empty answer instead of a demand. That is a promise about the individual report rather than a property of the catalogue, so it is declared per report rather than assumed.

When a number in a report is the one you doubt, the foot of every report leads to Raw data, which is the rows it was drawn from.