Custom Columns in Google Ads and the Report Editor: Reporting Without Exports
Most PPC reporting time is spent recreating numbers that already exist in the account. Export to a sheet, apply the margin, compare to plan, colour the rows, paste it into Slack — then do it all again next week. Meanwhile custom columns in Google Ads and the Report Editor eliminate most of that work inside the interface: they calculate in real time, behave exactly like built-in columns (sortable, filterable, usable in automated rules), and can be managed from the manager account down. This guide covers the formulas worth building first, how segments differ from filters, where the tooling genuinely stops, and when an export is still the right answer.
Three tools people routinely confuse
| Tool | What it does | When you need it |
|---|---|---|
| Columns, including custom ones | Adds a metric to the main table of campaigns, ad groups, keywords, ads | Daily work: open the table, make a decision |
| Segments | Splits existing rows by a dimension — date, device, click type, conversion action | Understanding what a number is made of |
| Report Editor | Builds standalone pivot tables and charts with arbitrary rows and columns | Recurring reporting and views the main table cannot hold |
The beginner’s mistake is trying to do everything in Report Editor. The experienced practitioner’s mistake is never creating custom columns and recalculating margin by hand every single week. The working split: custom columns for what you check daily, segments for diagnosing anomalies, Report Editor for periodic summaries.
What custom columns in Google Ads actually are
A custom column is a formula built from your account’s metrics and attributes that calculates in real time and then behaves like any native metric. You can add it to a table, sort by it, filter on it, use it in automated rules and pull it into Report Editor. Output format — number, currency, percentage — is set separately.
The property that makes the whole exercise worthwhile: you build it once, and it works across campaigns — and when created at manager account level, across every account beneath it.
Creating one
- In any table, open the columns icon → Modify columns.
- At the bottom, Custom columns → + Create.
- Name it (use a category prefix — more on that below), write the formula, choose the data format.
- Save it and add it to a column set. Sets persist too, so build separate ones for daily monitoring, conversion analysis and auction analysis.
Eight columns worth building first
This set answers most day-to-day questions. Formulas are written as logic; the actual metric names come from the builder’s picker.
1. Gross profit
Conversion value × Margin − Cost
The most important column in the account, and usually the last one anyone builds. Margin goes in as a constant, say 0.42. You immediately see which campaigns make money rather than which ones produce a flattering ROAS. The reasoning behind the calculation sits in the piece on unit economics and LTV.
2. Margin-adjusted ROAS
(Conversion value × Margin) ÷ Cost
Answers “are we profitable” instead of “how much revenue per dollar”. Breakeven is always 1.0, which is far easier to scan than remembering a different target ROAS for every product category.
3. Actual CPA versus target CPA
Cost per conversion ÷ Target CPA
An instant read on which campaigns have drifted from target. Particularly relevant now that target-based bidding behaviour has changed — details in the breakdown of the August 2026 target-based bid strategy change.
4. Budget utilisation
Cost ÷ (Daily budget × Days in period)
Catches two problems at once: campaigns that never spend their budget (so the constraint is the target or the available demand, not money) and campaigns hitting the ceiling every single day.
5. Click-to-conversion rate by specific action
Conversions for a chosen action ÷ Clicks
Custom columns can reference a single conversion action rather than the aggregate. Build one each for purchase, qualified lead and phone call, and you stop staring at a blended number where one micro-conversion drowns out everything that matters.
6. Share of expensive conversions
Conversions above a cost threshold ÷ All conversions, built with conditional functions on value.
Useful wherever the average lies: two very expensive conversions can drag the mean CPA and make a healthy campaign look broken.
7. CPA including closed deals
Cost ÷ Conversions for the "deal closed" action
Only works if you feed real outcomes back into the platform — see offline conversion import. Without offline data the column is meaningless; with it, this is the only metric worth making lead-gen decisions on.
8. Headroom by impression share
Conversions ÷ Search impression share − Conversions
A rough estimate of the conversions you are leaving on the table at your current impression share. Not a forecast — a prioritisation tool showing where more budget would do the most good. The underlying metric is covered in impression share and auction insights.
Any column containing a constant — margin, exchange rate, threshold — needs a quarterly review. A column carrying last year’s margin is worse than no column at all: it looks authoritative and lies silently.
Four more columns once the basics are running
9. Brand share of spend
Cost on brand campaigns ÷ Total cost
This answers the uncomfortable question: how much of your excellent ROAS is people who were already coming to you by name. Above 40–50% brand share, account averages stop describing acquisition performance at all.
10. Actual CPC versus planned CPC
Average CPC ÷ Planned CPC
Planned CPC comes from your max CPA and landing page conversion rate: Max CPA × Landing page conversion rate. The column shows where you are overpaying per click relative to your own economics — before it becomes visible in CPA.
11. Conversions per thousand impressions
Conversions ÷ Impressions × 1000
A measure that is stable against CTR swings. Useful when comparing ads and creatives: two ads with identical CTR can differ twofold on this number.
12. Cost per qualified lead
Cost ÷ (Lead conversions × Qualification rate)
Qualification rate goes in as a constant from your CRM. Crude, but far more honest than blended CPL: a campaign producing cheap leads at 20% qualification almost always loses to one producing expensive leads at 70%.
Using columns as triggers for automated rules
The most underused capability: a rule can fire on your business metric rather than on raw cost. Three patterns that hold up in practice.
- Unprofitable campaign alert. Condition: gross profit below zero over the trailing 14 days with cost above a threshold. Action: notify, not auto-pause. Automatically pausing on a formula is dangerous — one wrong constant kills working traffic.
- Target drift alert. Condition: CPA-to-target ratio above 1.2 for three consecutive days. Action: email. This catches the problem mid-week rather than at month end.
- Unspent budget finder. Condition: budget utilisation below 70% while impression share is below 60%. That means budget is not the constraint and money can be moved elsewhere.
The rule of thumb: automate notifications freely, automate actions only where the cost of being wrong is trivially small. Anything more complex than threshold conditions belongs to Google Ads scripts.
Four formula mistakes that show up constantly
- Dividing by a metric that can be zero. The column returns blank or an error, the row drops out of sorting, and the campaign with zero conversions never catches your eye. Wrap divisions in a zero check.
- Mixing “all conversions” with a specific conversion action. Purchases in the numerator, all conversions in the denominator — you get a number that means nothing but looks exactly like a rate.
- Hard-coding margin into a dozen separate columns. When margin changes you will update three of them and spend the next six months deciding on a blend of old and new numbers.
- Data format that does not match the formula. The classic is a ratio rendered as currency. The number is correct, it reads wrong, and decisions follow the reading.
Segments: where the “why” lives
Columns answer “how much”. Segments answer “made up of what”. Segmenting does not change the data; it breaks a row into its components.
The ones that actually earn their place in a workflow:
- Time (day, day of week, week, month, hour) — the first check on any anomaly. Establish whether it is a spike or a trend before doing anything else.
- Device — the classic split: mobile brings volume, desktop brings conversion rate. A gap wider than 2× usually points at the mobile landing experience.
- Click type — shows what you are actually paying for: headline clicks, call clicks, asset clicks. Frequently reveals spend going to click types you never counted as conversions.
- Conversion action — breaks the blended conversion number apart. Mandatory the moment you have more than one goal.
- Network — separates Search from search partners and Display. Regularly exposes meaningful spend going somewhere you did not intend.
- Top vs other — where ads served. Useful when diagnosing a CTR drop.
Practical approach: do not live in segments. Keep them as a diagnostic instrument. A column flags the deviation; a segment explains it in two minutes instead of an hour-long export.
When Report Editor is the right tool
Campaign × device × week matrices
The main table gives you one dimension or the other. Report Editor lets you combine several at once, so you can see which campaign’s mobile traffic slipped in which specific week.
Landing page reports with margin attached
Combine the landing page dimension with your own custom columns and you immediately see which pages absorb budget without producing money. This matters more than it used to now that final URL expansion picks landing pages on your behalf — context in the guide to the DSA to AI Max migration.
Recurring summaries for non-specialists
A client or a CFO does not want a 40-column table. They want five numbers split by business line and a trend chart. A report built once opens by link and is always current — unlike an export, which is stale the moment you send it.
Where the in-platform tooling genuinely stops
An honest boundary. Custom columns and Report Editor will not replace external analytics when:
- You need data from other systems. CRM, inventory, per-SKU cost, other ad platforms — none of it exists inside Google Ads. Cross-channel consolidation is covered in the piece on media buyer dashboards and reporting.
- You need attribution beyond Google Ads. The platform shows its own model; the cross-channel picture comes from your analytics stack — see GA4 attribution for media buyers.
- You need long history and arbitrary recalculation. A warehouse and a BI tool do that better.
- You need an action, not a report. That is where automated rules and scripts begin — see Google Ads automation with scripts.
The working rule: anything computable from Google Ads data belongs in a custom column. Anything requiring a join to external data belongs outside. The middle option — “I’ll export it and calculate in a sheet” — is the most expensive in time and the least reproducible.
Keeping the column library from rotting
After a year, an active account accumulates dozens of custom columns, half of them duplicates under different names. Four habits prevent that:
- Category prefixes.
MARGIN · Gross profit,TARGET · CPA vs goal,REACH · Headroom. Alphabetical sorting then groups them automatically. - Build at manager account level. One column across all accounts instead of ten drifting copies.
- Column sets instead of one giant table. “Daily monitoring” is eight columns. “Conversion analysis” is its own set. Switching takes a second.
- Quarterly review. Delete what is unused, refresh constants, confirm formulas still match the business.
- Document the formulas. A fifteen-line note: column name, formula, purpose, when the constant needs updating. Six months from now you will be grateful.
The daily pass: six steps in ten minutes
Columns only pay off inside a routine. This order works and does not require willpower:
- Gross profit, sorted ascending. Look at what loses money before you look at what makes it. The top of that list is today’s work.
- CPA versus target. Anything above 1.2 goes on the review list. Anything below 0.7 goes on it too — that is either an undercalibrated target or a campaign failing to buy available volume.
- Budget utilisation. Values near 100% several days running mean the campaign is hitting its ceiling and you are leaving demand unbought.
- Conversions on the key action, not the blended figure. If the blended number rises while the key one is flat, micro-conversions are growing and that is not good news.
- Segment by day for everything on the list. Answers “spike or trend” in thirty seconds.
- Act or record. Either you make the change today or you log the observation with a date. “Looked at it and moved on” is not an option — that is exactly how weeks disappear.
Add a search terms review and a check on new landing pages weekly, and a target and budget review monthly. Everything else can be looked at on cause rather than on schedule.
What to build in one evening
- Create four columns: gross profit, margin-adjusted ROAS, CPA vs target, budget utilisation.
- Group them into a “Daily monitoring” set and make it your default.
- Add one conversion-rate column per action that genuinely counts as a result.
- Build one Report Editor view: campaign × week, with gross profit and cost.
- Write the formulas and constants into a document.
- Put a quarterly review in the calendar.
After that, weekly reporting stops being an hour of work and becomes opening a tab. The wider account review sequence sits in the Google Ads account audit checklist. If you run several accounts through Google Ads agency accounts, manager-level columns are the highest-return configuration change available to you. For hands-on help building formulas around a specific business model, there is the Google PPC agency service.
FAQ
How is a custom column different from a regular one?
A regular column is a native Google Ads metric. A custom column is a formula you define from account metrics and attributes. Once created it behaves identically: sortable, filterable, and available in reports and rules.
Do custom columns calculate retroactively?
Yes. Calculations run in real time against available data, so a column created today shows values for past periods too — provided every metric in the formula was being collected then.
Can I use a custom column in an automated rule?
Yes, and this is one of the main reasons to build them: a rule can trigger on your business metric rather than a raw one like cost.
Do custom columns work at manager account level?
They can be managed along the path from a manager account down to child accounts, which is the correct way to keep one set of formulas across a portfolio.
How do I handle margin when it varies by product?
Inside the platform, only approximately — with an average margin per campaign or category. Precise per-SKU calculation requires joining cost data, which means external analytics or passing margin-adjusted conversion value from your site.
What is the difference between a segment and a filter?
A filter removes rows that fail a condition. A segment splits an existing row into parts by a dimension, keeping all the data. Diagnosing a deviation needs a segment; narrowing a list needs a filter.
Why do segment totals not match the summary row?
Usually because some metrics do not decompose along the chosen dimension, and because of how conversions are counted by click date versus conversion date. When segmenting by conversion action, discrepancies in impressions and clicks are expected behaviour.
When should I move from Report Editor to an external dashboard?
When you need data Google Ads does not hold: CRM, cost of goods, other channels, long history. Anything computable inside the platform is cheaper and more reliable as a column.
How many columns should the main table carry?
Roughly eight to twelve. More than that and it stops being readable — you end up looking at a table rather than at the data. Push the rest into named column sets.
What should I do with columns nobody uses?
Delete them at the quarterly review. Unused columns carrying stale constants are a source of bad decisions precisely because they look as credible as the working ones.
Can a column be built for one specific conversion action?
Yes, and it is one of the most useful patterns: separate columns for purchase, qualified lead and call rather than a blended conversion figure where a micro-goal outweighs the real outcome.
Do custom columns replace spreadsheet reporting?
Inside Google Ads, almost entirely. The moment a report needs data from another system, sheets or BI come back. The right boundary follows the data source, not habit.