What a calculated metric is
A calculated metric is a formula that produces a value at query time. Instead of a column that gets synced from the source, it's a small expression like purchases / sessions * 100 that Lens evaluates on the fly. The result behaves exactly like any other metric: you can pick it on tiles, format it with currency or percent, sort by it, compare against prior periods.
The win is reuse. Define conversion rate once, on the table, and every board that uses that table can reach for it. No copy-pasted formulas across tiles, no risk of two boards computing the same thing slightly differently.
Add a calculated metric
Open the table you want to extend (Lens > Tables, then edit). Scroll to the Calculated Metrics panel near the bottom and click + Add Calculated Metric.
Enter a name. Use lowercase letters, numbers, and underscores. The name must start with a letter or underscore (the form warns you if you pick something invalid). Good names: conv_rate, aov, cpa, repeat_purchase_rate.
Write the expression. Reference existing metrics on the same table by their names, combine them with +, -, *, /, and parentheses. Examples:
purchases / sessions * 100— conversion rate as a percentrevenue / purchases— average order valuead_spend / purchases— cost per acquisition(revenue - cost) / cost— ROAS minus 1
Save the table. The new metric is now available everywhere a metric dropdown shows up: tile config, segment filters, and so on.
Computed AFTER aggregation
This matters and it's worth being explicit about: calculated metrics are computed after Lens aggregates rows. If you have a calculated metric conv_rate = purchases / sessions * 100 and a tile groups by source, Lens first sums purchases and sessions per source, then divides. That's almost always what you want. Computing the ratio per row and then averaging would over-weight low-traffic rows.
Pair calculated metrics with column formats. conv_rate wants the percent format, aov wants currency, time-based metrics want duration. Format is set on the tile, not the metric, so each tile can render it appropriately.
Cross-table formulas
Calculated metrics can only reference columns on the same table. If you need a ratio that spans two tables (say, GA4 sessions and an ad-spend table), build a Join table first. The Join produces a single combined row set, and you can add the calculated metric there.
Troubleshooting
Form rejects the metric name
Names must match the regex [A-Za-z_][A-Za-z0-9_]* — letters, numbers, and underscores only, starting with a letter or underscore. Spaces, dashes, dots, and special characters are not allowed. Use conv_rate, not conv-rate or Conversion Rate.
Tile shows N/A or 0 where the formula should produce a number
Likely a divide-by-zero (the denominator metric is zero for that group) or an unknown variable in the expression. Check that every name in the formula matches a real metric column on this table. Variable names are case-sensitive.
Numbers look off compared to a hand calculation
Remember the after-aggregation rule. Lens computes the ratio against the totals shown on the tile. If you want a row-level ratio averaged at the group level, you need a different shape (usually a separate column on the table).