How a custom metric works
Sending a number with an event is not enough to report on it. GA4 keeps a register of custom definitions, and a numeric parameter only becomes something you can total, average or chart once it is registered there as a custom metric. Until then it is collected but effectively invisible outside the debugging views.
Registration happens in Admin, under custom definitions. You name the metric, point it at the parameter, choose a scope — event level for most cases, item level for a value attached to an individual product — and set a unit of measurement, which may be a plain number, a currency, a distance or a length of time. The unit matters: it decides how the figure is formatted and, for currency, how it is treated in reports.
Why custom metrics matter
They let the reports carry numbers that belong to your business rather than only the ones Google supplies. A quote value on an enquiry form, the number of items in a basket, the weight of a shipment, the length of a booking, the size of a loan application — none of these exist as built-in metrics, and all of them change how you read the rest of the report.
The gain is usually in weighting. Counting enquiries treats every enquiry alike; totalling the quoted value shows which campaigns bring the larger ones. That is often the difference between an account that looks flat and an account that is quietly improving, and it is the sort of thing worth building into any reporting dashboard from the start.
Common mistakes with custom metrics
The first is expecting history. Registration works forward only. A metric registered today will show nothing for the weeks the parameter was already being collected, so register it as soon as the parameter goes live rather than when someone finally asks for the report.
The second is registering something that is not really a measure. An order reference, a postcode or a customer number is made of digits but means nothing when summed or averaged; those belong in a custom dimension as text. The third is running out of room. A property allows only a limited set of registered definitions, and casually registering every numeric parameter fills that allowance with fields nobody reads.
How to act on it
Start from the report you want. Write the sentence you would like to say in a meeting — total quoted value by campaign, average basket size by landing page — and register only the metric that sentence needs. Give it a clear name and the correct unit, especially for money, and confirm the parameter is genuinely arriving in DebugView before you register anything.
Then leave it alone. Definitions are hard to reuse cleanly once archived, and a small, stable set of well-named metrics is far more useful a year later than a long list nobody can explain.