Want to quickly see your conversion lag and how many more conversions you can expect for your selected date range?
Here’s how: go to Campaigns view, then mouse over to the lower right corner (‘Conversions’, ‘Total: Account’).

– Nils
Daily emails to boost your Google Ads Performance
Want to quickly see your conversion lag and how many more conversions you can expect for your selected date range?
Here’s how: go to Campaigns view, then mouse over to the lower right corner (‘Conversions’, ‘Total: Account’).
– Nils
If you change the way you look at your PPC data, the PPC data you look at will change.
– Nils
Here’s my best ‘PPC Productivity Investment Of The Year’ so far:
1) I got a new laptop with an 8-core CPU (max turbo frequency of 4.8 GHz) + 48GB RAM. All this power to render the sluggish Google Ads UI.
2) I’ve set up a big high-res widescreen monitor so I can see all my columns at once without horizontal scrolling.
3) I then placed the displays side-by-side.
When I conduct an audit, Google Ads is displayed on the monitor. Next to it, on my laptop screen, I can edit the audit report.
Let’s go!
– Nils
Do you want to protect your brand and save some money from irrelevant clicks in your PMax campaigns?
If so, head over to the ‘Performance Max Campaigns Placement’ report, identify spammy placements, and exclude them.
How? Simply follow these 4 steps:
1. Go to Report Editor => Predefined Reports => Other => Performance Max Campaigns Placement
2. Download the list and check the MOZ spam score with a tool like https://reviewgrower.com/tools/spam-score-checker/
3. Make a list of the top spammy websites, then…
4. Exclude them at the account level in Google Ads. Here’s how you can do so: Go to Tools and settings => Content suitability => Advanced settings => Excluded placements
Go ahead, save yourself some fraudulent clicks. It only takes 5 minutes!
– Nils
PS: If you want me to create a script to automate this PMax optimization process for you, send me an email at nils@nilsrooijmans.com.
Are these annoying Draft campaigns at the top of the campaign view driving you crazy?
I’ve tried to delete them at least a thousand times but couldn’t figure out how. It seems I haven’t been alone in this. Thankfully, our PPC Chat friends at X/Twitter found a solution:
1) In the Google Ads UI, go to the Overview page (use keyboard shortcut G+O)
2) Go to “Draft campaign” overview card
3) Mouse over the draft campaign, then click remove
Source: https://twitter.com/AndrewLolk/status/1747677445028012071
– Nils
Let’s say you’re in lead gen, and you’re working in a niche that is notorious for absurdly high average CPCs. Let’s say car insurance.
80% of your leads come from only 20 keywords. Three keywords in your top 5 suffer from low quality scores due to ‘Ad Relevance’ scores ‘Below average’. Sounds familiar?
Let’s say you’ve also already applied all the PPC 101 tricks to improve ad relevance:
1. Include keyword in headline
2. Include keyword in description
3. Include keyword in display path
4. Make sure the ad copy resonates with the search intent behind the keyword
Yet, still… Google tells you your ‘Ad Relevance’ scores are ‘Below average’.
What do you do?
You watch Ed.
URL: https://www.youtube.com/watch?v=0s8mCdxvorU
Yep, that’s Ed Leake again and in this video he shows you how you can leverage Google’s Natural Language API to increase your ad relevance score.
– Nils
PS:
Ed actually has at least 23 more tips to improve your ad copy. They are part of the God Tier Ads Framework. If you want to simplify account management, take back control, and improve results (or your money back) -> sign up for Ed’s God Tier Ads.
Use my discount code “NILS100” at checkout for $100 off. Pay once, get lifetime access to everything.
I’d still share these tips without the kickback. Ed’s pro tips have made me way more money than I’ll ever see from commissions, but a few extra bucks is nice! Here’s the link again: https://app.godtierads.com/gta-bonus-bundle/apnnu
Here’s an easy way to increase the CTR of your ads:
Include a timeframe.
Here are examples:
– Nils
As we dive into the new year, let’s remember:
New PPC goals don’t necessarily deliver better results.
The proper execution of better strategies does.
Also, the execution of a PPC strategy is a process, not an outcome. By refining and improving this process, you’re not simply chasing results – you’re building a pathway to achieve them consistently.
Improve the process, and results will follow.
– Nils
Last week, I shared my Top 5 Google Ads Scripts of 2023.
ICYMI, here’s the link to the blog post with all 5 scripts:
https://nilsrooijmans.com/the-best-google-ads-scripts-of-2023/
And if that doesn’t whet your appetite, here are 5 more lists featuring the best scripts from previous years:
Happy scripting!
– Nils
“The click data you buy each day is the soil from which your future account will grow.”
– Nils
One of my email newsletter subscribers Merlijn Schroten asked me a question last week (shared with permission):
“I always make happy use of your script ‘alert for when someone outside of the team makes changed into the google ads account’.
However, I keep on receiving messages where the client type is not an e-mail address, but: GOOGLE_ADS_AUTOMATED_RULE
Do you have any idea how to exclude this ‘user’?“
Great question, and good news: there’s an easy fix for that!
If you do not want to receive alerts when Google Ads’ Automated Rules make changes to your account, simply add the user ‘Bulk Actions’ to the IGNORE_USERS array in Line 21 in the script.
Example:
var IGNORE_USERS = [ 'john@doe.com', 'Bulk Actions'];
After that, you won’t receive any alerts from changes by John, or changes from any Bulk Actions.
Here’s a copy of the script, for your convenience:
Change History Alerts
URL: https://nilsrooijmans.com/google-ads-script-change-history-alerts/
What it does: The script checks all the entries in the Google Ads change history of your account, and if there is a change by a user outside of your list of ‘recognized’ users, you will get an alert via email. The alert mail contains the number of changes as well as a link to the Google Sheet that lists all changes by unrecognized users.
Why you care: It is all too often people outside your team (or Google) make changes to the Google Ads accounts you manage. You want to make sure these changes are in line with your strategy asap. This script ensures you do.
Happy scripting!
– Nils
You know what’s better than good leads?
Sales.
The quickest way to get more sales is to track the quality of your leads.
How do you track the quality of your leads?
By qualifying a lead in each and every step of your funnel, AND communicating this qualification back into Google Ads.
Here’s the thing: If you don’t know (measure!) the quality of your leads, your odds of delivering sales go way down.
And if you aren’t delivering sales, after a while it gets pretty hard to believe in the quality of your leads.
– Nils
Are you running separate search campaigns for your brand keyword? (You should!)
And, because of Google’s dance with the keyword match types, are you increasingly seeing non-brand search terms being matched to your brand keywords? (Don’t we all?!)
If so, Google’s ‘brand restrictions for search campaigns’ may be just what you need. Brand restrictions allow you to restrict your campaign’s traffic to Search queries that contain specific brands.
NOTE: Enabling brand restrictions for Search requires the campaign to have the broad match campaign setting enabled.
More info here: https://support.google.com/google-ads/answer/13721847?hl=en
I haven’t tested this feature myself and prefer to use a script to retroactively add non-brand search terms as negative keywords.
– Nils
PS: If you have used this feature, I’m curious to hear your thoughts on it. You can email me about them at nils@nilsrooijmans.com.
Currently, I am in the process of onboarding a new client that sells some interesting stuff: first aid kits for dogs. It’s a pretty popular type of first aid kit too! Who would have known?
Anywayz…
The thing is: the client’s website shows some weird behavior:
Final URLs that include UTM parameters are working 100% ok.
Yet, the same URLs without UTM parameters -> crickets. As in, redirect to HTTP 404 response page.
So, I wondered what percentage of site visitors had to ‘play fetch with a ghost bone’. I went into Analytics to find the number of visits to this 404 page.
ZERO!
Hmmm…
That can’t be right now, can it?
Nope. It can’t and it isn’t.
Problem: the GA tag is not firing on the 404 page. So it’s not easy to find out how many visitors leave the shop because of this terrible user experience, and thus how important it is to fix this.
Unfortunately, this scenario is not uncommon. In fact, it is one of the things I’ve learned to check when onboarding new clients.
Truth be told, I’ve learned to check 404 pages from Ed Leake’s GTA Framework.
Here’s how Ed brings it:
(Click image to enlarge)
Note the pro tip in yellow: you can set an alert/custom insight in Analytics/GA4. 🙂
I really like that one. Thanks to the alert, I am always in the know if 404’s are skyrocketing for some reason. (IT guys deploying on Friday afternoon? Anyone?)
– Nils
PS:
Ed actually has over 400 practices in his PPC Framework that will help you onboard a new client. They are part of the God Tier Ads Framework.
If you want to simplify account management, take back control, and improve results (or your money back) -> sign up for Ed’s God Tier Ads.
Use my discount code “NILS100” at checkout for $100 off. Pay once, get lifetime access to everything.
I’d still share these tips without the kickback…Ed’s pro tips have made me way more money than I’ll ever see from commissions, but a few extra bucks is nice!
Here’s the link again: https://app.godtierads.com/gta-bonus-bundle/apnnu
Quality Scores… yuck. The Quality Score metric is a black box and optimizing your quality score can be a huge time sink.
The value of optimizing keyword Quality Score is heavily debated amongst PPC practitioners. The controversy around AI’s existential risk is simply dwarfed by PPC Redditors and PPC Tweeps discussing the magic QS acronym…
Personally, I restrict my QS optimization efforts to a very limited set of keywords for which optimizing the QS is:
A) making a significant difference (in number of clicks and/or average CPCs), and
B) easy to do
The easiest way to discover keywords that meet both criteria is to use filters in your keyword reports.
Filter 1: Find keywords with enough search volume and less than perfect “ad relevance.” Improving ad relevance is simply a matter of adding the keyword to your ad copy and extensions. Easy fix.
(You can click the images to enlarge and see filters.)
Filter 2: Find keywords with enough search volume and below-average score for “landing page experience.” Improving landing page experience can simply be a matter of mapping the keyword to a better landing page on your site. Another easy fix.
PRO TIP: Save these filters so that you can easily revisit them next month.
SUPER-PRO TIP: Hey, why not create a script to alert you when new keywords pop up that meet these criteria? You guessed it, I’ve got that one running. 🙂
– Nils
PS: If you are a native Dutch Google Ads Specialist with at least 1-2 years of experience, want to up your ad copy skills, and are interested in a part time job (2 hours per week), OR you know someone, please send me an email at nils@nilsrooijmans.com.
ICYMI, last week ChatGPT turned 1. What better way to celebrate than to discuss some of the powerful GPT use cases for PPC practitioners?
Guess what? Frederick Vallaeys invited me to PPC Town Hall to do just that.
Fred and I discussed the announcements from Open AI’s DevDay with a lot of examples. We also demonstrated my Custom GPT for Google Ads Scripts, the Google Ads Scripts Sensei (soon to be released in public).
The Google Ads Scripts Sensei can create some really powerful PPC scripts and teach you how they work.
Watch me create a working script straight from from a whiteboard sketch in less than 3 mins. (Yes, without any further instructions.)
URL: https://www.youtube.com/watch?v=8x-GT43-45w&t=942s
I hope you enjoy this discussion. 🙂
– Nils
PS: If you want to learn more, be sure to check out my list with ChatGPT Prompts for Google Ads Scripts Developers: https://docs.google.com/document/d/1FZ73rNHqxdUSeu5MxpdoxEOWEY5Uuxd-0cl_mVyZBto/
– Nils
If you’re running late, and still want to add Promotions to showcase your Black Friday offerings, here’s a quick guide: https://docs.google.com/document/d/1bNKcrhg-cciq21cPkM8L2UnUZglj1cVCFu0fTKr2_gQ/edit
Promotions allow you to distribute online offers across different Google properties, including Google Search, the Shopping tab, and more. When you add promotions to products that you sell on Google, shoppers view a “special offer” link (for example: 15% off or free shipping). This link can increase the appeal of the products you show and encourage shoppers to buy.
You can now also show your promotions to shoppers who use the Chrome browser:
More details: https://support.google.com/merchants/answer/7322422?hl=en
– Nils
Black Friday Madness….
Are new sale_prices entering your inventory more than once per day?
Or do products easily go out of stock during the next few days?
If so, this script might be of interest to you:
Fetch Google Shopping Feeds Every Hour of the day
URL: https://nilsrooijmans.com/google-ads-script-increase-shopping-feed-update-frequency/
What it does: This script fetches your shopping feed every hour. This way, all the data in your Merchant Center and Shopping Ads is always up to date.
Why you care: The Google Merchant Center interface only supports once-per-day updates of the product data in your shopping feed.
Because of this fetch rate limitation, your shopping campaigns may miss Black Friday opportunites, or show outdated product listing ads on the Google SERP.
– Nils