– Nils
Author: Nils Rooijmans
[PPC Productivity] This game-changing workflow hack saved me tons of clicks and many hours
Navigating between different clients can be a HUGE time sink. I can only imagine the countless hours I’ve devoted to tirelessly clicking between different accounts across various tools.
Here’s a quick win for all of you with little time: deeplink bookmarks for every client.
Instead of having each bookmark go to the homepage of the tool, have it deeplink directly to your client.
Right-click the bookmark folder and open all tabs in one click!
Easy win, right?
– Nils
[custom column] easily monitor the percentage of daily budget spent
Want to easily see how much of your daily budget has been spent in a given date range?
You can, using this custom column (“Perc of Daily Budget Spent”):
I use this column to quickly see if we’re reaching our daily budget or not. If we do, and performance is right, there might be room for growth -> Let’s contact the client to increase budget!
Here’s how you create the custom column:
Here’s the formula for you to copy-paste:
(Cost / report_days_count()) / Daily_Budget
Go ahead, try it. It only takes 3 mins!
– Nils
P.S. Want to create a script that automagically alerts you when your percentage of daily budget spent reaches a certain threshold?
If so, I’ve got good news for you!
If you can read English, you can create your own Google Ads Script and automate your way to free time.
In my Google Ads Scripts for Beginners workshop, you will learn exactly what to do to get your very own script running in your account. In ONE DAY.
Places are limited. Reserve your spot now: https://nilsrooijmans.com/google-ads-scripting-workshop-for-beginners/
Hope to see you there!
P.P.S. Here’s the link to the original Reddit post with more details:
https://www.reddit.com/r/PPC/comments/13qheuz/does_anyone_know_an_automted_way_to_prevent_the/
PPC Pareto Principle
Live the PPC Pareto Principle lifestyle:
1. Campaigns. What are the few campaigns that have the most positive impact on my account? Spend more time with them.
2. Priorities. What are the few actions that have the most positive impact on my performance? Prioritize them.
3. Learning. What are the few information sources I learn the most from? Focus on them.
4. Stress. What are the few sources that cause most of the stress and friction in my life? Eliminate them.
– Nils (who is inspired by productivity hero James Clear)
P.S. Want to automate the tedious repetitive tasks that keep you from doing the stuff that matters? I’ve got good news for you!
If you can read English, you can create your own Google Ads Script and automate your way to free time.
In my Google Ads Scripts for Beginners workshop, you will learn exactly what to do to get your very own script running in your account. In ONE DAY.
Places are limited. Reserve your spot now: https://nilsrooijmans.com/google-ads-scripting-workshop-for-beginners/
Hope to see you there!
P.P.S. Here’s the link to the original Reddit post with more details:
https://www.reddit.com/r/PPC/comments/13qheuz/does_anyone_know_an_automted_way_to_prevent_the/
please do prevent this nightmare: one copy-paste mishap cost an agency big bucks
This morning, I stumbled upon a gripping post on Reddit that vividly portrays a pain so relatable, it hits you right in the gut:
“…the client noticed and was annoyed, then my director noticed and was annoyed, and now he has to tell our new boss (who will be annoyed) and in the end we’ll have to write off the cost and I’ll have lost my agency a little chunk of commision.”
OUCH!!
In the Reddit post, OP describes how he used the Google Ads UI to copy-paste YouTube campaigns. And without him knowing, the copies had the Display Network enabled, where the original did not…
The result? Display pissed away half of his budget on random websites and apps!
Yep, Google is like that.
Bug, or feature? You tell me…
Either way, this is a great example of one of my favorite use cases for scripts — prevent manual mistakes.
To prevent mistakes likes this: you could create a script that runs every hour and uses a GAQL query to check the ‘network_settings.target_content_network’ setting for your campaigns, and send an email alert if that setting is ‘true’.
Here’s the thing: You can easily ask GPT-4 to create a script that will prevent costly mistakes like this.
Here’s the query I used:
“Create a google ads script that uses gaql to check if my campaigns have the ‘network_settings.target_content_network’ setting set to true. The script should log all the campaigns that have this setting set to true and send an email alert if there is at least one campaign that has this setting set to true.”
Go ahead, try it for yourself. It only takes 5 minutes!
– Nils
P.S. Want to learn how to create a script like this?
I’ve got good news for you!
If you can read English, you can create your own Google Ads Script and have GPT assist you.
In my Google Ads Scripts for Beginners workshop, you will learn exactly what to do to get your very own script running in your account. In ONE DAY.
Places are limited. Reserve your spot now: https://nilsrooijmans.com/google-ads-scripting-workshop-for-beginners/
Hope to see you there!
P.P.S. Here’s the link to the original Reddit post with more details:
https://www.reddit.com/r/PPC/comments/13qheuz/does_anyone_know_an_automted_way_to_prevent_the/
[Google Ads Script] Update your Google Shopping Ads every hour of the day
Do your products’ prices change more than once per day?
Or do products easily go out of stock during the day?
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 show outdated product listing ads on the Google SERP.
– Nils
a tool to easily add typos to your (negative) keywords
Here’s a handy tool I just came across: http://tools.seobook.com/spelling/keywords-typos.cgi
What it does: it creates a list with the most common typos for your (negative) keywords.
Why you’d care:
1. Negative keywords don’t do close variants; you’ll have to add each and every frequent typo to prevent your ad from showing.
2. To prevent PMax from hijacking your brand traffic, adding typos to your brand campaign and/or PMax negative keyword lists is a must.
PRO TIP: Create a script that automatically adds close variant search terms as new keywords to your branded campaign. This will prevent PMax from taking priority for these searches. In theory, at least.
– Nils
a glimpse into our AI scripting future
I just asked GPT-4 to create a Google Ads Script for me.
The script it created first pulls the performance labels for the headlines and descriptions of my RSAs.
It then calls GPT-3 to ask it a general question on how it can improve headlines and descriptions of RSAs.
The script then takes this answer from GPT-3, combines it with the current assets and their performance scores, and then asks GPT-3 to create new headlines and descriptions for the ones that had a ‘LOW’ performance score… based on what it had just learned (from itself) on how to improve headlines and descriptions.
I had to fiddle with the prompts a bit and do some tweaking of the final script to get it to work, but GPT-4 was able to almost completely write the script itself.
Also, I would say the quality of new headlines and descriptions wasn’t top notch, yet definitely good enough for most of the accounts I’ve seen in my lifetime.
I am still working on the prompts, as they are not ready for prime time yet. Stay tuned for more…
– Nils
P.S. Want to finally get started writing your own Google Ads Scripts? If so, I’ve got good news for you!
If you can read English, you can create your own Google Ads Script.
In my Google Ads Scripts for Beginners workshop, you will learn exactly what to do to get your very own script running in your account. In ONE DAY.
Places are limited. Reserve your spot now: https://nilsrooijmans.com/google-ads-scripting-workshop-for-beginners/
I hope to see (and hear) you there!
my favorite filter to reduce wasted ad spend
Here’s my favorite way to manually reduce wasted ad spend:
1. Go to the search term view at account level
2. Create filter (clicks > 100 AND conversions < 1)
3. Save filter
4. Revisit the filter at least once every month
And there’s your list of potential negative keywords!
Simply add the negative keywords to your account and gone are those clicks that go nowhere.
PRO TIP: have a script automatically monitor your search terms for you, and have it send an email alert every time a search term matches your filter(s).
– Nils
P.S. Have you ever thought about creating your own Google Ads Script but gave up on the idea?
I’ve got good news for you!
If you can read English, you can create your own Google Ads Script.
In my Google Ads Scripts for Beginners workshop, you will learn exactly what to do to get your very own script running in your account. In ONE DAY.
Places are limited. Reserve your spot now: https://nilsrooijmans.com/google-ads-scripting-workshop-for-beginners/
I hope to see (and hear) you there!
playground
Finally, we’ve had some fresh snow this weekend!
Today, it will mostly be off-piste skiing for me.
Off-piste skiing in fresh powder is a completely different game compared to on-piste skiing. Different snow, different skis, different techniques.
It feels like I need to start from scratch and re-learn everything.
Back to school.
The mountains are a playground, with new attractions, and new challenges every day.
That’s what makes skiing so much fun, I guess — the constant challenge of improving myself.
Being able to make the most out of every situation.
Here’s the thing: as PPC professionals, Google Ads is our playground — a constantly changing environment in which to experiment, test, and learn from mistakes, leading to higher ROI.
That’s what makes it so much fun, I guess.
– Nils
Google Merchant Center feed rules – an advanced little trick
Feed management… A necessary evil for all retail advertisers who want to advertise on Google Shopping.
A big gear grinding time sink when you are doing things manually.
Luckily for us, Google Merchant Center has the option to use ‘feed rules’ to do some of the heavy lifting. And the so called ‘custom attributes’ allow for some advanced logic!
Here’s a great video that explains how you can use ‘custom attributes’ to use all available operators in the rule engine.
Great nerdy stuff to automate your way to PPC success!
“When creating feed rules In Google Merchant Center, not every attribute allows you to use all operators. For example, custom labels do not allow you to use price-based operators such as calculate.
So setting custom labels based on pricing will not be possible. However, you can set up custom attributes (not to be confused with custom labels) which allow you to use all available operators. Then assign your custom attribute, on a custom label.
In this video I explain all the steps with an example.”
– Nils
thought starter
Thought starter for the week:
“The best way to increase your future productivity is to automate it today.”
– Nils
[Chrome Extension] “Add as Keyword” Match Type Helper
Adding relevant search terms as new keywords in your account is a great way to grow your account.
The data in your search term reports is a gold mine for just that. Simply go into your search term report, find relevant search terms for which you would like to get more clicks, and add them as a keyword.
But here’s the thing: when you decide to add the keyword Google now defaults to making that keyword Broad match.
There used to be a dropdown match type selector where you could choose to make that added keyword Exact, Phrase, or Broad match before adding the keyword to your ad group. Google removed that match type selector and now you have to manually add the Exact or Phrase syntax which means extra, repetitive work.
We don’t like.
Luckily for us, this Chrome extension solves the issue by giving you the ability to:
– Select the match type per keyword when adding matched search terms
– Change the match type for all matched terms before adding, in bulk
WIN: Time savings AND reduced risk of making mistakes when trying to manually add the match type syntax.
Here’s the link: https://chrome.google.com/webstore/detail/google-ads-add-as-keyword/lohkmkohhglpgndcmobnpiekmkobgdkp
Go ahead and try it right now, it only takes 2 minutes!
– Nils
Here’s what ChatGPT thinks about its role in PPC
Many of you asked me how ChatGPT would change our jobs and how we can use it to make our jobs easier.
And, of course, many of you want ChatGPT to create scripts for you. (Good news: you can! More on that later.)
For now, I decided to ask ChatGPT itself.
Here’s my prompt:
“Imagine ChatGPT as a real-time collaboration tool for PPC professionals, enabling them to brainstorm, strategize, and optimize Google Ads campaigns with AI-generated insights and suggestions. Describe the dynamics of this AI-human collaboration.”
And here’s what it came up with:
“ChatGPT could serve as a real-time collaboration tool for PPC professionals, revolutionizing the way they brainstorm, strategize, and optimize Google Ads campaigns. By integrating AI-generated insights and suggestions, the dynamics of this AI-human collaboration would create a seamless and efficient workflow that enhances productivity and results. Here’s how this collaboration could work:
1. Continuous Improvement: The AI-human collaboration would create a feedback loop, where ChatGPT learns from the PPC professionals’ decisions and outcomes, continuously improving its suggestions and insights over time. This would lead to a more productive and effective partnership.
2. Seamless Integration: ChatGPT would be integrated into the Google Ads platform or other project management tools used by PPC professionals, allowing them to easily access AI-generated insights and suggestions within their existing workflow.
3. Dynamic Brainstorming: As PPC professionals discuss and brainstorm ideas for campaigns, ChatGPT would actively participate by suggesting keywords, ad copy, targeting options, and bid strategies based on its extensive knowledge and real-time analysis of campaign data.
4. Real-time Analysis: ChatGPT would continuously monitor and analyze campaign performance, identifying patterns and trends that may be affecting results. It would then provide actionable recommendations for adjustments and optimizations to improve the campaign’s performance.
5. Instant Feedback: PPC professionals could consult ChatGPT for instant feedback on their ideas and strategies, enabling them to make data-driven decisions and quickly iterate on their campaign designs. This would help to reduce time spent on trial and error and improve the overall efficiency of the campaign development process.
6. Personalized Learning: ChatGPT would learn from each PPC professional’s unique preferences, working style, and campaign history, enabling it to provide tailored insights and suggestions that align with their specific needs and goals.
7. Cross-team Collaboration: By serving as a central hub for campaign discussions and ideas, ChatGPT would facilitate cross-team collaboration and knowledge sharing among PPC professionals, designers, and copywriters, leading to more cohesive and effective campaigns.
8. 24/7 Support: ChatGPT would be available around the clock, offering PPC professionals constant support and guidance in managing their Google Ads campaigns. This would help reduce stress and workload, enabling professionals to focus on more strategic tasks.
In summary, by incorporating ChatGPT as a real-time collaboration tool for PPC professionals, the dynamics of AI-human collaboration would lead to more efficient brainstorming, strategizing, and optimizing of Google Ads campaigns. This partnership would not only improve campaign results but also enhance the overall workflow and productivity of PPC professionals.“
What do you think?
– Nils
PS: I am considering giving a workshop that teaches you how to use ChatGPT to create scripts for you. If you’re interested, send me an email at nils@nilsrooijmans.com.
WARNING: Your existing scripts might be off the rails
Here’s a pretty common situation in today’s Google Ads Scripts environment: You’ve had a script running smoothly for months or even years. You’ve changed nothing in the script. Yet, at right this moment, the script fails because of “Stopped due to timeout”.
I’ve seen this issue appear in multiple accounts.
The root cause is unknown to me, but it almost certainly has something to do with Google quietly migrating your old scripts to the new environment.
There’s no error in the code. The script just times out.
Here’s the thing: If you do not check your script execution logs, you might not spot this issue and your scripts won’t run!
My current solution: Simply create a completely new script, copy-paste the code from the old script into the new one, and test again.
Most of the time it works without the need for any further debugging.
Happy scripting!
– Nils
PS: If you run into other scripting issues that are a bit more complex, my Google Ads Script Support Call might be just for you. Here’s the link: https://nilsrooijmans.com/google-ads-scripts-support-call/
a cognitive perspective
PPC is a numbers game.
But also it isn’t.
Sometimes we need to step back and take a different perspective.
Your ad impression creates a user perception that creates a sensation.
The way that sensation is interpreted determines the outcome of a decision. A decision to click, or not to click.
The next desired action, the conversion, is a leap of faith and requires trust.
– Nils
[Performance Max] Hard vs smart
Beating Performance Max’s results doesn’t require you to do a lot of hard work.
However, it does require you to do some smart work.
– Nils
little secret PPC productivity hack
Did you know?
In Google Ads, you can hold ‘SHIFT’ and press ‘A’ to jump up to the “whole account” level while staying on the same view.
I like to use this shortcut when I am looking at search terms within one campaign, and then quickly want to check how a search term performs in the whole account.
Here’s a list with some more shortcuts to improve your PPC productivity:
https://support.google.com/google-ads/answer/7282037?hl=en
– Nils
[Google Ads Script] Change History Alerts
Change happens.
Some changes are good. Other changes… not so much.
Occasionally, some of the most terrible changes pop up in your change history.
And the worst thing… they do so without you noticing!
Remember that last client of yours? That stubborn, overly self-confident, ego-driven maniac? He decided he knows best. Made some “minor” changes to your carefully optimized account. All by himself. Changing ad copy, reducing test budgets, and adding non-brand keywords to your BRAND campaign… the horror.
Or maybe that overly ambitious intern who joined your team last week… Negating keywords all over the place!
And let’s not forget the worst of the worst — your colleague accidentally hitting the ‘Apply’ button next to one of Google’s Recommendations.
Oh dear.
Here’s the thing:
It is _your_ job to manage and optimize your account. Therefore _you_ want be in the know when someone else makes any unanticipated change. And you want to know _immediately_!
Thankfully, there’s a script for that.
Today, I am sharing a stripped-down version of one of my favorite scripts in my private stack:
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 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
PS: Want to learn how to create scripts like this from scratch?
Sign up for my next “Google Ads Scripting Workshop for Beginners” (scheduled for early June 2023).
GPT and PMax
GPT-5: Can perfectly build a website from simple wireframes.
GPT-6: Can build and run a company.
GPT-7: Passes Turing test.
GPT-8: Overthrows world governments and expands into space.
GPT-9: Fails to understand how PMax is supposed to work, gives up, and resorts to standard campaigns.
– Nils