[AMA] “How do you add promotions to your text ads?”

A friend-of-the-list asks:

“I have a gardening client that runs Easter promotions. Last year, I made the mistake of changing headlines in my RSAs during Easter. 

It was a ton of work and it took Google hours to get the ads reviewed, which obviously cost a lot of impressions.

How do you add promotions to your text ads?”

There are multiple ways to skin a cat, but I like to use Headline and Description Assets.

Headlines and Descriptions in the Assets tab are great for adding temporary promotions to your RSAs (e.g., Easter offers).

Instead of changing all your individual RSAs in different ad groups in different campaigns, you can simply use Campaign Level Headlines (and Descriptions).

Here’s how I use it:

  1. Create Easter headlines via Assets tab (e.g., “Crazy Easter Offer,” “40% Off with Code EASTEREGG”)
  2. Pin the headlines to Headline 1 and Headline 2
  3. Set a Start date and End date for the Headlines (and yes, you can schedule these assets, which is great)
  4. Select the Headline in the Asset view, and Add it to all the campaigns I want to apply it to

I hope this helps some of us prep some eggs this weekend! 🙂

– 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. 🙂

a little trick to stop calls from Google Ads reps

One of my clients got bombarded with calls from Google Ads reps last year.

It turned out he had added his real name and phone number to the contact information in the ‘Google Ads campaign guidance’ setting.

Here’s what did the trick for us to stop new Google Ads reps from calling him: replace the account’s contact phone number with a number that is 100% automatically redirected to voicemail.

Head over to Admin > Preferences > ‘Google Ads campaign guidance’ and do the same to keep sane.

– Nils

[AMA] “What’s the one Google Ads setting beginners almost always get wrong and waste the most money on?”

A coaching client asked:

“What’s the one Google Ads setting beginners almost always get wrong and waste the most money on?”

My answer, based on 80+ audits and Google Ads Strategy Calls: it’s the “Auto-Applied Recommendations” (AAR) trap.

AARs are the digital equivalent of letting a hungry wolf manage your sheepfold. 

While Google pitches it as “AI-powered efficiency,” it’s more like a revenue-padding feature for Google, not a performance-booster for you.

Here are some examples:

  1. Google will automagically start broadening your targeting (keywords) -> more clicks from irrelevant user queries, with lower conversion value.
  2. Google will switch bidding strategies -> higher CPC bids for clicks with similar/lower conversion value.
  3. Google will create new creatives that look fancy but are generally clickbait -> higher CTRs, lower CVRs.
  4. Google will increase campaign budgets because, yes, there is more demand. Just not at the same acquisition costs.

My recommendation: turn AAR off, look at what it promises to “optimize for you,” then optimize it yourself.

Always ask yourself: is this recommendation in line with my objective, or somebody else’s?

My 2 cents.

– Nils

Using AI agents to boost PPC productivity — join me in Boston for my session at SMX Advanced 2026?

I’m thrilled to be speaking again at SMX Advanced, on June 3-5 in Boston! 

If you want to learn how I use AI agents to scale my agency and client accounts, don’t miss my session, “Using AI agents to boost PPC Productivity.”

Details: https://searchengineland.com/smx/advanced/agenda/?sessId=3372

Use promo code SMXSpeakerFriend to save an additional 15% off your All Access pass:

https://events.searchengineland.com/smx-advanced-2026/register?code=SMXSpeakerFriend 

– Nils

Products disapproved because of ‘Product page unavailable’? Here’s how to fix this.

If you are running my Google Ads Script to detect products that have been disapproved in Google’s Merchant Center, you may have noticed an increase in products that falsely get disapproved because of ‘Product page unavailable’.

Your product pages are working fine, but Google says otherwise.

The problem is often NOT your website. It’s Google. Google has trouble with the DNS lookup or other unknown crawling issues that resolve themselves on the next crawl.

This issue is annoying, but don’t worry if this only happens to a small fraction of your products that do not get a lot of clicks and conversions. The product will get approved during the next crawl, and your Google Ads performance won’t suffer that much.

HOWEVER, when products get disapproved that have generated a significant amount of clicks and conversions, you want to get them approved ASAP.

This is not only because you want these products to show in your ads again to generate clicks and conversions, but also because of potential risks for offsetting the smart bidding algorithms. (Yes, Google will most certainly continue to spend your $$$, just now on clicks for products with lower conversion rates and lower conversion value.)

When products that have generated a significant amount of clicks and conversions get disapproved because of ‘Product page unavailable’, here’s what to do:

1. Head over to Merchant Center
2. In the left navigation, click Products
3. Click the ‘Needs attention’ tab
4. Click ‘View products’ in the ‘Product page unavailable’ card 
5. Click on one product
6. In the top right corner, under Status, click ‘Review and fix’ 
7. On the Products detail page, click on ‘Request website check’  

This should fix the issue within 24 hours (unless, of course, it truly was an issue with your website).

I hope this helps!

– Nils

Is it time to negotiate your raise in 2026, or start looking for a new job?

Last month, I sent an email requesting your participation in this year’s PPC Salary Survey.

If you participated in the survey, on behalf of Duane (the driving force behind the initiative) and me: a big Thank You!

Special thanks to all you Dutch PPC folks on my list who participated — the Netherlands cracked the top 3 countries for responses again this year! 

Salary transparency is very important for making things fair for everyone. Data like this gives us PPC peepz some bargaining power!

You can (re)negotiate salary for your current (or a new) role at your employer, or use it in negotiations with a new employer.

This week, Duane shared the results. Here you go:

Final Report: PPC Salary Survey 2026
https://www.reddit.com/r/PPC/comments/1rw66wi/ppc_salary_survey_2026_final_report_11th_year/

– Nils

bulk radius targeting (via scripts)

Imagine having to spend two hours per day on adding radius targeting to your campaigns:

1. Grab a coffee while the Google Ads interface loads your campaign view
2. Click campaign settings
3. Stare at the screen in full awe, not understanding why it takes ages to load
4. Click locations
5. Click advanced search
6. Lookup target
7. Set radius
8. Click save
9. Navigate to the next campaign
10. Wait for at least 5 seconds, seconds that feel like forever, for the page to load
11. Click locations, click advanced search, lookup target, set radius, click save
12. Rinse, repeat

This. For two hours. Every day.

Some time ago, one of my clients complained about this and asked me whether we could automate it using scripts.

He was looking for a solution that automagically adds radius targets based on location names (cities) in the campaign name.

Good news: you can use scripts to add radius targets in bulk!

Here’s a code snippet to help you get started:
https://developers.google.com/google-ads/scripts/docs/examples/proximity

You can use my Google Ads Scripts Sensei to create the script for you.

Or, if you want me to create the script for you, hit reply.

– Nils

The Global State of PPC Report 2026

Fellow member of the list and PPC legend, Wijnand Meijer (TrueClicks), shared some great work today: the Global State of PPC report 2026 is live.

1300+ respondents. 60+ charts. 14000 words. And, for the first time: a full chapter on AI in PPC, with 10 questions on how practitioners actually use (and don’t use) AI in their daily work.

No email gate, no form. Just a one-click PDF download.

The report offers great insights into PPC work, ad platforms, priorities, campaign types, budget expectations, AI, tooling, and more. One insight below shows I still have a job to do in explaining the power of Google Ads Scripts 😉

Here’s the link to the report:
https://www.ppcsurvey.com/

– Nils

When Google gives one advertiser a Formula 1 car

When Google publishes a blog post hyping a shiny new feature with “great results,” remember this: they’re testing it in a world where only one advertiser (or a tiny handful) gets access to that new feature.

Of course, the advertiser might get ahead for a while.

But let’s not kid ourselves.

During the test, Google hands one advertiser a Formula 1 car.

The moment 50% of advertisers get the same toy, we’re all back in bumper-to-bumper traffic.

Here’s the thing: early test results are often less about the feature being magical and more about temporary asymmetry.

A temporary edge is still an edge.

Once the feature rolls out at scale, that edge usually gets competed away fast.

– Nils

[PPC Productivity] Google Ads UI Usability Booster

My current favorite browser extension for improving my PPC productivity is this: Usability Booster.

I like how it removes unnecessary white space from the Google Ads UI, so you don’t have to scroll as much, and I LOVE it for automatically expanding all menus in the left navigation panel.

“How many times a day do you click on the ‘Assets’ menu heading to expand the asset menu so that you can then click on the asset menu item?”

Right… these are wasted clicks. 

And if there’s one thing us PPC-ers don’t like, it’s wasted clicks.

There are many more interesting improvements to the Google Ads UI that you can enable one at a time.

Get the extension here: https://www.usability-booster.com/

– Nils

[AMA] “Google does not respect campaign priorities in my Standard Shopping Campaigns. How come?”

A fellow reader of the list asked:

“I’ve implemented your Gatekeeper architecture for Google Shopping to prevent high spend on irrelevant searches. 

I added a few negative keywords to the high-priority campaign, BUT Google is showing search terms in the medium priority campaign that are not negated in the high priority campaign.

How come? Is the campaign prioritization broken?”

No, it’s not broken.

Google still respects campaign priorities in Standard Shopping Campaigns.

But these types of campaign structures, although not hard, can get complex, and it’s easy to miss some things.

What I’ve seen in audits of shopping campaigns is that query segmentation fails mainly due to targeting mismatches and/or budget constraints.

Queries enter the wrong (lower-priority) campaign when the higher-priority campaign cannot “catch” them because of differences in device targeting, locations, schedules, audiences, demographics, languages, networks, IP exclusions, or country-of-sale settings. Inconsistent negative keyword application or incomplete product coverage also breaks the intended priority logic.

Note: Shopping campaign strategies with priorities only work when the different priority campaigns are eligible for the same set of products. Additionally, limited or exhausted budgets cause queries to bypass higher-priority campaigns and spill into lower-priority campaigns, undermining the segmentation strategy.

– 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 🙂

confusing

Hey PPC friend,

What do you think: secondary conversion actions, are they used for bidding?

Yes, or no?

Simple question, but no obvious answer here, I am afraid. (Ask your colleagues during lunch.)

Google says:

“Each goal needs at least one primary conversion action to be used for campaign optimization. Primary conversion actions represent the most important actions customers or potential customers can take on your website, because Google Ads will optimize your campaign to achieve these primary actions.”

Source: https://support.google.com/sa360/answer/9455412?hl=en

BUT also…

Secondary actions: These conversion actions are for observation only. They are used for reporting in the “All conversions” column in your reports, but not for bidding, even if the goal they are included in is used for bidding. The one exception is if the secondary action is part of a custom goal, in which case it’s used for bidding.”

Source: https://support.google.com/google-ads/answer/11461796?hl=en

So, the answer to my initial question is: it depends 😉

– Nils

PS: I like to use secondary conversion actions to test value-based bidding for different types of values that are reported back to Google, for the same conversion (think: profit VS revenue, non-capped revenue values VS capped revenue values, predicted LTV VS initial purchase value, browser-based tracking VS OCI, etc.). I create custom goals for them so that I can use them as campaign-specific conversion goals in my campaign experiments.

[Presentation] Google Ads Scripts for e-commerce and how I use them

The great Anu Adegbola invited me to speak at her PPC Live UK event in London earlier this month.

I spoke about Google Ads Scripts for e-commerce and how I use them.

The event also hosted fantastic talks by Kate Sale, “Finding joy in paid media to keep your job (and grow!),” and Dave Alexander, “Why lost leads are a good thing.” Be sure to check them out as well!

Here’s the recording:

WATCH NOW »

Sharing is caring!

If you enjoyed the video, please consider sharing it with a few friends who might find it useful. Thanks!

And as always, if you’ve got a question or feedback about my presentation, simply shoot me an email.

– Nils

When your client lets an LLM run Google Ads

Last week, one of my clients decided to be “smart.”

He connected a large language model to the Google Ads API. Gave it access. Started asking performance questions.

At first? Interesting insights. Some solid pattern spotting.

Then… chaos.

Without him realizing it, the LLM didn’t just analyze. It “optimized.”

Yes. It AI-magically made changes inside the account. Bidding targets adjusted. Broad match keywords added… Stuff no human approved.

And the reasoning behind it? Simply dead wrong!

Luckily, my Change History Alert script fired.

The next day, I got an email in my inbox:

“Unrecognized user made changes in account X.”

That “user”? The LLM, on behalf of my client.

I reverted the nonsense in minutes before the crazy changes could do harm.

Here’s the thing: AI is a brilliant intern. It is NOT a senior media buyer. Just like an LLM (sometimes) hallucinates explanations, it can hallucinate optimizations too. You have to monitor its work like you monitor your interns.

And here’s the actionable takeaway: install my change history alert script that flags ANY edits from outside your approved user list.

Even if it’s “just” an API integrated LLM.

Go ahead, install it. It only takes 5 minutes.

Your future self will thank you.

LINK: https://nilsrooijmans.com/google-ads-script-change-history-alerts/

Happy scripting!

– Nils

Want to get paid what you’re worth in 2026?

Today, I am sharing a request from our PPC friend and long-time member of the community, Duane Brown :

Are you being under paid on your team? Our yearly salary survey can help answer that question and many more. Five days left to fill out the survey. More data makes it more useful.

Let’s give Duane a hand.

Fill out the PPC Salary Survey. 

Here’s the link:

https://docs.google.com/forms/d/e/1FAIpQLSfCVWaTVIl3MZYPfOCMXCK4EyW2Dkj-KM_Rz1zL4Z-3fNYlMg/viewform

Survey closes February 28th at midnight PST.

The results will be available by March 23, 2026.

– Nils

Vibe Coding for PPC: How Marketers Can Build Google Ads Tools Without Coding

I recently had the pleasure of joining Frederick Vallaeys in his PPC Town Hall.

We talked about Vibe Coding for PPC and how marketers can build Google Ads tools without having to write any code. Here’s the link to the video:

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

Chapters:
00:00 – What Is Vibe Coding (and Why PPC Marketers Care)
04:30 – Vibe Coding Explained in Plain English
09:30 – From Google Ads Scripts to AI-Built PPC Apps
14:30 – Live Use Case: Turning a Landing Page Into Google Ads Assets
19:30 – Deploying, Sharing, and Activating Vibe-Coded Tools
24:30 – Which Vibe Coding Tools Should PPC Marketers Use?
29:30 – Rapid Prototyping vs Production-Ready Software
34:30 – When You Should NOT Use Vibe Coding in PPC
39:30 – Using Vibe Coding to Write Better Specs and Requirements
44:30 – Real PPC Use Cases That Actually Make Sense
49:30 – Common Mistakes, Guardrails, and How to Get Started

​Want me to share more examples of how I use vibe coding/AI agents in my ​work? Hit reply.

– Nils

Script last

Let’s say you’re trying to reduce your workload when managing Google Ads.

Starting with a specific Google Ads Script or a list of scripts in mind is a possibility, but almost certainly not the most effective approach.

In my experience, these days, the more productive way is to start without a script in mind.

The more productive way is to: 

1) Ask yourself: “What tasks take up a lot of my time?” and “What tasks drain my energy?” 

2) Write them down, with all the steps involved.

3) With the help of an LLM, create a Google Ads Script that will automate the task(s). You can use my Google Ads Scripts Sensei for that.

Happy scripting!

– Nils

I’ll be speaking at PPC Live #19 in London on 5th February

Hey PPC Friend,

Quick FYI: I’ll be speaking at PPC Live #19 in London on February 5th. 🎤 

My session will be all about how I use scripts for e-commerce.

Not theory, not shiny toys, but how I actually use scripts in real accounts to:

  •  Reduce wasted ad spend
  •  Catch problems early
  •  Scale what’s already working

If you manage or oversee e-commerce Google Ads and care about performance over hype, this one’s for you.

See you there?

– Nils

[AMA] “Are DSA campaigns still working for you?”

Friend-of-the-list JD (name hidden upon request) shared a question last week:

“I run Google Ads for my electronic components webshop with about $50k/month in spend. The account is very long-tail heavy, and roughly 80% of converting queries are hidden in the search terms report.

To cover the gaps, I launched a DSA campaign at $300/day. After one month and ~$8k in spend, results are honestly disappointing: ROAS is less than half of target and not even close to my other campaigns.

Is DSA still working in 2026, or am I missing something fundamental here? Are you still using DSA in your setups?”

My answer in short: yes, I still use DSA campaigns, and yes, they still work for me.

I am not sure how much longer they will still be around with Google pushing its AI Max, but here’s how I use DSA:

  1. Before running DSA campaigns, I do an SEO check on the pages I want to target (special attention to correct structured data). Use this tool: https://developers.google.com/search/docs/appearance/structured-data
  2. When I use DSA, I use them as a “catch-all that hasn’t been targeted via keywords” campaign type, next to my standard text ads.
  3. I use a page feed to segment and target my DSA campaigns. (Don’t let Google send clicks to “All URLs Google knows about the website,” or you’ll get clicks to dead pages and/or irrelevant blogposts.)
  4. I typically set the daily budget to anywhere between 5% and 10% of the average daily spend for non-brand last 30 days.
  5. I attach negative keywords lists to the campaign (account negatives, and a list with all positive keywords that I target in other campaigns).
  6. I run portfolio smart bidding (tCPA/tROAS) with a target and bid limits per segment. Target is the average CPA/ROAS of last 30 days non-brand, and max bid limit is anywhere between 50% and 100% of the average non-brand CPC.
  7. I run multiple scripts to monitor DSA search terms like a hawk and suggest negatives, and a script to add my positive keywords to the negative keyword list mentioned in #5.
  8. I add negatives like crazy at the start, with decreasing frequency after the initial weeks (start daily, increase interval every week).
  9. I update the portfolio bid strategy target and bid limit on a (bi)weekly basis, or after 30 conversions, whichever comes first.

Thanks for asking, JD!

– 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 🙂