[AMA] “What settings do you immediately change when taking over an account?”

Two weeks ago, I was in Boston for my talk at SMX Advanced.

(The slides are available here: https://nilsrooijmans.com/AI-Agents-to-Boost-PPC-Productivity-Boston-2026.pdf)

One of the members in the audience asked me an unrelated but interesting question:

“What settings do you immediately change when taking over an account?”

Here’s what I responded with:

  1. Disable auto-applied recommendations. Having Google add Broad match keywords and Display Expansion for you is a very efficient way to advertise to everyone except your customers.
  2. Turn off Search partners and set location targeting to “Presence” instead of “Presence or interest” (unless fraudulent clicks are part of your growth strategy). 

What settings do you immediately change?

– Nils

PS: My strategy with respect to search partners is somewhat more complicated. I enable them for mature campaigns and then use a script to monitor the performance of Search partners versus the Google network. See here: https://nilsrooijmans.com/google-ads-script-search-partner-alerts/

PPS: Are you in Amsterdam this Thursday? Join us for the SEA Borrel at Café Kobalt. Beer, wine, PPC nerds, and thanks to Swydo, no wallet required. Non-Dutch PPC pros are very welcome too. Sign up here: https://luma.com/5fmizpk7

email unsubscribe list – what to do with it?

Here’s a question for you: what do you do with people on your email unsubscribe list?

Exclude them from your campaigns to reduce ad spend?

Create a separate campaign that only targets that list?

Something else?

Please do share your experience; I love to learn.

– Nils

PS: Are you in Amsterdam this Thursday? Join us for the SEA Borrel at Café Kobalt. Beer, wine, PPC nerds, and thanks to Swydo, no wallet required. Non-Dutch PPC pros are very welcome too. Sign up here: https://luma.com/5fmizpk7

SEA Borrel / PPC Drinks – June 18th

Catch up with fellow PPC professionals. Over a beer, a glass of wine, or something soft.

Who wouldn’t want that?!

That’s what we thought too. So this Thursday, June 18th, we’re hosting another SEA / PPC Drinks meetup!

What:
A simple, informal get-together to network with other SEA/PPC specialists. And thanks to our sponsor Swydo, you can leave your wallet at home.

Who it’s for:
All SEA specialists in the Netherlands. Agency-side, freelancers, in-house advertisers, newbies, veterans, and yes, non-Dutch PPC pros are very welcome too.

Where:
Café Kobalt in Amsterdam, right by the canal and close to Central Station. It’s about a 5-minute walk.

When:
Thursday, June 18, 17:00–20:00

Sign up here:
https://luma.com/5fmizpk7

See you Thursday?

– Nils & Wijnand

identity mismatch -> 80% decline in clicks and conversions

I just landed in Boston for my speaking gig at SMX Advanced.

(Here’s a link to it: https://searchengineland.com/smx/advanced/agenda?sessId=3372)

To get to Boston, I had to prove who I was at least six times.

  • The first time was to get my ESTA visa.
  • Second time, border patrol at Schiphol airport.
  • Then, three separate identity checks before boarding because some system thought my identity didn’t match my visa application.
  • And then, US Customs in Boston.

Done. Finally. 

If there had been a mismatch, I wouldn’t be in Boston right now.

One of my clients recently ran into the Google version of the same problem.

Google Merchant Center couldn’t confidently match the business owner to the business information in the account.

And then, without a single warning…

SUSPENSION.

What’s worse is that we didn’t even get an email notification of the suspension.

AND the GMC interface didn’t show any issue at all, for three days!

But all our Shopping ads had stopped showing. >80% decrease in clicks and revenue.

It was only because of an email from Microsoft (!) telling us, “Your Microsoft Merchant Center import has failed,” that we knew something was wrong with GMC.

Still… the GMC interface showed no issues at all.

Only after three days, we got the email: “Your products cannot be displayed to customers. Google found an issue with your account that requires your attention: Misrepresentation.”

And then, three (!) more days to get a support rep to finally tell us what is wrong. They said, “Our investigation shows the account is suspended specifically due to incomplete identity verification.” 

Here’s the thing: You need to make sure Google’s (AI) systems can easily verify who owns the business before they decide to check.

Three things I’d do today:

1. Make every business detail match exactly.
The legal business name, address, phone number, Merchant Center details, Google Ads billing profile, website footer, and company registration documents should all tell the same story.

2. Add trust signals to your website.

3. Make it painfully obvious you’re a real business.
  Contact page.
  Address.
  Phone number.
  Refund policy.
  Shipping policy.
  Terms and Privacy pages.

Think of it like airport security. If your passport, boarding pass, and visa all match, you walk through. If they don’t, you’re having a very different conversation.

Don’t wait for Google to start asking questions.

– Nils

[Webinar] Building the modern Google Ads Automation stack

Last month, I was invited to join Ruben Runneboom for Taskforce Talks.

Ruben and I talked about automated rules, scripts, AI, agents, and how all these things have their place in modern-day PPC. Here’s a link to a recording of the event: https://www.youtube.com/watch?v=Z5f5ioR43m4

Top 10 talking points from the webinar (AI-generated):

  • Agents aren’t new — Nils wrote his thesis on multi-agent systems in 2000; the concept is the same, only the underlying technology has changed.
  • The automation spectrum — There’s a range from simple automated rules → scripts → AI-augmented workflows → fully autonomous agents. Every problem needs the right tool for the job.
  • Simple rules still win for simple tasks — Pausing a campaign at $100 spend doesn’t need an agent; adding AI to deterministic logic introduces unnecessary risk of hallucinations and errors.
  • Scripts as guardrails for agents — Scripts act as structured tools that feed clean data to LLMs, preventing context drift and hallucinated numbers. Agents and scripts are complementary, not competing.
  • SOPs are your competitive moat — Generic AI knows the internet; your edge is the agency-specific knowledge, client context, and best practices you feed into the agent.
  • Brand campaign strategy tip — Split exact and phrase match brand keywords into separate campaigns and avoid Target Impression Share bidding, as competitor keywords inflate CPCs on long-tail branded phrases.
  • Start with read-only access — Connect agents with read-only API/MCP access first, export suggestions as CSVs, review them manually, then gradually expand permissions as trust is established.
  • Privacy, security, safety, and liability — Four distinct risks to consider before connecting any AI to a client account. Never expose developer tokens or refresh tokens; agents are vulnerable to prompt injection.
  • Build agent memory and logging — Log every suggested change, the reasoning behind it, and how to undo it. This enables the agent to learn from outcomes and refine its tactics over time.
  • Know where you sit on the adoption curve — Innovators should experiment freely; early adopters should turn what works into systems; the early majority should operationalize those systems. Agent technology is still in the innovator phase; LLM-assisted ad copy is already early-majority ready.

Sharing is caring! If you enjoyed this episode, please consider sharing it with a few friends who might find it useful. Thanks!

– Nils

[AMA] “Do you still use scripts now that you use AI Agents?”

Last month, I sent out a newsletter asking you: “What AI + PPC question is on your mind right now?”

Many of the responses I got were in line with: 

“Do you still use scripts now that AI Agents have entered your agency?”

Yes. I still use (Google Ads) scripts. A lot.

My two main applications of scripts are:

First, Google Ads Scripts for monitoring and alerting.

Scripts are great for simple, repetitive tasks that do not require a lot of complex reasoning. Scripts are also great for automating rule-based logic based on numbers. They are also extremely reliable. They run, they do their thing, exactly the same thing and the same way every time.

Agents that use LLMs are much less reliable. LLMs are Large Language Models, not Large Number Models -> better with text than numbers. LLMs also tend to hallucinate and respond differently every time you ask them the same question. Therefore, agents make mistakes, just like us humans.

So, just like I use Google Ads scripts to monitor the changes made by humans, I use Google Ads scripts to monitor the changes made by agents. And I have them send me alerts when things go wrong.

Here are just a few of the many examples of the things I still like to automate via Google Ads Scripts (with no AI involved):

  1. Monitor account uptime, and send an alert if, for whatever reason, an account is down: https://nilsrooijmans.gumroad.com/l/account-down-alerts
  2. Monitor change history, and send an alert if someone, or something, outside of my team made a change in the account: https://nilsrooijmans.gumroad.com/l/change-history-alerts
  3. Conversion drop alert, sends an alert if a significant drop in tracked conversions occurs: https://nilsrooijmans.com/daily/google-ads-script-conversion-drop-alerts-and-a-big-thank-you

My second application of scripts is: software code as part of the agent skills.

These days, agents often have so-called “skills”  to perform tasks. These skills consist of Markdown files (skill.MD) with natural-language instructions telling the agent how to approach a task. Example: “When adding new headlines, always spellcheck them before adding and make sure they respect the character limit.”

Skills can also have scripts. These are pieces of deterministic code that the agent can use to perform the task reliably. Example: “takes a list, returns per-headline pass/fail with reasons (over 30 chars, duplicate of headline #3, excessive punctuation, banned symbol, etc.). Pure deterministic check, no LLM needed.”

Without scripts, the agent skill would have to reinvent the deterministic parts on every run — e.g., re-deriving character-count checks, dedup logic, and API call structure from scratch in the model’s head. This is slower, more expensive, and far less reliable than simply executing code that already works.

So, yeah, scripts are here to stay.

Happy scripting!

– Nils

Nail it before you scale it

Ever heard of this one?

“Just increase your budget. Smart bidding needs more data.” 

(Sigh.)

I recently landed a client who had been told exactly that. Not (!) by a Google rep, but by their previous agency.

“Spend more. Feed the machine. Let Google find better leads. Business will come.” 

Sure.

The thing was, that “machine” was being fed garbage and configured the wrong way.

They were tracking form fills instead of SQLs and sales. They were running PMax with barely any signal quality. And the mobile landing page was leaking high-quality leads because the UX was clunky as hell.

So, the client did what clients do when advertising money just disappears:
they assumed Google Ads didn’t work for their business.

Luckily, word of mouth brought them my way.

The team and I took over.

First, we reduced budgets.

Then, we fixed the basics:

  1. We cleaned up conversion tracking by tracking SQLs and final sales instead of spammy form fills.
  2. Then, we improved the landing page and made sure the form was easy to use on iPhone and Android.
  3. We migrated spend away from PMax towards standard search ads with exact match keywords for the most promising converting search terms
  4. We started with a portfolio bid strategy (tCPA) with bid limits.
  5. For two weeks, we weeded out the junk search terms that were being matched to our exact match keywords while also increasing the bid limit every other day to get more relevant clicks.
  6. After two weeks and 30 SQLs, in the portfolio bid strategy, we removed the lower bid limit and set the upper bid limit to 50% of the tCPA.

Two weeks later, the client opened his CRM report and sent us an email:
“So Google does work after all!?” 

He noticed 17 new clients were attributable to Google Ads. And, at a CPA that was below his target.

Now, increasing the budget makes sense.

Scaling a broken setup doesn’t fix things; it just makes the leak bigger.

The actionable takeaway: before raising budgets, audit your clicks and conversions and ask: “Would I happily pay more to get more of this?” 

If the answer is no, don’t scale.

Fix the damn thing first.

Nail it before you scale it.

– Nils

[PPC + AI] Building PPC Agents — where the real work is

Building PPC AI agents might sound scary. I get it.

MCPs. APIs. Python scripts. Prompts. MD files. Skills. Hooks. YAML.

Sounds like a motorcycle engine exploded on your kitchen table.

But here’s the thing: the technology is NOT the hard part.

The tech is annoying, sure. However, Claude or ChatGPT can help you build most of it if you know what to ask. Even if you do not consider yourself a techie and have never touched code, it’s very doable.

The real work is EDUCATING the agent.

Because an AI agent is basically an intern with terrifying confidence.

It knows generic Google Ads stuff.

It does not know these:

  • your account strategy
  • your client’s margins
  • your bidding philosophy
  • which products are sacred
  • which search terms look good but never close
  • why Google’s “recommendation” is often just a polite invoice

That knowledge lives in your head. In your client onboarding documents. Your SOPs. Your scars. Your expensive mistakes.

So, the move is simple: before building agents, think about what you need to teach them. And document it.

Some examples:

  1. “For this client, know that the typical ICP tends to do research on Sunday and order on Monday.”
  2. “When CPA spikes 30% and conversion volume drops: check tracking, search terms, budget changes, landing pages, and recent client-side issues before touching bid strategies.” 
  3. “In this account, 2% of orders make up 60% of revenue. For that reason, we’ve normalised conversion values in conversion action ‘B’ so smart bidding won’t go crazy after each high value order.”

That’s how you turn AI from a clever parrot into a useful PPC assistant.

Don’t just build agents.

Educate them.

– Nils

[PPC Productivity] Little shortcut trick

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 of some more shortcuts to improve your PPC productivity:
https://support.google.com/google-ads/answer/7282037?hl=en

– Nils

Building the Modern Google Ads Automation Stack – Webinar Invite

Tomorrow, April 30 (Thursday), I have the pleasure of being interviewed by Ruben Runneboom at one of the Taskforce Talks.

Topic: “From Rules to Scripts to Agents: How to Build the Right Automation Layer for the Problem in Front of You” 

When: Thursday, April 30, 15.00 CEST

Join us for this free live event via this link:

https://app.livestorm.co/taskforce/taskforce-tm-talks-8-avanced-automated-rules-and-scripting-met-nils-rooijmans

See you there?

– Nils

[Podcast] Scripts and AI for eCommerce

The great Matt Shenton invited me to join him on his Paid Search NYC Podcast to chat about scripts and AI for eCommerce.

WATCH NOW >>
https://www.youtube.com/watch?v=pZWKAzNRidQ

From the show notes:

We cover how to structure your accounts, where automation actually adds value, and how to combine scripts with AI to scale performance without scaling headcount.

Key insights:

  1. Why most Google Ads automation focuses on the wrong things
  2. How to turn PPC into a system using SOPs
  3. The role of scripts vs AI in modern PPC workflows
  4. How scripts handle 60–80% of account work
  5. Why Performance Max often optimizes for spend, not profit
  6. The “exploration vs exploitation” approach to scaling
  7. How to structure Standard Shopping campaigns for control
  8. Using scripts for monitoring, alerts, and decision support
  9. Why AI should be treated like an “intern”
  10. How to scale accounts without scaling teams

Timestamps:

00:00 Scripts vs agents
00:31 Introduction
01:31 How Nils built a script-driven PPC agency
03:19 Why you do not need coding skills to use scripts
04:24 What the team actually does in a script-led agency
08:25 Why SOPs matter before AI
10:20 What Google Ads scripts actually are
12:54 E-commerce Google Ads automation examples
14:38 Profit-first conversion tracking
17:07 Using return-rate prediction in e-commerce
19:05 Feed optimisation and why Nils pushes back on Performance Max
22:07 The standard shopping gatekeeper structure
25:52 Exploration vs exploitation in Google Ads
27:11 Bidding strategy within the gatekeeper setup
29:18 Are scripts agentic?
32:01 Why the future is scripts + AI
33:31 Final thoughts

Sharing is caring! If you enjoyed this episode, please consider sharing it with a few friends who might find it useful. Thanks!

– Nils

Using AI agents to boost PPC Productivity and Profit – join me at SEM Stories for my talk?

Happy to announce: on May 14th, I’ll be speaking at SEM Stories in Edinburgh!

SESSION TITLE: Using AI agents to boost PPC Productivity and Profit

SESSION DESCRIPTION:

Everyone’s talking about AI agents. Very few are showing how to use them in ways that actually help advertisers make more money.

This session is about real-world use cases, not hype. 

We’ll focus on the kinds of agents that can genuinely move the needle in PPC: spotting wasted spend, catching performance issues early, surfacing growth opportunities, improving ad copy, and taking repetitive analysis off your team’s plate.

Don’t just come for my session. 

Have a look at the full lineup — the other speakers are bringing some seriously valuable topics to the table, and I’m looking forward to learning from them too:

https://www.semstories.com/#speakers

– Nils

What AI + PPC question are you wrestling with?

Hey,

Over the next few weeks, I’ll be writing more about AI and PPC.

Not the hype.
Not the lazy “AI will replace us all” nonsense.
The practical stuff.

What is actually useful (and working today)?
What is dangerous?
What is overhyped?
What is dead wrong?

And where can AI genuinely make PPC work faster, better, or more profitable?

Here’s the thing: I want to make these emails useful for you, not just entertaining for me.

So hit reply and send me your questions.

Anything goes, such as:
– AI tools for PPC
– AI in the Google Ads platform
– LLM prompting
– The role of scripts in the era of agents
– What to learn
– What to ignore
– What to test

Big question, small question, messy question, skeptical question. All welcome.

If enough people ask the same thing, I’ll turn it into a full email.

So: what AI + PPC question is on your mind right now?

Just hit reply.

– Nils

PS: If you’ve already had more than enough of all the AI-related content out there, that’s also good to know. Please do share 🙂

Avoid Audience copy-paste problems in Google Ads Editor

Google Ads Editor can be a huge time-saver when managing Google Ads accounts. I cannot live without it and use it for many account editing tasks.

Copy-pasting Audiences between campaigns is one example that would take forever in the Google Ads UI. However, there’s a catch.

You would expect that the associated settings of an Audience would be copied, right? Not so.

Here’s the thing: when you copy an Audience with a targeting setting of ‘Observation’ and paste it into another campaign, the setting will automatically switch to ‘Targeting’ if that is your default campaign setting. See below:

As you know, adding an Audience to a campaign with the Targeting Setting set to ‘Targeting’ narrows the reach of your ads to the specific Audience. Not good, when you just want to “observe” the performance of the Audience and/or provide it as a signal to Google without dramatically impacting your reach!

To fix this copy-paste issue in Editor, click into the Campaign (and/or Ad group) and change the ‘Flexible reach’ setting:

I hope this helps!

– Nils

How to see the “other search terms” that are hidden from us

Last week, I joked about a new match type from Google: blind match.

The email got a lot of responses, including many questions about how I handle these searches.

“Is there a way, a script maybe, to get access to hidden search term data?

Short answer: No. We cannot access the data that Google has intentionally hidden from us.

However, there are some ways to get a glimpse of what is most likely part of that hidden search term data.

1. Inside the Google Ads UI
    a. I use Search Term Insights on the Insights page. It groups hidden queries into themes, so even when Google withholds the actual terms, you still get category-level visibility into where that mystery spend is going. 
    b. I use Keyword Planner. Google’s ‘keyword ideas’ give me information about searches Google will most likely match to my existing keywords.

2. Microsoft Ads
By targeting the same keywords in MS Ads and looking at the search term data in MS Ads, I get to see some more search terms that are not in Google’s SQRs.

3. Third-party keyword research tools
Tools like Ubersuggest, Keywords Everywhere, or my favorite Keyword Researcher provide a ton of data on long-tail searches with low search volume (the ones hidden from us in Google Ads).

​I use the information from the sources above to update my negative keywords, ad copy, assets, and landing page content.

I hope this helps!

– Nils

Mass Ad Disapprovals for “Destination Not Working” Today — This Google Ads Script Saved Me

Something weird happened today.

Recognize this? Your landing pages load fine, you’re not blocking GoogleAdsBot, no HTTP errors or hosting issues, yet Google says:

Ad disapproved because “DESTINATION_NOT_WORKING”

Many PPC-ers are complaining about this issue today. It’s almost certainly a glitch on Google’s end. 

It happened to some major ad groups for some of my clients as well. Result -> some ad groups completely stopped showing ads… for hours, if I hadn’t noticed.

Luckily, my ‘Disapproved Ads Alert’ script notified me of the issue, and I was able to resolve it fairly quickly.

You can do the same next time this happens in your account.

Here’s the script.

URL: https://nilsrooijmans.com/google-ads-script-disapproved-ads-alerts/

What it does: 

This script checks all enabled ads in your enabled ad groups and campaigns, and sends an email alert if any of the ads are disapproved. It will add the alert to a Google Sheet, so you’ll have a clear overview of the issues.

Why you’d care: 

Google uses an automated Google Ads review process to detect policy violations. (See details here: https://support.google.com/adspolicy/answer/7187501.) This automated process often makes mistakes — ads get disapproved for the wrong reasons, and it’s up to you to fix the issue if you want to get your ads up and running again quickly.

– Nils

How to check if your site is eligible and active for Seller ratings

Ever wondered why some advertisers have these shiny stars sparkling next to their ads, and you don’t?

They are called Seller ratings, an ‘Account-level automated asset.’ You need good, fresh reviews and ratings from trusted sources to get Seller ratings to show.

Here’s more info on them (including requirements):
https://support.google.com/google-ads/answer/2375474?hl=en

And here’s how you can easily test your eligibility:
https://www.google.com/storepages?q={your_domain}&c={your_countrycode}

Example: 
https://www.google.com/storepages?q=passporta.com&c=NL

Go ahead, test your domain, it only takes one minute:
https://www.google.com/storepages?q={your_domain}&c={your_countrycode}

PRO TIP: Seller ratings are the only kind of ‘Account-level automated asset’ I recommend leaving enabled. Best to turn the rest off. More details here:
https://nilsrooijmans.com/note/a-hidden-setting-you-probably-want-to-change/

– Nils

What is an agent?

The great Matt Shenton invited me to join him on his Paid Search NYC Podcast.

The recording will be shared later. For today, I wanted to repeat a question he asked me:

“What is an agent?” 

Before I answer, I’d like you to know that I studied Artificial Intelligence back in the 90s. Back then, “AI Agents” were a hot topic. I’ve even written a thesis about “reinforcement learning in multi-agent systems.” Back then, just as today, the term “agent” wasn’t clearly defined and was a topic of debate.

So, Matt’s question invited me to open the hatch to the hold on my houseboat, to look for my thesis, and find the definition I used back then.

Here’s what I had said:

Cooperation in Multi-Agent Systems

Communication and Cooperation in a system of multiple Q-learning agents

Nils Rooijmans
June 9, 2000

Chapter 1 – Introduction

Within Artificial Intelligence, in the last decade of the twentieth century, there has been a significant rise of “agent technology.” A clear definition of what this technology exactly entails, and what an agent actually is, has not been established to this day. 

Where most people who have studied the subject agree, however, is that an agent must satisfy a number of fundamental properties. Some of these properties are autonomy, adaptability, reactivity, and goal-directedness.

Here’s what I would say today: an (AI) agent is a system that pursues goals through autonomous adaptive decision-making and action.

Let me break this down for more clarity.

An agent combines these elements:

  1. State awareness: it observes some kind of environment (e.g., your Google Ads account or your product inventory) and updates its internal representation of this environment
  2. Reasoning: it interprets what it “sees” and decides on the best next step (e.g., impression share is low for keywords in this ad group, or product X is running out of stock)
  3. Actions: it can take actions that manipulate its environment, without being micromanaged at every step (e.g., add price extensions to your ad group, or order a next batch of products)
  4. Goal-directed: it maintains alignment to a specified goal or objective, and continues acting until the goal is reached or conditions change (e.g., maximize revenue as long as POAS > 150%, or keep stock levels to a minimum without running out of stock on the top sellers that generate 80% of revenue)
  5. Adaptive: it evaluates the results of its actions and uses these insights to improve its decision-making (e.g., adding price extensions resulted in a significant increase in impression share for 8 out of 10 ad groups, so in the future, let’s do that more often)

– Nils

AI demos need stronger disclaimers. Yes/No?

Me: 
“I’ve created these AI Agents for you. They don’t really understand the intent behind the user queries, but they help you add relevant keywords and negatives to your campaigns.” 

CEO of paid media agency: 
“Awesome! I’ve fired my entire PPC staff. How quickly can it onboard new clients and do our monthly reporting meetings?”

– Nils