how ‘maximize clicks’ took me by surprise (part 2)

Last Tuesday, you received an email with the subject: “how ‘maximize clicks’ took me by surprise.” (I’ve repeated it at the bottom of this email for your convenience.)

Be sure to re-read the story before you continue, otherwise this won’t make sense.

Now, let me share what I think happened.

First, I need to tell you about the product my client is selling and her audiences.

The product is sort of like ketchup, and my client is the only one that sells the brand that we can compare to Heinz; most of the target audience knows her brand, wants the brand, and has a tough time naming any other brands.

Also important: my client sells both to consumers and B2B clients;  you and I would be ordering a bottle or two (B2C), and restaurants ordering tens of bottles if not hundreds (B2B).

Based on analysis of the search terms and the transaction data of the campaign that runs on Maximize Clicks, both before and after increasing the budget, here’s my current explanation of why spend went up and profit went down:

  1. Because of the big brand recognition (‘Heinz’), my client has a far-above-average conversion rate for generic searches (‘ketchup’). Competitors get low value per click for these types of searches -> competitors enter the auction with low bids -> it’s easy for Max Clicks smart bidding to get a lot of these cheap clicks for my client. Increasing the budget of my campaign allowed Smart Bidding to set higher bids for extra clicks from auctions that have higher competition. These are auctions where the competitors enter with higher bids because for these less generic, more bottom-of-funnel-type searches (i.e., “buy spicey ketchup online”) they can convert the click. This resulted in me getting more clicks at higher CPCs that did not have higher conversion rates (sometimes even lower, because our ketchup is spicey, just not as spicey as our competitors).
  2. Increasing the budget did not significantly increase the number of B2B orders. It did increase the number of B2C orders, but since the average order value of a B2C order is <15% of the value of a B2B order, overall performance went down.
  3. The number of B2B orders did not significantly increase because a lot of the B2B orders are from repeat customers. These customers go to our website simply by entering the same generic search they used the last time they ordered. 
  4. Increasing the budget for the Max Clicks campaign did not allow us to attract more repeat customers in the B2B segment; we were already showing up for them most of the time.

Lessons learned:

  • Google’s claims and recommendations about smart bidding may be true on average, but that does not mean they are true in your specific situation.
  • The dynamics of the ad auction and smart bidding are complex, very complex. It is hard to predict the effect of applying major changes to your settings/targeting. So, Always Be Testing.
  • Maximize Clicks can be a very interesting bidding strategy if your value per click for the targeted keywords is much higher than the value of the same for your competitors.

Analyzing the results of your test takes a lot of effort. However, this is how you separate yourself from the other advertisers that simply apply Google’s recommendations. This is how you create a competitive advantage in a world where Google is automating easy tasks.

Next steps for me and my client:
– Improve conversion tracking; create separate conversion actions for B2C and B2B orders
– Create audiences for B2B clients and B2C clients
– Restructure campaigns to target both audiences individually (split remarketing and prospecting)
– Retest smart bidding using data from the new conversion actions

It’s going to be fun!

– Nils

PS: Here’s a link to the email, as promised -> https://nilsrooijmans.com/daily/how-maximize-clicks-took-me-by-surprise

how ‘maximize clicks’ took me by surprise

It looked all too promising.

My new retail client wanted to grow revenue as much as possible. 

The only constraint was a POAS target of 1; gross profits should not decrease below the level of the ad spend.

Given that the actual POAS of the account was almost at 3 and my monthly fee is a percentage of ad spend, this felt like my ticket to the FED’s money printer.

It should be very, VERY easy to grow ad spend while meeting both revenue and profit goals. Especially since some of the bigger search campaigns were showing amazing profits, were having conversion rates above 5%, were limited by budget, AND were running Maximize Clicks.

My reasoning at that time:

  • Since the campaign is limited by budget, and a POAS of 4.3 is waaay above the target, I can safely increase the budget by 50% for starters and get more clicks and conversions. 
  • CPCs might increase a little bit because the budget allows for it, but this will also allow me to enter auctions for clicks that show higher conversion rates.  

The assumption here is that Max Clicks will try to find as many cheap clicks as possible, thus increasing clicks from less competitive auctions with lower CPCs — auctions where the conversion value is relatively low. These are the auctions where other advertisers (and their Smart Bidding) predict low conversion values for the clicks -> low CPC bids -> little competition.

I thought increasing the budget would allow me to enter more competitive auctions with a higher conversion value per click, resulting in more clicks with higher conversion rates. More revenue!

The cost per conversion might go up a little due to increased CPCs, but probably POAS would not suffer greatly because of the increase in conversion rates and/or conversion value. 

Right?

Here’s what happened:

  1. Ad spend grew by 40%. (As expected)
  2. Number of clicks only grew by 20%. (Also, sort of to be expected)
  3. Number of conversions increased by 10%. (Not really what I was hoping for)
  4. Conversion value roughly stayed the same. (Definitely not what I expected)
  5. Profit (-6%) and POAS (-32%) decrease…

HORROR!

My assumptions on how Max Clicks bidding operated on this campaign were completely wrong.

Tomorrow, I am going to share my thoughts on what happened and how I proceeded with this particular case.

In the meantime, I urge you to question your assumptions.

Especially about Smart Bidding.

Always Be Testing
Always Be Testing
Always Be Testing

– Nils

Google to sunset creation of ETAs in July 2022

Hoppa, there we go, ICYMI: beginning in July 2022, you will no longer be able to create new ETAs or edit existing ETAs in Google Ads.

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

For most of us, this move will not come as a surprise. The writing has been on the wall for some time now. Still, a pretty shitty move Google if you ask me.

I like being in control of my creatives and although we still (for now at least) have the option to pin headlines and descriptions, RSAs give us much less control of what exact ad copy is shown to the user.

Let’s hope Google will give us some more data on the actual performance of the different ad components and combinations that show up before removing ETAs altogether. We’ll have to see.

In the meantime, here are some scripts that can help you prepare for the change:

– Nils

Are you running enough experiments?

“If you always do what you always did, you’ll always get what you always got.”

Henry Ford

How many experiments are you running in your accounts?

No, seriously. I want to know.

With all the changes in the Google Ads platform, we can’t permit ourselves to not be testing.

Ask yourself: what experiment can I come up with that would validate/falsify the value of X?

Insert any of these: switch to pure broad match, Hagakure structure, 20% change in tROAS or tCPA setting, adding one more RSA to every ad group, add custom intent audiences…

– Nils

Easily spot trends in your search terms report using this updated script

Fellow list member Rob Reay sent an email with an interesting suggestion (shared with permission):

“I had a question about your trending search terms script which I wondered if you could help. Due to the pandemic last year 2020 results aren’t as relevant so I was wondering if there was a way of changing last year’s results to 2019.”

Background: I like to keep a close eye on the ball. Never miss a new keyword opportunity or waste a ton on terms that should be negated.

That’s why, last year, at the start of the COVID situation, I created a script to monitor what is changing in the search behavior of my target market.

The script creates a report in Google Sheets.

The report lists the search terms that show a significant increase or drop in impressions.

It compares last week’s data to the week before AND last week to the same week last year.

The output will look something like this:

Thanks to Rob’s suggestion, I’ve updated the script. You can now add the option to compare this year’s data to the pre-corona year, 2019.

Here’s the link: https://nilsrooijmans.com/google-ads-script-trending-search-terms/

PRO TIP: Run a separate version of this script for Shopping campaigns that are on Smart Bidding, and easily keep track of changes in the search terms for which the Google AI shows you PLAs.

– Nils

Are you improving the accuracy of your conversion values?

Here’s a relatively new feature that will benefit your Google Ads optimizations: Conversion Value Rules.

These rules allow you to tweak conversion values based on some high-level attributes that are correlated with increased/decreased conversion values.

You can adjust values for conversions based on geographic location, device, and audience. The new values will be used at auction time bidding in real-time. 

This means you can use it as an extra signal to direct the smart bidding algorithms to increase/decrease bids for clicks that it predicts will have a high chance of generating the type of conversions you tweaked.

Some examples:

  1. You are an online retailer that ships to all countries in the Benelux. Your data tells you that customers from Belgium tend to have a far lower return rate (8%) compared to customers in the Netherlands (15%). Now, you can use a value rule to multiply the conversion value for Belgian clients by 0.92 and Dutch clients by 0.85, to better reflect the true value of these different users. If you’re using a value-based Smart Bidding strategy (like Target ROAS or Max Conversion Value), your bidding will automatically optimize for these values as well. 
  2. You are an online leads business that currently values all leads at $5 through Google Ads. However, you know from regression analyses that leads from people in the top income segment are typically worth $10. With conversion value rules, you could specify this distinction, and Google Ads would report $10 values for users in the top income segment. The rule you specify will ultimately better reflect the value of the different leads and Google will bring in more leads from your ideal audience segment.

This is a great way to improve the quality of your conversion data!

The new feature is located in the Conversions section under Measurement options.

More details here: https://support.google.com/google-ads/answer/10518330?hl=en

What rules can you think of that will improve the accuracy of your conversion value?

– Nils

how I use Dynamic Search Ads

“Do you use DSA campaigns?”

It’s a question that frequently pops up when I speak with fellow PPC practitioners.

Here’s my take: 99.9% of GAds accounts will benefit from running Dynamic Search Ads.

They are the perfect keyword research tool to grow your account.

Here’s how I use DSAs:

1) Create a separate DSA campaign (I use two types of ad groups, one for category-based targeting and another for URL-based targeting)
2) Add a ‘DSA negative keyword list’ that is populated with all the keywords from your standard campaigns (this way, the DSA campaign will not cannibalize your standard campaigns)
3) Start with manual bids that are similar to the average CPC of your standard campaigns
4) Optimize the campaigns after every 1,000 clicks
4.1) Analyze your search terms and negate everything that seems irrelevant
4.2) Watch for search terms that should have been matched by keywords in other campaigns -> add them to the DSA negative keyword list
4.3) Add your best-converting search terms as keywords in your standard campaigns and add them to the DSA negative keyword list
5) Every 100 conversions, reconsider your CPC bids or your bidding strategy (A/B test different strategies)

The scripts I use to facilitate this process:

1. Add keywords as negative to DSA (my own custom script) 
   -> Here’s an example to help you get started: https://adsscripts.com/scripts/google-ads-scripts/exclude-exact-in-dsa
2. Negative keyword candidate alert (my own custom script that alerts me when search terms accrue over X clicks and show zero conversions) 
   -> https://developers.google.com/google-ads/scripts/docs/solutions/search-query
3. Duplicate query checker – reports the same search query leading to different ad groups
  -> https://searchengineland.com/want-see-search-query-appearing-different-ad-groups-265616
4. New keyword candidate alert (my own custom script that alerts me when search terms show good conversion rates and have impression potential)

Are you using DSAs?

If so, how does your strategy differ from mine?

Hit reply, I read every response.

– Nils

the new Google Ads scripts experience is here

Last week, Google launched the beta version of the new Google Ads scripts experience.

I am still trying to get a feel for it and figuring out the differences with the existing experience. Stay tuned for updates.

In the meantime, here’s Google’s announcement:

Existing scripts won’t be affected, but if you’re interested in trying some new features and performance improvements, you can opt in on an individual script basis. 

The code works on the same interface you’ve been using all along, so your existing scripts will be compatible with minimal changes.

Some highlight features include:
– Support for ES6, including let, classes, for..of loops, and more.
– Improved throughput, meaning you can process more entities in the same amount of time. We’ve also removed the entity limits on processing, although time limits remain in place.
– More control over setting up and maintaining bidding strategies.

The beta doesn’t currently support manager account scripts or bulk uploads, but watch out for those features in a future update.

SOURCE: https://ads-developers.googleblog.com/2021/07/try-new-google-ads-scripts-experience.html

Let me know if you are already experimenting with this, I would love to learn about your experience.

– Nils

My favorite — and permitted — punctuation

Here’s a nice little trick to make your ads stand out just a little bit more.

Instead of using a standard dash (-) for punctuation, use the — permitted — em dash in your headlines.

Looks nice, eh?

On a Windows PC, hold Alt, type 0151 on the numeric keypad, and release Alt.

On a Mac, press Option + Shift + Minus (that’s -, the key right next to 0 at the top of your keyboard). 

– Nils

PS: What tricks are you using to make your ads stand out? Hit reply, I would love to learn.

correct course

Last month, I sent you an email with one of my favorite scripts —
the script that detects negative keyword conflicts (*).

Fellow list member Anton Shakhidzhanov responded with an interesting observation.

Our little chat (shared with permission):

Anton: “This script is no longer useful. Because negative conflicts pop up automatically in Google Ads interface (Suggestions section).”

Me: “You’re right, however, in my experience the alerts in the interface miss half of the conflicts. I recommend you try it for yourself.”

Anton: “Damn, you were right! I experienced that alerts missed ~15% of conflicts” 

Here’s the thing: you cannot trust Google’s automation to make perfect decisions/recommendations.

The algorithms make mistakes. It is our job to spot them and correct course.

– Nils

(*): The email was sent on the 15th of June, with the email subject ‘Are you in conflict with your keywords?’ 

Do Less

The biggest insight that made me more productive in life, business, and PPC is this: Do Less.

There is an unconscious obsession with doing more, more, and more. Some examples:

  • Add more keywords.
  • Create new ad variations.
  • Improve quality scores.
  • Negate tens of search terms.
  • Adjust a thousand bids.

Now, I am not saying we shouldn’t do these things. They all have their place and value in our PPC job.

However, we should only do them to the extent that they genuinely make a significant difference.

It can’t just be work for work.

Here’s your challenge for this upcoming week: Do Less.

Start by eliminating the one task that does not really move the needle.

– Nils

“Invalid reporting query: UNSUPPORTED_VERSION”

Yesterday, one of my GAds scripting students ran into a common issue.

She was previewing one of the free scripts on my list and got an error message: “Invalid reporting query: UNSUPPORTED_VERSION ” 

This happens frequently when you copy-paste some of the older scripts that are out there on the web. And it’s easy to fix.

The solution might be of value to some more of you, so I decided to add an article to my list of FAQs that contains the fix.

You can find it here: https://nilsrooijmans.com/google-ads-scripts-faq/invalid-reporting-query-unsupported_version/

Happy scripting!

– Nils

How to truly limit Google Ads spending to the amount you want

Last week, I shared my worst PPC nightmare and asked you to share yours.

Many of you took the time to respond. Thanks for that!

Today, I’ll share one response by Alberto Esteves Correia (shared with permission):

“My worst nightmare is the opposite of an account not serving any ads; spending WAY TOO MUCH in a short time.” 

Alberto described the situation where he was running a Smart Display campaign with a €500/day budget. The campaign had not generated any clicks for almost a week, and then on Dec 24th at 21h… he noticed almost €4000 of spending on that single day! Google reps told him it was “probably due to a system bug.”

You can imagine how Alberto felt that Christmas.

Good news: we can use scripts to ensure you can peacefully enjoy your next Christmas without worrying about Google stealing your money.

To prevent Google from spending over your budget, have a look at these two scripts:

1) Daily Budget Overdelivery Alerts

https://nilsrooijmans.com/daily-budget-overdelivery-alerts-script/

What it does:

The script will compare the anticipated ad spend based on your campaign’s daily budget settings with the actual ad spend. It will check for overdelivery in any of three periods: yesterday, last week, and last month. In case of big differences (e.g., due to overdelivery by Google), it will report an alert, log the alert in the specified Google Sheet, and inform you about the alert via email.

Why you’d care:

Back in 2017, Google introduced a feature that allows it to spend up to two times your daily budget. However, as illustrated by Alberto’s example (and my experience from running this script), Google does not always limit itself to 200% of your set budget…

2) Limit Google Ads Overdelivery to Any Amount You Want

http://www.freeadwordsscripts.com/2017/10/limit-adwords-overdelivery-to-any.html

What it does:

The script fetches every active campaign’s daily budget and accrued cost for the day. If the cost exceeds the daily budget + the allowed percentage of overdelivery, it will label that campaign and pause it.

Why you’d care:

The overdelivery mechanism used by Google makes it harder to limit spend to the amount you want unless you use this script.

– Nils

Are you tired of manually setting columns in each and every client account?

Recognize this?

Every time you start with a new client, you spend the first hours setting and rearranging the columns in the different tables. 

  • For campaigns, you click Modify columns, check the columns you want in your table, and re-arrange the order of columns.
  • Then for ad groups, you click Modify columns, check the columns you want in your table, and re-arrange the order of columns.
  • Again for keyword view, you click Modify columns, check the columns you want in your table, and re-arrange the order of columns.
  • Rinse and repeat for each and every table.

Horrible hassle.

Now, imagine you could set all this once at your manager account level (MCC) and be done with it!

Well, you can.

If you use a Google Ads manager account, your viewing preferences are synchronized across the accounts within your manager account. For example, if you update the date range in one account, the same date range will be applied to all accounts within your manager account. Google Ads started saving these preferences at the manager account level since October 2019.

The following account viewing preferences are synchronized across accounts within your manager account:

– Date range
– Page size
– Home page
– Synchronized across accounts by table and campaign type:
  – Columns in the table and their relative order
  – Segments in the table
  – Sort order of the table
  – Metrics selected in Charts

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

I like to keep all my sub-account views consistent and this feature has been a major time saver for me.

Here’s where to click to sync your columns:

NOTE: It seems you only get to use this option once — before you make changes to the default columns in a client account. Once you’ve made a change, the sync opt-in does not appear anymore (at least not in my experience).

– Nils

the worst nightmare

The date was July 5th, 2014.

The night had been warm and sweaty, and I just had my first cup of coffee.

The phone rang.

“Nils! We’ve been without any leads last five days. What’s going on?!”

“Uhhh, uhm, I don’t really know Jeff. Let me have a quick look. I’ll get back to you in a bit.”

It turned out the Adwords account had not been serving any ads for five days due to declined credit card payments.

And I hadn’t noticed. For FIVE days.

To me, that was unacceptable. Jeff was paying a fair amount of coins for me to handle his ads. 

For Jeff, it was more than unacceptable. It was a matter of staying alive. He was in the roofing business and just got started.

You can imagine how I felt when I needed to pick up the phone and explain to him what happened.

Jeff took it lightly and finished our second call:

“It’s all good. I can feel you understand the importance of this issue for my business. I am confident you will not make the same mistake again.”

We all need more Jeffs in our lives.

Now, here’s the thing: I’ve always been obsessed with preventing my clients from noticing any issue before I notice them myself.

And no surprise here, scripts are my go-to tools for that.

Check out this great script from our friends at Optmyzr: https://bitbucket.org/snippets/fvallaeys/nLEoj/check-if-account-is-offline

What it does:

It checks whether a Google Ads account has gone offline, possibly due to a declined credit card, accidentally pausing all campaigns, or suspensions, among other things.

Why you’d care:

Accounts go offline for many reasons. Billing issues are a well-known problem in managing Google Ads accounts, especially for advertisers with smaller budgets. When this happens, you want to be alerted straight away so your client does not unnecessarily miss any leads and/or revenue.

– Nils

PS: What’s the worst PPC nightmare you want to prevent from happening at any cost? Hit reply, I’d love to know.

My favorite productivity hack

Want to know what one of my favorite productivity hacks is?

Read on.

Yesterday, you received my “This Email Intentionally Left Blank” message in your inbox. It triggered many reactions. You sent me replies like “WTF!?”, “LOL”, “Uhhh?”, “This made me think…”, and “Dude, there is nothing here!”

The last one was the bull’s eye.

My favorite productivity hack is exactly this. Empty. Blank. Space.

Blank space is the idea of blocking “empty” time in your calendar.

This empty time has no specific purpose and no specific task that needs to be completed.

Creating space within your PPC calendar allows you to slow down and reflect on strategy. 

It also allows you to simply click through the Google Ads interface or Analytics data and just have a look at what is happening in areas you do not visit frequently.

Blank space creates a sense of joy and gratitude because you can enjoy your time by simply following your curiosity. 

Without any exception, my blank spaces generate at least one new idea to improve either my Google Ads accounts’ performance or my workflow. That’s a productive win!

The best way to create blank space?

Simply add a 30-minute space to your calendar, and schedule to repeat it weekly or even daily.

Seriously, you should give it a try.

– Nils

Finally, we can set a monthly spend limit across all campaigns

Starting last June 1, a limited set of advertisers have become able to set monthly spend limits at the account level.

Finally! Google Ads changed something related to our budgets that is actually useful! 😀

You can find the details here: https://support.google.com/google-ads/answer/10178071

Now, let’s hope that Google does not decide to grant itself the “right to double your monthly spend limit” like they do with daily budgets… 

– Nils

PS: Are you curious as to what extent your daily budgets suffer from ‘overdeliveries’ by Google? If so, check out this script: https://nilsrooijmans.com/daily-budget-overdelivery-alerts-script/