FREE TOOL · GOOGLE ADS

Google Ads custom columns: 20 formulas ready to paste

A Google Ads custom column is a formula you write once, and Google then recalculates it in your tables for whatever date range you pick. In other words, a question you ask your account once, and it answers every day.

Here are the 20 I find most useful. Ten turn into columns the calculations I run on the accounts I manage, ten come from the Flowboost library. Enter your numbers just below: the formulas update, then paste them as they are.

Your numbers

They replace the example values in the formulas. Everything stays in your browser.

Budget and pacing

A fuel gauge on the road rather than a bill at the end: know halfway through the month whether the budget will hold.

Budget left this month

How much can Google still spend this month?

Over a month, Google can spend up to 30.4 times your daily budget, spending more on some days than others (Google Ads Help). The column subtracts what is already spent. The math holds as long as the budget has not changed during the month.

(Daily_Budget * 30.4) - Cost.date_range(this_month)

Data format : CurrencyCampaign level

Next budget step

How far can the budget go at the next step?

This is my rule, not Google’s: I raise a budget by 20% at most at a time, with three days between two steps. I have seen a budget changed all at once on the 1st of the month unsettle an account’s bidding. The column gives the ceiling of the next step.

round(Daily_Budget * 1.2)

Data format : CurrencyCampaign level

Budget pacing

Am I spending at the planned pace?

Spend so far this month, up to yesterday, compared with what the daily budget would have spent over the same days. Under 100%, the campaign spends less than planned and there is room to speed up. On the 1st of the month it shows a dash, since there is no full day to compare yet.

(Cost.date_range(this_month) - Cost.date_range(today)) / (Daily_Budget * (day(today()) - 1))

Data format : PercentCampaign level

Original column “Budget Runrate”, Flowboost library

Daily budget to finish the month

What daily budget spends my monthly budget exactly?

What is left of your monthly budget, divided by the days left, today included. Useful at the end of the month, when a gap needs to be closed smoothly.

(3000 - Cost.date_range(this_month)) / (day(offset_days(offset_months(month_start(), 1), -1)) - day(today()) + 1)

Data format : CurrencyAll levels

Original column “New Daily Budget”, Flowboost library

Expected monthly spend

Where will the month end?

Spend up to yesterday, plus the average of the last 7 days carried over the days left. It follows the recent pace, so it reacts quickly to a budget or bid change.

(Cost.date_range(this_month) - Cost.date_range(today)) + (Cost.date_range(last_7_days) / 7) * (day(offset_days(offset_months(month_start(), 1), -1)) - day(today()) + 1)

Data format : CurrencyAll levels

Original column “Exp. Month Spend”, Flowboost library

Lost visibility

What you miss, and why: budget or rank. Google caps these numbers: an impression share under 10% shows as 0.0999, and a lost share above 90% shows as 0.9001. On a heavily limited campaign, these columns become approximate.

What limits it

Is my campaign limited by budget or by rank?

It compares the two lost impression shares and answers in a few words. Under 10% on both sides, demand is covered. The 10% threshold is a setting: change the 0.1 in the formula to be stricter.

if(and(Search_Lost_IS_budget < 0.1, Search_Lost_IS_rank < 0.1), "Demand covered", if(Search_Lost_IS_budget > Search_Lost_IS_rank, "Limited by budget", "Limited by rank"))

Data format : TextCampaign level

Conversions lost to budget

How many conversions does my budget make me miss?

Impressions lost to budget, turned into clicks and then conversions with your current click-through rate and conversion rate. It is an estimate: it assumes missed impressions would convert like the others.

(Impr / Search_impr_share) * Search_Lost_IS_budget * CTR * Conversion_rate

Data format : NumberCampaign level

Original column “Conversion Lost (Budget)”, Flowboost library

Budget needed to capture demand

What would the demand I miss because of budget cost?

The same missed clicks, multiplied by your average CPC. Read it as an order of magnitude, at today’s cost per click.

(Impr / Search_impr_share) * Search_Lost_IS_budget * CTR * Avg_CPC

Data format : CurrencyCampaign level

Original column “Investment Opportunity (Budget)”, Flowboost library

Opportunity score

Which campaign should I unlock first?

Missed conversions, from budget and from rank, divided by the cost of a click. The higher the score, the cheaper the lost demand is to win back. It is a ranking to compare your campaigns, not a number of conversions.

(Impr / Search_impr_share) * (Search_Lost_IS_budget + Search_Lost_IS_rank) * CTR * Conversion_rate / Avg_CPC

Data format : NumberCampaign level

Profitability

Measure every row against your margin and against the conversion that actually makes your revenue.

Gap to max CPA

How much room do I have before losing money?

Positive, the campaign costs less than your max CPA. Negative, each conversion costs more than the limit you set. Your max CPA comes from the ideal CPA calculator.

(60 - Cost_per_conv) / 60

Data format : PercentAll levels

ROAS safety margin

How far am I from my break-even ROAS?

Your break-even ROAS is 1 ÷ your gross margin: at a 40% margin, you need €2.50 of revenue for every €1 spent. The column shows how far your current ROAS is above it. The full calculation is in the ROAS calculator.

(Conversion_value_per_cost - (1 / 0.4)) / (1 / 0.4)

Data format : PercentAll levels

Cost per key conversion

What does the one conversion that matters cost me?

Cost divided by ONE conversion action, the one that makes your revenue: a purchase, a signed quote. The formula starts from All conversions filtered on that action, so it counts it even when it is not a primary action.

Cost / All_conversions.conversion_action("Purchase")

Data format : CurrencyAll levels

Share of secondary conversions

What share of my conversions is not my real conversion?

On an account I manage, a single engagement action made up 74% of conversions. As long as it counted in the total, the cost per conversion looked several times lower than reality. This column measures that share on your account, in one row.

1 - (All_conversions.conversion_action("Purchase") / All_conversions)

Data format : PercentAll levels

Trends and delays

Spot a turn before it shows in the monthly numbers, and know when a period is complete enough to judge.

Recent CPA trend

Is my CPA getting worse right now?

CPA over the last 7 days compared with the CPA of the selected period. Above 0%, the week costs more than the average. Pick a long period, 30 days or more, and check it against conversion lag: the latest conversions sometimes arrive later.

((Cost.date_range(last_7_days) / Conversions.date_range(last_7_days)) - Cost_per_conv) / Cost_per_conv

Data format : PercentAll levels

Original column “Recent CPA Development”, Flowboost library

Recent ROAS trend

Is my ROAS dropping this week?

The same reading on the value side: ROAS over the last 7 days against the ROAS of the selected period. Below 0%, the week brings in less per euro spent.

((Conversion_value.date_range(last_7_days) / Cost.date_range(last_7_days)) - Conversion_value_per_cost) / Conversion_value_per_cost

Data format : PercentAll levels

Original column “Recent ROAS Development”, Flowboost library

Expected monthly conversions

How many conversions by month end, at this pace?

Conversions up to yesterday, plus the average of the last 7 days carried over the days left. Next to expected spend, it gives the likely CPA for the month before the month is over.

(Conversions.date_range(this_month) - Conversions.date_range(today)) + (Conversions.date_range(last_7_days) / 7) * (day(offset_days(offset_months(month_start(), 1), -1)) - day(today()) + 1)

Data format : NumberAll levels

Original column “Exp. Month Conversions”, Flowboost library

Conversion lag

Are the last few days complete yet?

The Conversions column counts a conversion on the day of the click; the “by conversion time” version counts it on the day it happens. Over the last few days, a ratio above 100% means conversions are still coming in from older clicks. On a B2B account I manage, a sale is sometimes confirmed 90 days after the click.

Conversions_by_conv_time / Conversions

Data format : PercentAll levels

Enough clicks to judge

Can I already pause this keyword with no conversions?

A keyword converting at the account’s average rate would have about a 95% chance of converting at least once after 3 ÷ that rate clicks: 100 clicks at 3%. Before that threshold, a zero can still be chance.

if(Clicks >= (3 / 0.03), "Enough clicks to judge", "Too early to judge")

Data format : TextKeyword level

Devices and networks

Where the account average hides the gaps.

Mobile vs desktop CPA gap

Does mobile cost me more than desktop?

Mobile CPA compared with desktop CPA. At +50%, a mobile conversion costs one and a half times a desktop one. Tablets are counted separately.

((Cost.device(mobile) / Conversions.device(mobile)) - (Cost.device(desktop) / Conversions.device(desktop))) / (Cost.device(desktop) / Conversions.device(desktop))

Data format : PercentAll levels

Original column “Mobile vs Desktop (CPA)”, Flowboost library

Paste a formula into Google Ads

  1. In your account, open Campaigns, or Ad groups, Ads, Search keywords depending on the column’s level.
  2. At the top right of the table, click the columns icon, then Modify columns.
  3. Click + Custom column and give your column a name.
  4. Switch the editor to text mode and paste the formula. A valid formula turns blue.
  5. Choose the Data format shown on the card, then Save and Apply.

Column names stay in English in the formula, whatever your account language: Google does not translate them in text mode.

The data format is set once: after the column is saved, it can no longer be changed.

Sources: Create custom columns and available columns, Google Ads Help.

Go further

The ten columns marked Flowboost come from their library, which holds close to a hundred, sorted by use case. The explanations on this page are my own.

Open the Flowboost library

Théo Maupilé

Growth partner

Positioning, acquisition, innovation: together we build a lasting growth system.

Théo MaupiléFreelance Paid Media

Google PartnerSuperMalter

Paid Media PPCInnovationPsychology
◉ Certifications

Official Google Partner
& SuperMalter