you can’t scale a lie

I came across this LinkedIn post from Sarah Stemen today. The post clearly illustrates why we can’t simply trust Google to deliver the best results for our clients:

My client had a record-breaking Black Friday. They were popping champagne. 

I was looking at the search terms crying a little inside… 

My client was ecstatic. Sales were up, ROAS was high, and they were ready to declare victory on Q4. They looked at the bottom line and said, “We crushed it.” 

But I looked inside the “Black Box” of Performance Max… 

Even though we had requested Brand Exclusions, PMax is a creature of least resistance.  It found a way to sneak Brand traffic back in. It was claiming credit for sales from people who were already searching for the company name. 

On top of that, I found about 5% of their Non-Brand budget burning on completely irrelevant terms. 

𝐓𝐡𝐞 𝐂𝐥𝐢𝐞𝐧𝐭’𝐬 𝐑𝐞𝐚𝐜𝐭𝐢𝐨𝐧: “𝘚𝘢𝘳𝘢𝘩, 𝘸𝘩𝘰 𝘤𝘢𝘳𝘦𝘴? 𝘛𝘩𝘦 𝘯𝘶𝘮𝘣𝘦𝘳𝘴 𝘭𝘰𝘰𝘬 𝘨𝘳𝘦𝘢𝘵. 𝘓𝘦𝘵’𝘴 𝘫𝘶𝘴𝘵 𝘤𝘦𝘭𝘦𝘣𝘳𝘢𝘵𝘦.” 
𝐌𝐲 𝐫𝐞𝐬𝐩𝐨𝐧𝐬𝐞… It matters because 𝐲𝐨𝐮 𝐜𝐚𝐧’𝐭 𝐬𝐜𝐚𝐥𝐞 𝐚 𝐥𝐢𝐞. 

If you think PMax is driving new customers at a 10x ROAS, you will pour more money into it next month. But once PMax runs out of “Brand” traffic to harvest, that performance will fall off a cliff. We weren’t seeing “Growth.” We were seeing “Efficiency” on traffic we already owned… 

𝐓𝐡𝐞 𝐋𝐞𝐬𝐬𝐨𝐧: Google 𝘸𝘢𝘯𝘵𝘴 you to look at the blended ROAS and feel happy. But if you don’t audit your PMax Insights tab, you don’t know if you are acquiring customers or just taxing your own brand. 

𝐁𝐞 𝐭𝐡𝐞 𝐩𝐚𝐫𝐭𝐲 𝐩𝐨𝐨𝐩𝐞𝐫. Check your search term insights today. If PMax is taking credit for your brand name, your “growth” might be an illusion.

𝐏.𝐒. 𝐖𝐨𝐫𝐫𝐢𝐞𝐝 𝐲𝐨𝐮𝐫 𝐏𝐌𝐚𝐱 𝐜𝐚𝐦𝐩𝐚𝐢𝐠𝐧𝐬 𝐚𝐫𝐞 𝐭𝐚𝐤𝐢𝐧𝐠 𝐜𝐫𝐞𝐝𝐢𝐭 𝐟𝐨𝐫 𝐰𝐨𝐫𝐤 𝐭𝐡𝐞𝐲 𝐝𝐢𝐝𝐧’𝐭 𝐝𝐨? I check for PMax Cannibalization in every 𝐃𝐞𝐞𝐩 𝐃𝐢𝐯𝐞 𝐕𝐢𝐝𝐞𝐨 𝐀𝐮𝐝𝐢𝐭. Let’s see what’s actually driving your sales.

Source: https://www.linkedin.com/posts/sarahstemen_image-share-7402455177099894784-WJ5M

“You can’t scale a lie” — love this!

PMax sneaking brand traffic back in: that is exactly why I recommend to always use a negative keyword list for your BRAND keywords (including popular typos), and to attach that list to all your non-brand campaigns. Especially PMax campaigns!

– Nils

[AMA] “Do you use brand inclusions/exclusions in PMax campaigns?”

Friend-of-the-list Kevin Montel (name shared with permission) asked:

“This (*) is an incredibly valuable breakdown of how to manage brand campaigns alongside PMax.

I have yet another tiny follow-up question. What about brand inclusion and exclusion settings available inside PMax campaigns? Do you consider this in your setup?

According to a recent article (although Google retracted it), this option should also become available in Standard Shopping campaigns.”

(*) The setup Kevin is referring to is the setup I recommend for targeting brand searches via Standard Shopping. (See last week’s AMA newsletter for the details.)

Another great question. Thanks for asking, Kevin!

To start with, the options to use brand inclusions/exclusions in standard shopping: last I heard, this was a bug by Google. Brand inclusions/exclusions are not supported in standard shopping campaigns.

Then the real question: Do I use brand inclusions/exclusions in PMax campaigns?

Yes, and no.

Yes, when Google recognizes the Brand, I use brand exclusions in PMax to prevent PMax from taking credit for branded searches.

However, no, that’s not enough:

  1. Even if Google recognizes my Brand and I have excluded the brand, PMax search terms still show (popular) typos for the brand name. To exclude all spelling variants and typos, I still prefer to exclude these searches via a negative keyword list that contains my brand name plus all the variations used when searching for the brand.
  2. I also like to exclude competitor brands for varying reasons. Still, the same issue with variants is at play, AND Google often does not recognize all competitor brands as Brands (required to use brand inclusions/exclusions feature).

So, I always like to exclude my brand and competitor brands, including all spelling variants and typos (via negative keywords), just to be sure.

– Nils

PS: Wednesday is ‘Ask Me Anything’ day. If you’ve got a question to which my answer would benefit a larger part of the community, send it my way, and I’ll try to answer it 🙂

this change history alert saved our conversion tracking

Ever had a client make unwanted changes in the Google Ads account during the weekend?

We just did.

The client installed a third-party tracking tool on Saturday and allowed the tool to make changes to the tracking templates in the account we manage.

These changes conflicted with our conversion tracking. 

If we hadn’t noticed the changes and kept the new tracking template in place, our OCI would have been off, way less conversions would have been tracked, and smart bidding would have almost certainly gone haywire!

Luckily for us, we have been running the change history alert script that sent us this warning:

(click image to enlarge)

Google Ads Scripts FTW!

Here’s the link to the script:
https://nilsrooijmans.com/google-ads-script-change-history-alerts/

– Nils

Why the next P-Max / AI-Max / whatever-Max won’t take your job

Google Ads is frequently rolling out new features designed to “improve your Google Ads performance.”

Many of these features are (initially) designed to “fully automate” your campaigns — from automated targeting to automated creatives, and even automated bidding.

It may feel like a game of removing humans from the process entirely.

You may be worried about your job. 

I am not.

In my 20+ years of managing Adwords/Google Ads campaigns, here’s what I’ve seen:

1) First, new features are mostly introduced prematurely, with little control for advertisers. For the first year(s), the performance of the new feature is so-so at best and always easy to beat by experienced PPC professionals sticking to proven methods.

2) Then, after a few years, Google has learned its lessons based on a lot of clicks from good-faith-advertisers that jumped on the wagon early, before the new thing actually starts performing. In the meantime, PPC pros who knew what they were doing prevented the wasted ad spend the other advertisers paid to teach Google what it needed to learn.

3) After Google has learned its lesson, the new feature has gotten less “fully automated” and more transparent, or it simply gets removed. Think: bid limits in portfolio smart bidding, search terms and negative keywords for PMax, brand controls, etc.

4) The matured version of the new feature will do a “good” job for the average advertiser, and maybe an “okay” job for you. However, you have to remember: Google is first and foremost optimizing its own profits, not yours. And no advertiser is the average advertiser. Which brings me to… 

5) The best results are still the result from a combination of the Google Ads features with the manual actions of real PPC pros who look at the individual account specifics. Think: adding negatives to combat irrelevant matches from the always-changing-match-types, or fixing automatically-applied recommendations, or auto-generated headlines, etc.

Here’s the thing: As long as Google stays hungry, our careers stay fed. And when Google gets grabby, we get busy. 

– Nils

[AMA] “How do you run BRAND campaigns in Shopping when you run PMax campaigns?”

Last week, I shared how I run Standard Shopping Campaigns that target branded searches (email shared below for your convenience). 

Manuel Regidor (name shared with permission) replied with a follow-up question that many of you also asked:

“Hi Nils,

Thanks so much for sharing this detailed breakdown on brand campaigns in Shopping! This is incredibly helpful.

I’m curious – how would you apply this same strategy within a Performance Max feed only campaign? Since there are no priority campaigns. I’d love to hear your approach.

Looking forward to your insights!

Manuel”

Happy to help, Manuel. Here you go:

To run a Standard Shopping campaign that only targets branded searches, next to Performance Max campaigns, do these:

  1. Next to your existing PMax campaigns, create a high-priority AND a medium-priority standard shopping campaign for brand searches.
  2. Add the products you want to show for your branded searches to both these campaigns (exact same set of products in both campaigns).
  3. Ensure all branded searches will be funneled to the medium-priority brand campaign by adding your brand searches to a negative keyword list that is attached to: 
    • the high-priority brand campaign
    • all your PMax campaigns, and
    • all other non-brand shopping campaigns. 
  4. Set extremely low manual CPC bids in the high-priority brand campaign. This will ensure Google will rarely spend any money on the non-branded searches that will land in this campaign.
  5. Set high manual CPC bids or allow for high CPC bids in your bidding strategy for the medium-priority brand campaign. This will ensure maximum visibility for all the branded searches that will land in this campaign. 

Advantages of this setup:

  • Your PMax campaigns are forced to optimize for conversions from non-branded searches instead of going after the low-hanging fruit of branded searches. (Note that the significantly higher-than-average ROAS of branded searches in PMax hides the underperformance of the non-brand searches in that same PMax campaign; we and smart bidding only look at the aggregate result, allowing PMax to underperform on non-brand).
  • You have tight control over both the CPC bids, your impression share, and the exact products you want to show for your branded searches via the medium-priority standard shopping campaign. 

NB: Make sure the high-priority campaign never runs out of budget before the medium-priority campaign does. Otherwise, non-branded searches might end up being matched by the medium-priority campaign. I use a shared budget for this. Also, make sure ad schedules, audience targeting, device targeting, and location targeting are the same for both campaigns.

– Nils

PS: Here’s last week’s email — https://nilsrooijmans.com/daily/ama-how-do-you-run-brand-campaigns-in-shopping

advice for your PPC AI stack

A quick word of advice for building your PPC AI stack: create your own AI stack just like you’ve built your PPC tool stack, and then stick to it. 

Think of something like Microsoft Excel versus Google Sheets: you probably have a default preference and stick to it, only to switch between them for specific use cases.

Or email: you’re not testing different email clients every month.

The same goes for AI. Don’t continuously jump from one AI tool to another. (*)

Here are some examples:

  1. Choose one LLM, and stick to it. (I am using Gemini.) 
  2. Choose one tool for image generation, and learn to use it well. (I am using Midjourney.)
  3. Choose one tool for workflow automation, and benefit from your experience. (I am using Zapier.)
  4. Choose one vibe code assistant, and spark your creativity. (I am using v0.dev for front-end/rapid prototyping stuff and Claude code for the rest.)
  5. Choose one AI-powered code editor, and refactor your code (I am using Cursor.)

Oh, and be sure to add Google Ads Scripts + AI APIs to your AI stack for things like:

  • automated KWR
  • intelligent search term mining for (negative) keyword management
  • meaningful ad copy optimizations based on search term and lander analyses 
  • contextual ad copy based on live sports/events
  • enhanced product feed generation
  • client-satisfying report mails

– Nils

(*) Yes, AI tools change and improve at a rapid speed. However, they are playing catch-up; successful new features from competitors will be replicated soon by your tool provider. Don’t worry about the current small differences.

If you keep chasing the next shiny object, you will not be able to learn and master anything. 

You don’t need every new tool — just a tight and reliable stack that grows with you. (And yes — for that, you should still dedicate some time to testing new AI tools and fundamental updates. Just not continuously.)

nightmare fuel – more Google Ads manager accounts getting hijacked

Serious warning: I see a lot of messages about Google Ads manager accounts being hacked/hijacked lately.

The hackers get into the manager account, remove you from it, and then remove/change permissions on all users from all client accounts.

Here’s one example from LinkedIn today:

And here’s another:

Source: https://support.google.com/google-ads/thread/388653509

This is extremely scary sh!t if you ask me; I wouldn’t sleep at all if this happened to my manager account (with multi-millions ad spend in it).

It looks like phishing scams are getting more intense. Here’s an example: 

Notice the sender email address (yellow highlight).

When you click “accept,” you get forwarded to the “continue page” that looks exactly like Google’s, but has a different URL.

If you enter your credentials there… you are F@#Ked!

Here’s the thing:
You have to be very, very, VERY protective of who gets access to your Google Ads manager account.

Here’s how to fix:
1. Enforce 2FA, see https://support.google.com/google-ads/answer/12865295?hl=en
2. Set up Passkey for your Google account, see https://www.google.com/account/about/passkeys/
3. Restrict manager account access to your own domain so that other domains (including Gmail) can’t get access. See https://support.google.com/google-ads/answer/12865295?hl=en
4. Never accept invites to access a Google Ads account. Always send the invite yourself to the client to accept. (I always send link requests from my manager account.)
5. Be SUPER vigilant when asked to provide credentials/log in to Google Ads.

Forward this message to your colleagues if you share my concerns. This is a real issue.

Be safe!

– Nils

‘Original Conversion Value’ now directly visible in your reporting columns

I just came across this LinkedIn post that I think is worth sharing:

When you are using customer lifecycle goals in Google Ads (or are using conversion value rules), the original value of your conversions is updated at the time of conversion.

This means Google will use the “new” value of the conversion in smart bidding, AND communicate the new value in the reporting.

By enabling ‘New Customer Acquisition’ and adding revenue value for new customers, you can stimulate smart bidding to bid higher for potential new customers.

Anticipating future revenue from new customers can be a good strategy, BUT you still want to monitor the immediate returns, right?

Before this new column, you had to pull some tricks to easily monitor the original conversion value. Not anymore. 

Great job, Google!

More details here:

– Nils

code steal

I open an email from a PPC friend.

It was very short, only two words: “Code steal?”

There’s a screenshot. I zoom in, see an unknown account name, and start looking at the code.

Indeed, my friend rightly recognized the code as mine. (I use specific coding styles when writing custom scripts for clients.)

Someone did, in fact, steal custom code that I created for an agency a while back.

Having someone copy your code and ignoring (as well as removing) the license feels bad. Of course it does. It’s stealing.

However, the PPC “pro” in question is ultimately on the losing side of things.

One, because of karma.

Two, because the most powerful scripts solve a specific problem for a specific strategy in a specific Google Ads setup during a specific time.

If the context changes, the script must change too. Therefore, simply copy-pasting a custom script can be dangerous.

Just because the script created great value for a specific account at a specific time, it doesn’t mean it will do the same today in a different account.

Google Ads is constantly changing, and so should your strategy.

Scripts and other automations (think AI) should evolve with the platform, your strategy, and your setup. They are not static, copy-paste, or “set and forget.” And yet, so many people try to use them this way, as if they were silver bullets.

There are no silver bullets in PPC, I’m afraid.

– Nils

[AMA] “How do you run BRAND campaigns in Shopping?”

Friend-of-the-list Jochem P. (name shared with permission) asked:

“How do you run BRAND campaigns in Shopping?”

First, let’s start with how not to run a brand campaign in Shopping:

The wrong way to set up a brand campaign in Shopping is to:

  1. Create a separate shopping campaign for brand searches
  2. Have Google match all your products to a wide set of non-branded searches, and then
  3. Use a script to negate all these non-branded searches from your brand shopping campaign in the hope that Google will eventually only show the products for branded searches.

This is the wrong way because:

  • You will lose a lot of money on clicks on non-branded searches before all these non-branded searches get negated, and
  • You will end up having to negate more searches than the limits of negative keywords and negative keyword lists will allow you to do. This is because Google goes very broad when matching your products to user queries.

A right way to set up a brand campaign in Shopping is to do these:

  1. Create a separate low-priority shopping campaign for brand searches.
  2. Add the products you want to show for your branded searches to this low-priority brand shopping campaign.
  3. Set high manual CPC bids or allow for high CPC bids in your bidding strategy to ensure maximum visibility for all the branded searches that will land in this campaign. 
  4. Ensure branded searches will be funneled to this low-priority brand campaign by adding your brand searches to a negative keyword list that is attached to all other non-brand shopping campaigns. 

This will ensure the products in your brand campaign will only be shown for branded searches, and you have tight control over the CPC bids, your impression share, and the exact products you want to show for your branded searches. 

NB: Make sure all the products in your low-priority campaign are also added to non-brand high or medium-priority campaigns, AND that these high and medium priority campaigns never run out of budget before your brand campaign does. Otherwise, non-branded searches might end up being matched by the low-priority brand campaign. Also, make sure ad schedules, audience targeting, device targeting, and location targeting are the same for all campaigns.

– Nils

PS: Wednesday is ‘Ask Me Anything’ day. If you’ve got a question to which my answer would benefit a larger part of the community, send it my way, and I’ll try to answer it 🙂

The State of PPC survey

Thank you for being here!

Your appreciation means a lot to me; it’s like a turbo on my scripting engine and it keeps me motivated to share my PPC learnings in my daily emails.

Today, I’ve got a favor to ask.

If you’ve gotten some value out of my scripts and/or newsletter this year,
and want to stimulate me to create more value next year, help me help you:

Please take 5 mins to complete the survey at https://www.ppcsurvey.com/

Vote for me as your PPC scriptfluencer of the year 🙂

That’s it.

Thanks a ton already!

– Nils

Output VS Outcomes

In Google Ads Scripts (and today’s AI tools), it’s easy to obsess over output: the logs, the spreadsheets, the pretty charts, the email alerts.

However, none of that matters unless it creates outcomes: more time saved, fewer mistakes, better decisions, higher profit.

A script that prints a beautiful report but doesn’t change how you run your account? That’s output.

script that catches clicks from Search ads to out-of-stock products before they burn €1,000? That’s outcome.

A script that spots PMax’s bad placements early and helps you keep your brand safe? Outcome.

As you build (or copy…) scripts, ask yourself one question:

“Does this help me act smarter — or just look smarter?”

Happy scripting,

– Nils

[AMA] “What is your favorite Google Ads keyboard shortcut?”

Long-time member of the list Angela York (name shared with permission) asked:

“Last week, you showed us keyboard shortcuts for Google Ads Editor. What is your favorite shortcut inside Google Ads UI?”

I have posted about one of my favorite use cases before, and you can find it here: https://nilsrooijmans.com/daily/little-secret-ppc-productivity-hack

My current favorite is the ‘F’ key.

Simply hitting the F key will open the full-screen mode for the table in your view.

Here’s an example for our search term report.

Before hitting the F key (notice all the distractions):

After hitting the F key:

Nice and clean view, isn’t it? 🙂

– Nils

Google Ads Editor Keyboard Shortcuts

Keyboard shortcuts. Some swear by them. Others never use them.

Me, I think they are one of the best ways to increase your PPC productivity.

Here are my favorites for Google Ads Editor:

Ctrl+Shift+TGet recent changes
Ctrl+HReplace text
Ctrl+Alt+H Change text capitalization
Ctrl+UChange URLs
Ctrl+KCheck changes
Ctrl+PPost changes

And here’s a list with them all:

https://support.google.com/google-ads/editor/answer/54654?hl=en

– Nils

[AMA] “How to target what they want, next to what they need?”

On September 8, I wrote a short email saying:

Here’s a simple trick for you:
  
Target what they want, next to what they need.
  
Think:
    “how to get warm feet” next to “alpaca socks”
    “how to feel less tired” next to “best mattress”
    “how to get her to want me” next to “Tom Cruise pick up lines”

Fellow member of the list, Kevin Adjei-Frempong (name shared with permission), asked:

“Can you elaborate on what you mean and show a use case? Also, how and where would you implement it?”

Sure thing.

Let’s say you are advertising a flower delivery service.

You’ve done your market research and identified buyer personas, their wants, and their needs.

Someone in your target audience (‘Jane’) needs flowers delivered to a friend who just lost a loved one.

Jane needs flowers to be delivered because she wants to show her friend she is thinking about him during these hard times, and she wants to show this without having to travel for 6 hours and meet him in person.

For this scenario, here’s my approach.

In my keyword targeting, I would target both the need and the want, so I target these keywords:
  need: [flower delivery service ${location}]
  want: [how to show support to a grieving friend]

In my ad copy, I would talk about the USPs and Benefits related to the need and want:
  need: “Same day delivery in ${location} before 4PM.”
  want: “Brighten someone’s day with fresh blooms right to their door. All from the comfort of your chair.”

– Nils

PS: Wednesday is ‘Ask Me Anything’ day. If you’ve got a question to which my answer would benefit a larger part of the community, send it my way, and I’ll try to answer it 🙂

agency life, or how my Script Sensei will save your reputation

Nobody will remember:
– Your salary
– Your fancy Title
– How ‘busy’ you were
– How many hours you worked
– Any of the Google certificates on your wall

People will remember:
– How you spent twice the client’s monthly budget in a single day

Here’s a 5-minute challenge for you:

Ask my Script Sensei to create a script for you to prevent budget mistakes. 

Share your results and/or questions with me, and I’ll help you with your next step.

LINK: https://chatgpt.com/g/g-68d80c18068c819186aeb92dde66348e-nils-script-sensei

– Nils

supercharge your e-commerce campaigns with the power of Google Ads scripts

Want to supercharge your e-commerce campaigns with the power of Google Ads scripts?

Join me tomorrow for a deep dive into advanced scripting techniques specifically designed for e-commerce advertisers.

WEBINAR (free): Best scripts for Google Ads and eCommerce and how to use them

DATE + TIME:  Tuesday, October 21, 4 PM CET

LINK: https://www.channable.com/next-level-ecommerce

I’ll be sharing my go-to Standard Shopping + Search strategy to outperform PMax. During the free webinar, I’ll share the setup plus how I use scripts to automate the process. 

See you tomorrow?

– Nils