Free Streaming Tickets to ADworldExperience 2025

Hey PPC pros!

How does a $425 ticket to THE AdworldExperience 2025 sound?

(Spoiler: it sounds amazing, and IS amazing… I’ve attended 8 editions and absolutely LOVED each one.)

I am thrilled to offer 3 free streaming tickets to my newsletter subscribers for the PPC event of the year, happening October 2-3, 2025.

Find out more about the event at: https://www.adworldexperience.it/en/ 

Here’s the deal to get a free ticket:

1️⃣ Fill out this form.
2️⃣ Sit tight until January 6 at 4:00 pm CET.
3️⃣ Cross your fingers.

The winners will be announced on January 7 and will receive an exclusive link to stream the event for free!

Don’t miss your chance to join the lottery — it’s quick, easy, and could save you $425!

https://forms.gle/MgabyEKbLi4YoQVS8

Good luck!

– Nils

this is your job

Your job is to reduce wasted ad spend.

Here’s why:

The ad platforms are, by themselves, forces that increase your spend.

They do a pretty good job at it.

The extra spend can be both good and bad.

It is your job to make the distinction.

– Nils

[Google Ads Script] Performance Max Placement Exclusion Suggestions 

Here’s what I’ve been working on in the last few days:

[Google Ads Script] Performance Max Placement Exclusion Suggestions 

(click image to enlarge)

What it does:
This script suggests placement exclusions for bad placements where your PMax ads showed. If new placement exclusions are suggested, the placement exclusions are reported via email. The email contains a link to a Google Doc spreadsheet documenting all the placement exclusions suggestions.

Why you’d care:
PMax is notorious for showing your ads on placements that are not safe for your brand and/or only deliver fraudulent clicks and leads. (Seriously, try the script and check for yourself.)

Why I created it:
Countless PPC professionals from all over the world have asked me to create a script that would help them exclude bad placements from their PMax campaigns. Last Friday, Friday the 13th, was our lucky day: Google finally enabled the PMax Placement Report via Google Ads Scripts. This means we can now use Google Ads Scripts to help us get rid of some of the terrible PMax placements.

URL: https://nilsrooijmans.com/google-ads-script-pmax-placement-exclusion-suggestions/

NOTE: In the next few days, I’ll be releasing many updates to the script for free. Let me know if you have any suggestions on what to include.

Happy scripting!

– Nils

Saving ROAS with Data Exclusions

GRRRRR…

One of my clients F#$KED-up his conversion tracking. In the last 3 days, roughly 40% of conversions reported a conversion value that was roughly 135% of the real conversion value.

Don’t ask me who, why, or how. He doesn’t know. I don’t know.

But, as we all do know, Google Ads Smart Bidding uses conversions and conversion value data to “help meet your goals.” Meaning, it needs accurate conversion data to predict the conversion value of a potential click and place your CPC bid.

Wrong conversion data -> wrong bid!

Wrong bid -> either too much traffic at a cost that will ruin our ROAS, or we get too little traffic because of CPC bids that are too low.

Luckily, Google offers an advanced tool to help with the kind of situation I was in these last few days. It’s called ‘Data exclusions‘ and it saved my client’s account from a dramatic drop in return on ad spend.

Google says: “You can use data exclusions to help reduce the impact that conversion tracking issues may have on Smart Bidding Performance.”

Here’s info about it from the horse’s mouth:
https://support.google.com/google-ads/answer/10370710?hl=en

The important part for you to realize is this: data exclusions apply to CLICKS. Your data exclusions must exclude clicks that could have had the affected conversions attributed to them. 

When these clicks are excluded, the associated conversions are also excluded.

So, here’s the thing: make sure to consider your conversion delay and exclude any days of clicks that may have been impacted. 

It’s a best practice to exclude 90% of clicks associated with impacted conversion data.

For example: if there was a conversion value tracking issue from Dec 9 to Dec 11, and 90% of conversions usually happen in 2 days, apply the exclusion as quickly as possible, including ALL days with impacted clicks. (In this case, you would exclude Dec 7 to Dec 11.)

Not obvious at all, if you ask me. However, smart bidding needs smart fixes.

Don’t hesitate to use data exclusions when your conversion tracking shows issues!

– Nils

How to blame Google

The best way to tank your results is to blame Google for the situation your account is in — even if Google is doing evil:

  • “Google defaulted to Broad Match campaign setting in my account. Look at all those clicks from completely irrelevant search terms!”
  • “Google enabled Enhanced CPC on all my Manual bid campaigns after I created a new conversion action. My Avg CPC almost doubled, and not even a 20% increase in conversions!”
  • “Google decided to auto-apply all its recommendations. Now look at this terrible ad copy that hurts my brand, for keywords it auto-added that didn’t make any sense!”

The best way to improve your account’s results is to acknowledge Google’s actions — and beat your competition:

  • “So, Google is pushing PMax like crazy, having my competitors waste a ton of ad spend on non-converting clicks that are hidden by conversions that would have happened anyway. Let’s beat them with my Standard Shopping setup!”
  • “Oookay Google! You’ve got my competitor’s non-brand phrase match keywords to start matching for my brand name. Let’s have this competitor waste buckets of coins on clicks from the prime spot by temporarily lowering the bids for my brand keywords!”
  • “OiOiOi, Google added some more extremely fraudulent ‘built for AdSense’ websites to its Display Network. Let’s automatically exclude these terrible placements that only send click and lead fraud to me (and my competitor, who isn’t running any placement exclusion script)!”

– Nils

“What Google Ads Scripts Should I Be Using?”

“What Google Ads scripts should I be using?”

It’s a question I get all the time, in all shapes and forms:

“Which are the best uses of Google Ads scripts?”
“What are the best scripts for Google Ads?
What Google Ads scripts do you use most?
What is your favourite Google Ads script?

Sorry, there is no simple answer here. It’s a “how long is a piece of string” question and the only right answer is the infamous “it depends.”

I run over 40 custom-built scripts in my manager account that monitor my client account settings and performance. Some examples:

  • monitoring conversion tracking
  • spend versus budget alerts
  • payment issues
  • smart-bidding-gone-haywire alarm
  • monitor campaign settings like ad rotation, search partners, etc.
  • low QS keywords with significant spend alert

These scripts allow me to scale my business and still sleep well with the comfort of knowing that all things run smoothly. If any dramatic change happens, my scripts will alert me in no time.

Most of these scripts are custom-built by me, and not publicly available yet. However, I plan on developing a paid membership community that will let you have access to them soon, so stay tuned.

For now, I have created a short list of FREE scripts that typically benefit almost every account I come across:

1. Broken Link Checker
2. Negative Keyword Suggestions
3. Negative Keyword Conflicts Checker
4. Search Query Mining Tool (n-gram analyses)
5. Trending Search Terms Report

You can find the scripts here:

https://nilsrooijmans.com/google-ads-scripts-faq/what-google-ads-scripts-should-i-be-using/

Happy scripting!

– Nils

Step, Step, Step, Pause

Swen taught me a valuable lesson today:

“Step, Step, Step, Pause”

I was trying to replicate his moves. Him being my salsa teacher.

(Surely you’ll understand, no link to a video recording here. At least not yet!)

His lesson reminded me of my answer to a very common question:

“How to test different bidding strategies for a Google Ads campaign?”

My answer dances to the same rhythm as Swen’s advice.

Step 1: Create a campaign experiment and change the bid strategy setting in your experiment to the thing you want to test (i.e., different strategy, or different target).

Step 2: Sync the experiment (Trial) with your original (Base) campaign. This way, changes you make in your Base campaign will automatically be included in your experiment.

Step 3: Schedule the experiment to run for at least 6 times the median of your conversion lag AND at least 14 days.

Step 4: Wait.

That last step will give your bidding strategy the time to find its rhythm, just like Swen helped me find mine.

– Nils

Is it a “lack of automation” problem?

If you don’t have as much time as you’d like to finish your work, you might have a “lack of automation” problem.

Or… you might not.

How can you tell?

Let’s say you’re an individual freelancer or part of a small PPC team, and you’re already running multiple Google Ads Scripts that automate all the repetitive tasks…

…but you still don’t have enough time to finish your work.

In a case like this, I’d say a lack of automation probably isn’t your main problem.

Your main problem is probably one of the following:

– you’re biting off more than you can chew (or may be forced to)
– you don’t have a clear plan (strategy)
– you don’t have a clear process (SOPs)

Tinkering with Google Ads Scripts might be fun, but it might not improve your situation if it’s not the main problem.

– Nils

a very quick and easy way to add promotions to your RSAs

Do you want to apply your special Black Friday headline to all RSAs in just a few seconds? 

Instead of changing all your RSAs in different ad groups in different campaigns, you can simply use this little-known Google Ads feature:

Campaign Level Headlines (and Descriptions)

Here’s how I use it:

  1. Create Black Friday headlines (e.g., ‘Crazy Black Friday Offer’, ‘40% Discount with Code BF40’)
  2. Pin the headlines to Headline 1 and Headline 2 
  3. Set start date and end date for the Headlines
  4. Select the Headline in the Asset view, and Add it to all campaigns I want to apply it to

That’s it.

Our friends at Paid Media Pros created this awesome video that walks you through the process:
https://www.youtube.com/watch?v=m35xGQjTFpE

Here are more details from Google:
https://support.google.com/google-ads/answer/13548268?hl=en

Trust me, if you run Black Friday promotions, this is one of the quickest and easiest ways to promote them.

– Nils

Want me to create more free scripts next year?

Thank you for being here!

Your appreciation means a lot to me. It’s like a turbo on my scripting engine and 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 minutes to complete the survey at https://www.ppcsurvey.com/

…and vote for me as your PPC scriptfluencer of the year 🙂

That’s it.

Thanks a ton!

– Nils

What’s your biggest PPC nightmare?

Want some PPC horror stories?

Check out this terrifying thread on /r/PPC: https://www.reddit.com/r/PPC/comments/1ga58zk/whats_your_biggest_ppc_nightmare/

If nothing else, it will sharpen your awareness of some of the worst PPC mistakes our universe has to offer.

Here’s one of my recent painful mistakes:

I implemented consent management via CookieYes on a Shopify store. Configuration went smoothly. Preview in GTM. All seemed well. Except… CookieYes was missing the integration with Shopify Consent API. So, no conversions were being tracked anymore (even if the user did provide consent). Then, smart bidding decided to reduce bids to ALMOST ZERO! No clicks, no conversion, no smile on the client’s face.

Ouch!

You have to know: I dream of happy clients. 

Angry clients are nightmare fuel to me.

Your turn: what’s your biggest PPC nightmare?

– Nils

PS: I am thinking about doing a live webinar next week where I’ll show you how I create a Google Ads Script to prevent the most “popular” PPC nightmare. So, if you want to prevent your nightmare from coming true, be sure to respond!

Just Script It

Nike’s slogan, “Just Do It,” is arguably one of the most iconic taglines in advertising history. Introduced in 1988, it was designed to inspire athletes and individuals to push beyond their limits, embodying determination, confidence, and a proactive attitude. The phrase has since become synonymous with the Nike brand, encouraging people worldwide to take action and pursue their goals.

It’s because of that last part that I really love the slogan. 

Whenever I find myself in doubt or procrastinating, I tell myself: “Just Do It!”

I’ve decided to embrace a small variation of this brilliant piece of marketing history. From now on, expect to hear me say “Just Script It” more often than Google changes match types.

Are you tired of sifting through SQRs and negating search terms? Just Script It
https://nilsrooijmans.com/google-ads-script-negative-keyword-suggestions/

Spending countless hours researching new keyword candidates? Just Script It:
https://nilsrooijmans.com/google-ads-script-automated-gpt-keyword-suggestions/

Almost lost your job because of overspending the client’s budget? Just Script It:
https://nilsrooijmans.com/google-ads-script-monthly-budget-target-email-alert/

If Nike can inspire the whole world to take action and pursue all sorts of goals, surely I can inspire you to automate your work.

Just Script It!

– Nils

“Does it make sense to add bid adjustments to smart bidding campaigns?”

Here’s a question that pops up a lot:

“Does it make sense to add bid adjustments to smart bidding campaigns?”

Short answer: No. Almost never.

Longer answer: It depends.

Here’s a table that summarizes when bid adjustments CAN be added:

And here’s what Google has to say:

If you are using Smart Bidding strategies, powered by Google AI, including Target CPA, Target ROAS, Maximize conversions, and Maximize conversion value, you don’t need to make manual bid adjustments since those strategies automatically set bids to optimize for the conversion goal specified by the customer. 

If you make a manual bid adjustment to your automated Smart Bidding strategy, it won’t be supported.

Device bid adjustments for Target CPA allows you to modify the value of your CPA target, rather than the bids themselves.

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

– Nils

[Ad Copy] Simple trick to increase CTR 

Here’s a simple ad copy trick that often produces better CTR for me: use power phrases from testimonials in your description and put them between double quotes.

For example, for a Ducati rental store, you could write something like:

Latest Models, Starting at only $120 a day, 200 miles included.

Or, you could write this:

“Wow! The bikes were brand new. AND we got them for only $120 a day with enough free miles for 4h non-stop riding!”

This kind of social proof works wonders in many of my accounts.

PRO TIP: use an LLM like ChatGPT to analyse your testimonials and come up with some crispy, vivid phrases.

– Nils

monitor your inbox to spot Google reps making changes to your account without permission

Sorry, I need to send you another warning: apparently, Google Reps are making changes to accounts without asking for permission.

To add some more drama to the story: they make these changes using Google’s internal system, which means that these changes DO NOT show up in the account’s change history!

I’ve read rumors about this from multiple people on Reddit and LinkedIn.

The changes were made by Google’s third-party partners. Even though the Google Rep did not have permission, the person was nice enough to send an email that listed the changes made. 

That email was sent using an address that ends with “@xwf.google.com.” That domain is always used if Google Reps work from one of Google’s third-party partners.

Source: https://support.google.com/chrome/a/answer/15342384?hl=en

Which brings me to my advice for you today:

Create a filter/rule in your inbox that highlights/stars emails sent from @xwf.google.com 

That way, you will at least notice the email if another Google Rep has the balls to make changes that are hidden from us in the Google Ads UI.

– Nils

PMax no longer automatically outranks Standard Shopping

WARNING:
PMax no longer automatically outranks Standard Shopping; it’s now all about Ad Rank. Source: https://support.google.com/google-ads/answer/15535462

BEFORE this change, when you have the same product in both Standard Shopping and PMax:
PMax would always take priority and place the bid that enters the auction UNLESS your PMax targeting settings and/or PMax negative keywords or a limited budget prevents this.

AFTER this change, when you have the same product in both Standard Shopping and PMax:
PMax will take priority if its bid delivers an Ad Rank that is higher than the Ad Rank of your Standard Shopping campaign.

RESULT:
There’s a lot to think through here, but my conclusion is dead simple:
1) CPCs on clicks from Shopping Ads will increase (because of higher bids entering the auction for the same user queries/products). 
2) Managing a Google Ads account that runs both Standard Shopping and PMax has become more complex (because one-dimensional prioritization is replaced with two-dimensional prioritization).

POTENTIAL RISK FOR ADVERTISERS:
Standard Shopping campaign spend goes up, without corresponding growth in revenue/profit.

FIX:
Monitor your Standard Shopping campaigns like a hawk and adjust targets and budgets to meet your goals (not Google’s).

SCRIPT: Standard Shopping Spend Alert

Join me in my effort to warn the PPC community: if we get over 100 people to like this post and add “spend alert” in the comments, I will create and share the script for free.

Here’s the link:
https://www.linkedin.com/posts/nilsrooijmans_googleads-pmax-script-activity-7255149988157042688-XuhV

Or, you can reply to this email to get the script if we reach the magic number.

– Nils

“Served costs” versus “billed costs”

I am on my way to Bologna for my seventh (or eighth) year of AdworldExperience. I’ve lost count 🙂

Each year, it’s one of the best PPC events I’ve been to, so I am really looking forward to it.

If you’ll also be at the event, come say hi! I’d love to chat.

My flight to Bologna was a pleasant surprise for me. 

The surprise is related to the PPC topic I’ve been talking about in the last two days — spend.

So, here’s what happened: KLM was kind enough to offer me an upgrade to business class for a fair amount.

I took it.

However, my credit card has not (yet) been charged…

Which brings me to another not-all-that-intuitive topic related to Google Ads budgets: “served costs” versus “billed costs.”

Here’s what Google says:

The served cost is the cost of all the clicks or impressions that the campaign received.

The billed cost is the actual amount you’re responsible for paying, after adjustments have been made to your account for items like overdelivery, invalid activity, and more.”

You can view the daily costs at the campaign or account level from the Transactions page.

Source: https://support.google.com/google-ads/answer/9237921

So, if your campaign’s served cost is over twice the daily budget (and if you haven’t changed the budget setting on the same day) -> go check that billed cost!

If all is well, you are lucky; Google gave you more impressions, clicks, and hopefully conversions than you’re charged for!

Let me check my luck on KLM’s transaction page tomorrow 😉

– Nils