leads are like drinks

Leads are like drinks.

They come in all shapes and sizes.

You don’t REALLY want just any lead any more than you REALLY want just any drink.

What you REALLY want is the thing they bring you.

Here’s the thing: unless you tell the Smart Bidding machine what you REALLY want (leads that convert into sales), it will bring you just about any lead (such as cheap conversions that bring the tire kickers in your funnel).

– Nils

How much time do you spend thinking about your Google Ads account?

One of the perks of running a remote PPC business is you get to work from any location at any time you want.

Currently, I am in the Caribbean, escaping Europe’s lockdowns.

Every morning, I go swimming in the turquoise blue water of the sea in front of the house.

While swimming, I like to watch the fish and think about how I can improve the performance of my Google Ads accounts. (Jeez, is that really me?! Yep, I am afraid so…)

When I have an idea, I’ll memorize it using this memory trick.

Many of the best optimizations in my Google Ads accounts have come from this habit of thinking about my accounts.

Here’s the thing: no one will ever know your Google Ads accounts as well as you yourself know the ones you set up yourself and manage every day/week.

Outside advisors and tools (like a consultant or an audit tool) can provide some new insights, but you, dear reader, are the person who best knows your accounts.

And because you’re the person who best knows your account, it’s good to spend time thinking about your account (as opposed to be working in your account):

  • What went well in 2021?
  • What would you change?
  • What will you do differently this new year?

I like to think about questions like these while swimming. And I’ll do breaststroke. And think. And breaststroke some more.

And when I have an idea, I’ll memorize it using the memory trick.

And then I’ll swim some more, think some more, and ask myself questions: 

  1. Where am I leaving money on the table for my clients?
  2. What is the one change that would reduce 10% of wasted ad spend?
  3. How can I increase conversions by at least 30% over the next three months?
  4. What experiment can I come up with to test one of the latest features in the Google Ads platform?

When I get out of the water, I’ll write down the ideas as I have them. Some will be great and some will be terrible. That’s fine. What’s important is spending time thinking about my accounts (instead of working in my accounts).

And the good news: you don’t need to be swimming in the Caribs to do this. 

You can block out 30 minutes on your calendar to really think about your Google Ads account (without interruption) and write down ideas as they come to mind. That’s a highly productive activity!

Now, if you’ll excuse me, I’m late for my swim.

– Nils

Audience Adjustments and the Attribution Hierarchy

This question landed in my inbox the other day:

“If a user is on two audience lists, do both bid adjustments get applied to compute the final bid? And what audience gets the conversion if no bid adjustments are used?”

Good questions, and I had to look up the details on the second one myself.

1) The final bid

When you set more than one bid adjustment in your campaign (e.g., device, location, and gender), those adjustments are typically multiplied together to determine how much your bid will increase or decrease. 

However, for audiences it works somewhat differently: if a user is part of multiple audience lists that have been targeted in a campaign, the highest adjustment among the matching audience lists is used.

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

2) The attribution

Attribution credit can only be given to one audience type.

If a user is on multiple audience lists in the same ad group, the audience with the highest bid adjustment will get impression, click, cost, and conversion attribution.

If a user is on multiple lists which are tied for the highest bid adjustment, then impression, click, cost, and conversions attribution will be distributed according to a defined hierarchy:

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

So, now we know 🙂

Keep sending in those questions!

– Nils

[ALERT] Google Ads Scripts issues: failed execution, be sure to check yours

FYI: Google scripts are having some issues at the moment.

Scripts that have been running for years without problems suddenly are returning a failed status with no error logs.

Multiple users (including me) have experienced the same problem. The issue does not occur with all the scripts, but many scripts do not run. Here’s what it looks like:

SOLUTIONS:

1. There is a quick workaround for single account scripts: switch to Beta and back. That way, the scripts are working again (for me, at least).

2. For scripts at the manager account level (MCC scripts), the only option right now seems to be to copy and paste the code, create a new script, and authorize the new script to get the script running again.

Hopefully the Google Ads Script team will quickly fix this issue. Until then, make sure you check if your scripts ran, and (if needed) apply the workaround for your most critical scripts!

I guess it doesn’t hurt to let Google know you if you’re experiencing this issue as well, so they’ll feel the need to fix this quickly. Here’s the support thread  –>
https://groups.google.com/g/adwords-scripts/c/uODGS_-3iBI

– Nils

enhanced conversions

ICYMI: Google is rolling out enhanced conversions in beta to all eligible advertisers.

See https://support.google.com/google-ads/answer/11192862.

WHAT IT IS

Enhanced Conversions is a feature that can improve the accuracy of your conversion measurement. It supplements your existing conversion tags by sending hashed first-party conversion data from your website to Google in a privacy-safe way. The feature uses a secure one-way hashing algorithm called SHA256 on your first-party customer data, such as email addresses, before sending them to Google. The hashed data is then matched with signed-in Google accounts to attribute your campaign conversions to ad events, such as clicks or views.

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

WHY YOU’D CARE

Enhanced conversions is a way for Google to help recover conversion data that is lost due to a decline in the available cookie data. This is especially valuable when you are using conversion-based smart bidding; by adding enhanced conversion tracking you are better educating the algorithm as to what audience will convert into a sale/lead.

MY TAKE

I’m not sure what to think yet. I can see some privacy concerns and how Google will match my first-party data is a complete black box, but in theory, it should recover some conversions. I’ve decided to implement it for a few of my clients and test it.

One interesting observation I had when reading the documentation: 

What you’ll see after you set up enhanced conversions

A few days after you set up enhanced conversions you’ll see “Recording (processing enhanced conversions)” in your “Status” column. This means we are currently processing your enhanced conversion data and will notify you once it’s integrated into your conversion action.

Enhanced conversions currently need up to 75 days to train before you’ll start to see impact to your reporting. In the meantime, your conversion tracking will still function as it normally would, and once the training is complete, you’ll also have enhanced conversion data included in your reports.

After your enhanced conversions learning period, they will be included in your reporting and the conversion “Status” column for that conversion action will say “Recording (enhanced conversions)” That means we have started using enhanced conversion data in the reporting for your conversion action. If you hover the status You’ll see the date enhanced conversions started being included in your reporting and the impact on reported conversions for this conversion action. We’ll tell you the campaign type and the percentage of reported conversions.

You’ll only see this card for 30 days after you are eligible to see the impact on your reported conversions. After that, the status will return to “Recording conversions” and if you hover over the status, you will see a card which explains that enhanced conversions are being recorded, but will no longer show the impact.

How about you, have you already tried enhanced conversions?

– Nils

imposter syndrome

With all the changes going on in our industry, it is pretty easy to lose track and get lost.

“iOS 14 — what will it do to our conversion tracking?”
“Data-driven attribution — can we still trust the numbers?”
“Performance max campaigns — how to seriously compare results to our current setups?”
“What bidding strategy to choose?”
“How to not waste too much spend with the new keyword matching and broad match?”

You might even question yourself, “Am I still fit for this job?” 

Whenever you get imposter syndrome, here’s a quick fix:

Provide some second opinions or do some account audits.

You’ll be surprised at the amount of crap you’ll discover that YOU can turn around in no time.

– Nils

To make your life better

If, for some reason, I feel lost (or fail to understand), I often consult the Stoics. These extraordinary days are no exception.

“Happiness and freedom begin with a clear understanding of one principle: some things are within our control, and some things are not. It is only after you have faced up to this fundamental rule and learned to distinguish between what you can and can’t control that inner tranquility and outer effectiveness become possible.”

Epictetus

With that in mind, on to today’s notes…


SIGN: Petition to Opt-Out of Non “Significant” Search Terms in Google Ads

ICYMI, Google started hiding search terms in our SQRs. If Google won’t give us the data for search terms with “insignificant clicks,” we ask for the ability to opt out of showing ads on all queries not deemed to be “significant.”

➥  ACTION: If you are serious about your job: sign. Hey, at least we tried, didn’t we?


LISTEN: Your Attribution Problem

Attribution always leaves me in the dark. After reading this article, I still have no answers, but at least I learned about more things I don’t know.

➥  ACTION: Why not forward to your colleagues and discuss?


INSTALL: “f.lux” software to make your life better

If WFH has ruined your daily routines and you end up working late, best make sure your eyes don’t suffer and sleeping does not feel like mission impossible when work is done.

➥  ACTION: Give it a try. My screen feels “warm at night and like sunlight during the day.”


Thanks for being here, I really appreciate it.

– Nils

PS: If you’ve ever considered installing a Google Ads script but somehow decided not to, please hit reply. I’d love to learn about your doubts.

ETA-to-RSA migration toolkit: Script #2

Be warned! Beginning in July 2022, you will no longer be able to create new ETAs or edit existing ETAs in Google Ads.

However, as the Godfather of PPC Ad Testing says:

Pinning will enable us to use RSAs as if they were ETAs!

Simply copy-paste your ETA headlines and descriptions to a new RSA and pin them at the corresponding positions. That way, you will still have the same ETA control and still be able to edit them.

And here’s the good news: scripts will allow you to do so at a great scale, with little effort, in no time!

Hence, the idea for my second script in this series: automatically create RSA versions of your ETAs.

Here’s the logic of the script:

For all campaigns labeled ‘ETA2RSA’,
  for all ad groups
    for all ETAs
      create new RSA based on RSA copy,
      pin RSA headlines and RSA description to their corresponding ETA position,
      and label the ad ‘Copy of ETA’

Stay tuned!

– Nils

ETA-to-RSA migration toolkit: Script #1 (the code)

Last Monday, I sent out an email with the subject: “ETA -> RSA migration toolkit, script #1.” (Details are provided at the bottom of this email, for your convenience.)

Since then, I’ve been working on the script.

Here’s the result:

https://nilsrooijmans.com/Report-Missing-RSA-AdGroups.txt

Have a great weekend and happy scripting!

– Nils

PS: As mentioned, here’s more info on the email -> https://nilsrooijmans.com/daily/eta-to-rsa-migration-toolkit-script-1

ETA-to-RSA migration toolkit: Script #1

Google recently announced that they will be sunsetting Expanded Text Ads (ETAs). Beginning in July 2022, you will no longer be able to create new ETAs or edit existing ETAs in Google Ads.

Although existing ETAs will continue to be shown after the change, we all need to prepare for a world where Responsive Search Ads (RSAs) are the only option for your new ads.

To help you prepare for this change, I will be creating a small library of new scripts that will help you make the most of this transition.

There are still 10 months of runway, so let’s do this: let’s make those RSAs outperform your ETAs!

The first script in this series solves a simple problem: knowing what ad groups do not have an RSA yet and where to best allocate your time in the creation of new RSAs.

The script will check all enabled ad groups in all enabled search campaigns, and:

  • for each ad group, it will check if you have at least the minimum number of RSAs enabled (threshold configurable),
  • if the ad group does not have the minimum number of RSAs, it is logged in a Google Sheet, and the rows in the sheet will be sorted by the number of impressions of the ad group
  • also, if the ad group does not have the minimum number of RSAs, AND if the ad group has had over X impressions during the last 7 days, an email alert will be sent (where X is also configurable).

Stay tuned,

– Nils

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.