Did you know? Search terms have match types too (the sequel)

Roughly a month ago, we talked about search term match types.

Not keyword match types. Nope… Search term match types!

You can use this search term match type to monitor the performance of the ever-changing broad match algorithm.

If you don’t know what I am talking about, you can go read the write-up I made on Jan 30 (shared below for your convenience).

I use the search term match type to monitor if true broad match still serves my goals (instead of Google’s).

Here’s how you can do the same:

1. Create a custom report via the report editor, 
2. include ‘search terms match type’ as your main column, 
3. add your KPI metrics as secondary columns, 
4. filter on keyword match type is Broad, and 
5. compare performance for different date ranges.

Here’s what that would look like:

(Click image to enlarge)

You can also use this report to see the % of spend on true broad matches versus the exact and phrase, and monitor changes in this percentage over time.

– Nils

PS: Here’s the copy of what I wrote from Jan 30 -> https://nilsrooijmans.com/daily/did-you-know-search-terms-have-match-types-too

glorious greeting

“How glorious a greeting the sun gives the mountains!”

John Muir

I am in the Aosta Valley, just south of Mont Blanc in the northwest of Italy. Enjoying the mountains, skiing, pastas, and vinos.

Every morning starts with a view where the sun rises, moves shadows, and exposes something new. A daily greeting we get for free, each and every day.

I wanted to create something similar for the start of your working day. While much less romantic, a daily view that highlights some of the new search terms that my campaigns are exposed to does get me started. So, I decided to make some small changes to the Trending Search Terms script. 

The latest version of the script analyses yesterday’s search term data and compares it to data from 8 days ago. Search terms that show a dramatic increase or decline in impressions are reported in a Google Sheet. Every day, when an interesting change happens, the script will send an email with a link to the sheet.

(You can click the image to enlarge it.)

Here’s the link: https://nilsrooijmans.com/Report-Trending-SearchTerms-DAILY.txt

Go ahead, copy-paste, install the script, and schedule it to run daily at 5 AM. It only takes 5 minutes and I guarantee you the results will surprise you.

NOTE: You may want to change some threshold values specific to your account to make sure you don’t get overwhelmed by the data and emails.

Be sure to check out the original Trending Search Terms script as well, and let me know what you think!

Hoping for more glorious greetings,

-Nils

PS: Want to learn how to make changes like these to your scripts yourself? Sign up for my next “Google Ads Scripting Workshop for Beginners” (scheduled for this summer 2023).

7 ways to use scripts to scale your agency

Scripts allow me to easily scale my remote PPC agency without increasing headcount. Here are examples of things I’ve automated:

1) Anomaly detection
Daily, weekly, and monthly alerts on significant changes in all important KPIs. Think email alerts with links to a Google Sheet showing all dramatic changes in impressions, clicks, cost, conversions, conversion rate, cost per conversion, and ROAS.

2) Check default campaign settings  
Sends me an alert every time a campaign setting deviates from the defaults for the specific account. Think search partners, advanced location targeting (‘people in…’ versus…), ad rotation, ad schedules, and list of audiences added for observation/targeting.

3) Account offline alert
Sends an email and SMS alert when an account goes offline for any reason, such as a declined credit card or depleted budget.

4) Budget monitoring and budget pacing
These are critical for “smaller” lead gen clients in my portfolio.

5) Add creation date to new ads
This script adds the creation date of the new ad copy variant as a label. Huge time saver when running A/B tests!

6) Change history alerts
For monitoring the change history. Two reasons: (1) to be in the know when someone outside of my team makes any changes to the account, and (2) to make sure changes are being made.

7) Negative keyword suggestions
Easily manage potential negative keywords via a Google Sheet:

Note: this is only a small fraction of the scripts my team and I use to manage our accounts. I wanted to share these to give you an idea of what is possible.

I’d love to hear about the scripts you use for scaling your operations. Which ones have been most helpful for you?

– Nils

PS: If you’re managing over 20 different accounts and looking for efficiency tips, reach out to learn about my favorite script for this situation -> just send me an email at nils@nilsrooijmans.com.

another disappointing change

Are you serving ads on the Google Display Network?

If so, beware! 

Google is back at it again, taking away control from advertisers to make more money by showing your ads on places you don’t want to. In a disappointing change, Google basically “helps” you get in front of more eyeballs with less control over who those eyeballs are. This change is starting in March.

Google explains:

…to help you reach more potential customers, your ads will now show on content that matches any of the topics, placements, or display and video keywords you target. For example, an ad targeting a topic and a placement will be eligible for impressions which match either.

Note that currently, your ads will only show on content that simultaneously matches all of the topics placements and videos and display keywords you target.

So, starting in March, your display ads will run much more broadly. The less strict targeting allows Google to serve your ads far more frequently. You’ll probably get more impressions, more clicks, potentially a lower cost per click, and almost certainly a higher percentage of your budget spent.

BUT the precision of the targeting is gone!

This will almost certainly lead to lower conversion rates and potentially increased cost per conversion.

How to combat this?

There’s no escaping. We need to embrace the change. Give Google your money and trust that this new way of automated targeting delivers on the promise. Here’s how you can increase the chances of that happening:

1. Make sure you track each and every conversion as precisely as possible (think: Offline Conversion Imports, Enhanced Conversions)
2. Switch to some sort of smart bidding
3. Monitor traffic/lead/conversion quality and adjust when needed 
4. Use scripts to do this monitoring for you and alert you when the smart bidding goes haywire

Always remember: Whenever Google’s announcement starts with “to help you reach more potential customers”, it usually means “we’re helping you to give us more money”.

It is our job to make sure they don’t waste that money.

– Nils

PS: Ready to finally get started writing your very own Google Ads Scripts?

Register today for my next “Google Ads Scripting Workshop for Beginners” and get started with your own scripts in no time!

Did you know? Search terms have match types too

Ever noticed the ‘Match type’ column in your search term report?

At first, you might think this refers to the keyword match type (exact, phrase, or broad). But it does not. 

It refers to the search term match type!

Here’s what that looks like (note that all the keywords in this screenshot are ‘broad’ keywords):

So, a broad keyword can be triggered based on search terms that matches that keyword exactly, “phrasely“, or broadly

Here’s how Google explains the matter:

“‘Match type shows how closely the search term that triggered your ad on Google Search is related to your keyword. For example, when someone searches for purple flowers, your broad match keyword, “purple flowers,” triggers your ad. Since this search term matches your keyword exactly, you’ll see “Exact match” in this column.

More info here: https://support.google.com/google-ads/answer/2472708?ctx=tltp#match_type

Tomorrow I will share some thoughts on how I use this search term match type to monitor the performance of the ever-changing broad match algorithm.

– Nils

PS: Ready to finally get started writing your very own Google Ads Scripts?

Register today for my next “Google Ads Scripting Workshop for Beginners” and get started with your own scripts in no time!

[Performance Max] Account-level negative keywords are here!

Finally! You can now create a negative keyword list that applies to all search and shopping inventory. 

This includes PMax campaigns (as far as I know).

Google is rolling out this feature in most of my accounts right now:

Here’s what Google has to say:

When you create your account-level list of negative keywords, it will automatically apply to all search and shopping inventory in relevant campaign types. This allows you to create a single, global, account-level list that applies negative keywords across all relevant inventory in your account.

You can create a single, account-level list of negative keywords in your Google Ads account settings. In your “Account Settings,” you’ll find the “Negative keywords” section. When you click on this section, you can begin creating your negative keywords list.

You can create your list by defining which search terms are considered negative for your brand. You can then enter this all at once in the “Negative keywords” section of your “Account Settings” in your Google Ads account. You can also specify whether you want to exclude these based on broad, exact, or phrase match. A limit of 1,000 negative keywords can be excluded for each account.

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

– Nils

PS: if you like this post, be sure to check out my Google Ads Script for Negative Keyword Suggestions.

Are Google’s Search Partners being good to you?

Nothing is as unpredictable as the weather, right?

Except for Google’s Search Partners, maybe…

Next to the Display Network, I haven’t seen any part of the Google Ads platform that delivers such a wide variety in value per click. Not even broad-match keywords! I’m dead serious.

Some days, if you’re lucky, you get ridiculously cheap clicks that actually convert. On other days, it’s like you’re the target in a training exercise for click farm bots.

Not only is the Search Partners network notorious for click fraud,
the “partners” that send you traffic keep changing by the minute!

And these partners attract completely different crowds!

So, here’s my tip for today…

Go segment your traffic, see how Search Partners are impacting your campaigns, and if they are tanking your results -> disable them before you take another breath:

(Click image to enlarge)

And because these damn partners keep changing every day, you probably want to check this segment every day and get an alert when search partners are hurting your campaigns.

Guess what? There’s a script for that too 🙂

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

– Nils

PS: Want to finally start writing your own Google Ads scripts? Register today for my next Google Ads Scripting Workshop for Beginners.

Helper tool for offline conversion imports

Have you ever managed a project to implement Offline Conversion Tracking with one of your clients? And you are still alive?

If so, high five to you.

Implementing Offline Conversion Tracking nearly kills me every time. It’s a complex process, with many stakeholders and a lóóót of communication back and forth. Error-prone to the max…

I used to spend countless hours in Zoom meetings endlessly explaining the what, why, and how to different PPC specialists, web developers, CRM managers, and analytics maniacs. GCLIDs, hidden form fields, lead scoring, properly-formatted timestamps, FTP uploads… you name it.

Last time, I decided to try something different.

Enter the OCI Helper. It’s Google’s tool to support you with detailed steps, project management guidance, and communication with different stakeholders.

I highly recommend it for your next lead gen client!

Here’s the link: https://ocihelper.withgoogle.com/

– Nils

PS: Want to finally start writing your own Google Ads scripts?

Register today for my next “Google Ads Scripting Workshop for Beginners“.

The best agencies don’t wear a Google badge

Unpopular opinion: The best agencies don’t wear a Google badge.

Here’s why: The Google Partner badge comes with a set of requirements. One of those requirements is to have a minimum optimization score of 70%. That optimization score requires the agencies to apply Google’s recommendations in your account. (*) However, those recommendations are rarely in the best interests of the advertiser (you!).

The best PPC professionals don’t care what Google recommends.

They cut through Google’s BS, test all potential opportunities, and use what works for the advertiser instead of what works for Google.

– Nils

(*) Note: Google has removed this requirement from the program by allowing advertisers to dismiss recommendations while still keeping their optimization score. However, the fact that it was a requirement in the first place, along with Google still pushing these harmful recommendations in order to keep the optimization score, proves my point.

[Performance Max] Compare product clicks from PMax vs Shopping… in 2 minutes

Did you know you can easily compare product clicks from PMax vs Standard Shopping? You can do so in only 2 minutes!

Here’s how:
1. Open Google Ads UI
2. Navigate to Reports
3. Click ‘Custom’ to create a custom report
4. Add ‘MC ID’ (merchant center ID) to Row data
5. Add ‘Campaign type’ to Row data
6. Add metrics as Columns 

Here’s what this report will look like (click image to enlarge):

NOTE: Not all product clicks from PMax campaigns are clicks from Google Shopping Product Listing Ads. PMax may also show your products in dynamic remarketing or other exotic locations it is hiding from us.

– Nils

Please don’t make this tracking mistake

Here’s a truth in computer science: garbage in, garbage out.

Let me rephrase that in the Google Ads Smart Bidding context: incorrect or poor-quality conversion tracking will produce faulty bids.

Faulty bids tank results. Not good. Yet, this is what happened to one of my accounts recently. The number of tracked conversions was artificially inflated.

Here’s what happened:

1. We forgot to add unique transaction IDs to the tracking.
2. For some reason unknown to us, a large portion of people who finished the purchase visited the thank you page a second time.
3. So, the same transaction was being tracked twice.
4. The result: a repeat rate of 1.50 for transactions that in reality only happened once.

“Repeat rate” is the average number of conversions you receive based on interactions that led to at least one conversion. This is reported in the Conversion view in the Google Ads UI (note that you may need to add the ‘repeat rate’ column):

To avoid over-counting, add an order ID to your conversion tag.

Here’s more info on how to minimize duplicate conversions:
https://support.google.com/google-ads/answer/6386790

– Nils

PS: A track I’m currently listening to, to point myself in the right direction for 2023: https://www.youtube.com/watch?v=kkZ_vKWF8e8

podcast predictions for 2023

Fellow list member Albert Roig Martin invited me to his PPC podcast to share my thoughts on “PPC in the new year.”

Here’s a transcript of my thoughts:

As we’ve seen, Google has been pushing AI automation a lot further in 2022. Examples include the complete switch to RSAs, the push for Performance Max, and for instance dynamic asset creation with Google automatically adding images from your landing page as an ad extension.

In 2023, Google is going to continue on this road with more automations coming our way, and less strict targeting capabilities for us. The reason Google is doing this is it wants to see more advertisers competing for inventory that is more “up in the funnel.” 

Traditionally, Google Ads advertisers have been competing for high-intent clicks in the bottom of the funnel; clicks from the search result page for keywords with high intent.

Most advertisers were reluctant to spend significant budget more up in the funnel because more up in the funnel it is much more difficult to discriminate between clicks that convert and those that do not. If we were to do so, the short term returns would be much lower and that kept us from expanding the Google budget.

Now, Google is training its AI to learn what upper funnel clicks will convert, and thus allow many advertisers to start spending budget on inventory that it couldn’t monetize in the past. 

I think that’s the main reason for Google to move to more automation in 2023 and less control for us — because it allows the Google AI to learn what works and what doesn’t. For many advertisers, this is a good thing… after _a while_ the machine has learned to discriminate between clicks with high probability to convert and clicks with low conversion probability.

However, machine learning goes by trial and error. And Google is making the advertiser pay for the errors. This is where the role of us PPC experts comes into play, and this role is only going to be more important in 2023.

I think savvy advertisers will increase automations, and layer them on top of Google’s AI to make sure the AI stays within the boundaries of what we as advertisers accept. Concrete examples of this would include: 

– proactively negating search terms and excluding display placements before they’ve accrued a lot of unnecessary ad spend
– using scripts to regain control over the exploration versus exploitation balance that dictates the speed of learning and the fee we are willing to pay for the algorithms to learn
– using scripts to alert us if Google is making any unwanted automated changes in our account (remember the move to DDA in 2022?)

These examples are especially relevant with respect to the upcoming recession, because it allows PPC professionals to weather the storm by regaining some control and rebalance short term profitability over long term growth.

Here’s a link to the podcast episode, with my segment starting at 01:16:40 (initially in Spanish): https://ppccast.com/podcast/126-repasamos-2022-y-pensamos-en-2023-con-la-comunidad/

Want more thoughts on 2023? Let me know.

– Nils

Welcome, 2023

Happy New Year!

I hope you had a great 2022 and are excited for an even better 2023  🙂

Thanks for welcoming me into your inbox every day — I sincerely appreciate it.

This year, we celebrated New Year’s Eve at the famous “pontjesbrug” in Curaçao.

It’s a great place to meet a lot of interesting people.

A fellow entrepreneur in the digital marketing space asked me a question.

Him: “Got any resolutions for the new year?” 
Me: “Yep.”
Me: “To buy 23% less clicks for my clients.” 

Cheers to a year of improved returns!

– Nils

people don’t generally buy what they click

Here’s a fact: over 40% of people don’t buy what (shopping ad) they click.

Don’t believe me? As per retail guru Andreas Reiffen’s research: “only 34 percent (of conversions) bought the product that was clicked.” (More info at: https://searchengineland.com/can-manage-inventory-google-shopping-247541)

Here’s a quick way to see similar data for yourself in your Analytics data:

Step 1: Go to Conversions > Ecommerce > Product Performance
Step 2: Add Secondary dimension ‘Campaign’
Step 3: Add filter to only show a shopping campaign that targets a specific (set of) product(s)
Step 4: Have a look at the products that are actually bought after the click

(You can click the image to enlarge it)

In most of my Ecommerce accounts, a huge chunk of the products sold are products that are not targeted in the filtered campaigns.

You can use this Analytics view to see what products are bought via your PMax campaigns as well. Just filter on your PMax campaign.

Go ahead, it only takes 5 minutes.

So, what products does your audience buy after they click your product listing ad?

What do you think this report tells you about ROAS targets?

– Nils

[Performance Max] Script to delete automatically-created YouTube videos

I’m not really sure what to think of this script, so I’m curious to learn your thoughts.

Background: When you don’t provide your own video in a PMax Asset Group, Google will automatically create one for you. This allows Google to show ads on YouTube for your PMax campaigns.

Problem: These auto-generated videos are mostly of soul-destroying quality and/or generate clicks with little value. Also, some of us don’t want to run ads on YouTube at all. Unfortunately, PMax does not currently provide a way to opt-out of video ads.

Solution: Last week, long-time list member and Google Ads Scripts fan Lyubomir Popov shared a script for removing auto-generated videos from your PMax campaigns.

Here’s the link: https://docs.google.com/document/d/11EnTsOHNlctimmD5HUPiFBr-2GOzlvBwiWD-5xVAtiM/view

The script basically checks for automatically-created YouTube videos and removes them. That’s it. 

Is it really that easy, though? Won’t Google simply regenerate new ones after you’ve deleted them?

I like the idea behind the script because it is a great example of how we can leverage the power of scripts to regain some control in the era of automation. At the same time, I am not sure this is the best way we could be fighting the machine.

What are your thoughts on this? I’d love to learn about them, and you can share them with me via email at nils@nilsrooijmans.com.

– Nils

A quick and easy way to test your GAQL queries

Here’s a scenario you might recognize. Google Ads script in the old script environment: works like a charm. Same script in the new environment: throwing errors all over the place, and/or simply timing out.

In these cases, there’s a big chance the issue is caused by some old AWQL queries that need to be migrated to the new GAQL format.

Migrating these queries takes some trial and error, and testing GAQL queries from within your code might just feel too cumbersome.

If you recognize what I am talking about, you might want to check out this (free) tool by our PPC friends at TrueClicks: https://gaql.app/

The tool allows you to perform GAQL queries on live Google Ads accounts that you have access to. Within seconds, you’ll see a table with the results of your query, which you can also export as an Excel file.

NOTE: The tool does require access to your account data.

Happy querying!

– Nils

annual reminder

Remember that agency/freelancer who did an audit on your account a year ago? 

That person just might still be able to access your data.

Annual reminder: Go check on all the people who have access to your Google Ads account(s)!

Here’s your how-to guide:
https://support.google.com/google-ads/answer/6372672?hl=en#:~:text=Sign%20in%20to%20your%20Google,then%20enter%20their%20email%20address

PRO TIP: Schedule this task as as a yearly “Custom recurrence” event in your calendar.

– Nils