Are your high-CPC keywords having quality score issues due to below-average relevance? Here’s your fix.

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

how to get better results

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

Unlock the Google Ads Script Vault: Top 5 of 2023 & More!

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

How to exclude automated changes from your change history alerts

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

Track the quality of your leads

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

brand restrictions for search campaigns

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.

Is your analytics firing on dead pages (404’s)?

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

Easily improve your Quality Score with these two filters

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.

from whiteboard sketch to working script in 3 mins (thanks to my Custom GPT)

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/

Merchant Promotions Quick Guide

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:

  1. On the Chrome New Tab page, as part of a new experience showing recent activity across the web. This can help to bring users back to your site to finish a purchase.
  2. In the Chrome address bar: Promotions are shown on the right end of the address bar and while a shopper is browsing your website.

More details: https://support.google.com/merchants/answer/7322422?hl=en

– Nils

[Google Ads Script] Black Friday tip: update your Google Shopping Ads every hour of the day

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

audit checklists…

Ever needed to perform a Google Ads audit?

Chances are, like me, you’ve googled for hours, trying to find free (or paid) checklists of all the things you can (easily!) check in a Google Ads account.

Google promptly presented some shitty blog posts from agency websites, mediocre articles from SEJ and SEL and the likes, and with a little bit of luck, a Google Sheet or Reddit post that actually had something interesting to say.

The problem with audit checklists is, they are almost always:
1 – outdated
2 – irrelevant for _your_ account (what lead gen advertiser has ever heard of GMC?!)
3 – too generic 
4 – all of the above

So you end up creating your own checklist.

Which is a LOT of work.

BUT it IS worth it!

Both for prospecting (new clients) and quality assurance (retention). And efficiency (wasted ad spend). And education (team members). And…

Over the last 10+ years, I’ve created my own list with over 500 different items to ‘check’.

These checks range from simple things like ‘Display expansion disabled on search campaigns?’ to hard things like ‘Do the bid strategies align with short-term and long-term objectives?’ (how the hell do you “check” the latter?! please teach me).

And with each and every new audit, I challenge myself to add at least 5 new checks to the list.

My biggest learning: having your own unique audit checklist(s) creates unique value. That list will enable you to create unique actionable insights for your boss/client/prospect, with relatively little effort.

Today is the best day to get started on your own Google Ads Audit Checklist, and here’s our friend Ed Leake to help you get started:

– Nils

PS:

Ed actually has over 400 practices in his PPC Framework that you can transform into your unique checklist. 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

Auction Insights Trendline to reveal BF competitors

Fellow list member Alex van de Pol shared an interesting tip on getting a clearer trend analysis on the auction insights via LI last week.

With Black Friday competitors attacking your ad positions like piranhas on a feast, how do you plan to keep your campaigns afloat?

Insights into exactly what competitor is going full throttle in the fast lane of Google Ads spend might give you some clues.

Here’s how you can easily achieve this visual representation in your own account:

1. Navigate to the ‘Reports’ section.
2. Choose ‘Auction insights’ and select either ‘Search’ or ‘Shopping’ at the account level.
3. For ‘Search’, ensure only the ‘Display URL domain’ is active, or for ‘Shopping’, use the ‘Store display name’.
4. In the columns, focus on a single metric—such as ‘Impression Share’, ‘Overlap Rate’, ‘Top of page’, or ‘Absolute Top of page’—to avoid clutter.
5. Change the view from a table to a ‘Time Series-Line Chart’ and set your desired time frame to analyze. 

Especially if you’re in e-Comm, I suggest you jump right in. It only takes 3 mins!

– Nils

this app is blocked

Many of you emailed me last few weeks with this annoying issue:

You want to create or install a nice script, you’ve hit the big plus-sign (button) to create a new Google Ads Script, copy-pasted some code, tried to save it, and then…

The ‘this app is blocked’ pop-up is a bug on Google’s side, and they say they are working on it (source: Google Ads Script forum, Oct 23, 2023). So, hopefully, the issue will be fixed soon.

Here are three ways to get around the issue in the meantime:

(If you don’t know how to install and run Google Ads Scripts yet, check out my guide on how to install Google Ads Scripts.)

SOLUTION 1:

Find the ‘Advanced’ link in the pop-up, click it, and then click “Go to Test (unsafe)”.

NB: It’s not unsafe unless you run scripts that are unsafe.

If this isn’t working for you, move on to…

SOLUTION 2:

Try authorizing the script with a different user account.

If this also isn’t working for you, move on to…

SOLUTION 3:

Re-use an old script you’ve already authorized and don’t use anymore and replace the old code with your new code.

Happy scripting!

– Nils

[Google Ads Script] PMax seasonality trends in search terms

If you’ve been following me for a while, you’ll probably know that I like to “keep an eye on Google’s AI”.

This motto paid off once again today.

I was looking at trends in the search term categories of my PMax campaigns and noticed an interesting new opportunity.

The PMax algorithm started matching some of my products to a new category of highly relevant search terms that gained popularity due to seasonal influences (winter is coming). AND these search terms are not yet targeted by any keywords in the search campaigns, nor are they added to the titles of the products in my shopping campaigns.

OPPORTUNITY: let’s add these search terms as keywords and add them to the titles of my products to increase visibility and get some more clicks!

Moral of this very short story: The unpredictable behavior of Google’s AI is full of surprises. Both good and bad. Spotting the good and the bad, and acting on your findings, will allow you to increase the performance of your accounts beyond what Google’s AI can do on its own.

To make life a bit easier for you, here’s a script that enables you to do this on auto-pilot.

My ‘PMax Trending Search Categories’ script creates a Google sheet that reports what search categories are trending in your Performance Max campaigns. The report lists the search categories that show a significant increase or drop in impressions. It compares last week’s data to the week before.

Use cases:
–> Spot seasonality trends in the blink of an eye.
–> Easily see how the inside of the black-box PMax algorithm is changing, and matching your assets to new user queries.
–> Quickly see what types of searches your new products are being matched to.
–> Promptly respond to downward trends in search terms that showed great conversion value in the past.

You can use the insights to:
– add trending search categories as new (broad) keywords to your standard search campaigns 
– tailor your creatives based on trends
– add popular search categories to your landing pages and Merchant Center feed titles and descriptions to boost performance

LINK: https://nilsrooijmans.com/google-ads-script-pmax-trending-search-categories/

Happy scripting!

– Nils

OpenAI DevDay… what learnings do you want me to share?

Yesterday’s OpenAI DevDay brought some thrilling updates to the world of GPT developers and users, including PPC Pros who use ChatGPT to improve their Google Ads.

Here’s my top 3 of the most important updates for Google Ads Automaters:

1. GPT-4 Turbo: A more robust model boasting a larger context window (128K chars context! -> easily incorporate large Google Ads Scripts in your prompts and have ChatGPT fix any errors)

2. Better knowledge: knowledge cutoff is extended to April 2023! AND since ChatGPT is now powered by GPT-4 Turbo, ChatGPT will also have knowledge up until April 2023 -> ChatGPT will be fully up to date with the latest version of the Google Ads Scripts API (including GAQL queries, yay).

3. ChatGPT will soon introduce the ability to “Create a GPT” allowing users to tailor a version of ChatGPT for specific purposes. -> we can create a GPT specifically to help us with writing Google Ads Scripts!

Note: all 3 are just announcements, no hands-on experience yet from my side. Will start playing with what’s already available next few days.

Want to learn more about what’s coming?

Here’s Matt Wolfe with a nice overview of the crazy amount of innovation that has just been announced:

https://www.youtube.com/watch?v=nhzQULulAko

I’m having a very, very hard time staying up-to-date on all the new possibilities here… too much to explore.

What’s your take on this? Where do you think I should focus my attention and share my learnings?

– Nils