Quick question: What exactly does Performance Max maximize?
I’ll let you go first.
You: “Performance Max maximized my profits.”
Me: “No.”
You: “Ah, I see. I am tracking revenue, not profit. So Performance Max maximizes my revenue”
Me: “Nope.”
You: “Uhh, OK, then it must be conversions
Me: “No, again.”
You: “What? What else is there? Clicks then?”
Me: “No, no, no!”
You: “WTF?!”
Me: “It’s spend. Ad spend. Performance Max maximizes your ad spend, as long as you let it.”
If you are 100% convinced the last statement is complete BS, you can stop reading now. The rest of this article won’t bring you much.
If, however, you are like me and you think it’s an interesting hypothesis worth testing and letting the data speak for itself, then read on. This might be of interest to you.
And if you are already convinced it is true, then this is your lucky day because we’ve got some interesting scripts to help prevent Performance Max from wasting your money.
What follows are three scripts taken from my latest SMX Advanced presentation. Use these scripts to your advantage and be sure to watch the full video of the session (at bottom of this article).
Script 1: Negate non-converting Performance Max search terms
Performance Max excels at reporting averages, such as the average spend per day, conversion rate and campaign ROAS.
It’s not good at reporting the actual performance of individual search terms.
Yes, you can go to the Google Ads interface, click Insights and Reports, navigate the search category report and click around like a rabbit on speed. But it’s clumsy, to say the least!
It’s difficult to find search terms that waste money in your Performance Max campaigns.
The terms themselves are hard to find in the interface, and the performance of bad actors is hidden in the campaign averages.
Wouldn’t it be nice to have a list that clearly shows the search terms with poor performance?
You could easily decide what to do with them (e.g., fix asset groups/landing pages) or add them as negative keywords to your Performance Max campaign.
Luckily, we can use scripts to create such a list for us. Here’s what that looks like:
Link to script: Google Ads Script – Performance Max Non-Converting Search Term Alerts
Script 2: Disapproved products alerts
Let’s say you’ve been running a successful Performance Max campaign for a few weeks.
The campaign is spending its budget, generating relevant clicks, generating conversions and achieving ROAS slightly over the target. All is well.
Then, for some reason, the two top-performing products in your campaign, which are responsible for more than 40% of the revenue, get disapproved.
What do you think will happen?
Performance Max has delivered great results in the past and thinks it can still do so today and tomorrow.
But the disapproved products are out, and Performance Max has to (re)discover new clicks that perform at least as well as the clicks on these disapproved products.
This learning phase involves a lot of trial and error, testing new kinds of clicks, most probably with a lot of clicks that do not convert.
A lot of waste, unless you take action.
You could, for instance, use seasonality adjustment to indicate lower expected conversion rates until you get the top products re-approved.
Or you could decrease the budget to prevent excessive spending with low returns in the short run.
If you do not act when top-performing products get disapproved, you probably waste spend.
Therefore, I created a script to alert you when products that receive significant clicks (or conversions) are disapproved.
Link to script: Google Ads Script – Disapproved Products Alerts
Script 3: Exclude spammy placements
Did you know there is a report called Performance Max campaigns placement?
It is located in the Template gallery of the Report editor.
The report shows what placements on the Google Display Network (GDN) generated impressions for your Performance Max campaigns.
Unfortunately, again, the report is not that easy to find.
It only shows the number of impressions – no click data, no conversion data. This makes it hard to judge these impressions’ quality (revenue value).
The GDN is full of spammy “built-for-AdSense” sites that lead to a lot of fake clicks.
Remember, the horrible performance of these clicks is hidden from us in the aggregates we use to evaluate Performance Max’s performance.
Luckily for us, there are many scripts that will help you exclude these spammy placements.
Link to script: Performance Max placement cleaner script
Tip: Ask ChatGPT to expand the script to also look at domain spam scores like the Moz spam score (with a tool like Reviewgrower) and auto-exclude the spammy ones.
Use scripts to maximize your profits, not just spend
Performance Max, left on its own, maximizes Google’s revenue, not necessarily yours.
You need to monitor Performance Max campaigns like a hawk and proactively make changes based on your first-party data and insights.
Google Ads Scripts can automate a lot of these tasks for you and alow you to take back control to optimize your profits.
Watch: Mastering Performance Max using Scripts
You can find more scripts and tips to improve your Performance Max performance in my SMX Advanced session.