Target ROAS campaign not spending the budget: why, and what to change
Target ROAS only bids where it expects to hit the return you asked for. If the target is higher than the campaign can reach, Google skips auctions and the budget stays unspent. Check the bid strategy status and the lost impression share columns before you touch the budget.
Why the budget stays unspent
With target ROAS you are not buying clicks, you are asking for a return. For every auction Google predicts the conversion value and bids only when the numbers work. Google's own help page puts it plainly: setting a target that is too high may limit the traffic your ads get.
So a campaign that spends a fraction of its budget is often doing exactly what it was told. Raising the budget does nothing, because the budget was never the wall.
Read the bid strategy status
Open the campaign and look at the bid strategy status.
- Learning: the strategy is recent or you changed something. Google says the bidder reacts at once to a new target but needs 1 to 2 conversion cycles to reach it.
- Limited by bid limits: a maximum or minimum bid you set is stopping it.
- Limited by inventory: there is not enough search volume for what you target.
- Misconfigured: the strategy has no working conversion action behind it.
Read the lost impression share columns
On Search campaigns, add 2 columns: Search lost IS (budget) and Search lost IS (rank).
- Budget near 0% and rank high: money is not the problem. You lose auctions on bid and ad quality, which with target ROAS usually means the target keeps the bids low.
- Budget high: the budget really is too small for the traffic.
Is there enough data?
Google lists minimums for target ROAS: at least 15 conversions in the past 30 days for Search and Shopping, and at least 10 conversions a day (or 300 in 30 days) for App campaigns. Below that, the bidder has little to predict from, and a strict target makes it even more careful.
What to change, in order
- Compare the target with the ROAS the campaign actually reached in the last 30 days. If you asked for more than it ever did, that gap is your answer.
- Lower the target in steps, then wait 1 to 2 conversion cycles before judging. Changing it every day restarts the clock.
- Remove bid limits that the status points to.
- Only if Search lost IS (budget) is high, raise the budget.
Reading this from your AI assistant
Ads MCP connects your AI assistant to your Google Ads account in read only mode. You can ask it for the lost impression share of each campaign (it runs a GAQL query on search_budget_lost_impression_share and search_rank_lost_impression_share) and compare the target with the real ROAS, without clicking through the columns yourself.
Ads MCP is a read-only Google Ads connector for ChatGPT, Claude and other AI assistants. It finds the searches that spend without converting and hands you a file to import. Free: 50 tool calls a month.
More from the blog
Call asset clicks but no phone calls: 2 numbers that look like 1
The Clicks column next to a call asset is not a count of calls. It counts every click on ads that showed with that asset. Here is how to see real taps on the number, and why calls can still read zero.
New Google Ads campaign with zero impressions: how long to wait, and what to check
A campaign that shows nothing after 24 hours is not always broken. Ads go through review first, and a new bid strategy needs time. Here is when waiting is normal and when it is time to dig.
Negative keywords not working? They don't match close variants
You added "repair" as a negative and still get repair calls. Negative keywords do not stretch the way normal keywords do: no plurals, no synonyms, and the match type decides how strict they are. Here is how they really match.