What a Script Should Really Do

As you manage PPC accounts, you need automation.

For instance, measuring conversions requires something like Analytics and/or a tracking script on your thank you page.

Great Google Ads scripts do one of two things:

1) They automate something that is nearly impossible for any human to do

GOOD IDEA: Create a script to check for redirects in all of your campaigns every day (impossible to do manually when the number of landers exceeds double digits)

BAD IDEA: Create a script to disable the “auto-applied ad suggestions by Google” (you should disable this horrible feature, but this is a one-time action that can easily be done manually)

2) Or, they relieve you from a time-consuming or ridiculously mundane repetitive task

GOOD IDEA: Create a script to automatically calculate and set bid adjustments

BAD IDEA: Create a script to update price extensions if you only have a few product price changes every year

Scale beyond what is humanly possible, or drastically reduce your workload. 

That’s what a script should do for you, really.

– Nils

​Should you use Broad Match?

Should you use Broad Match?

That depends…

What’s your goal?

If you are trying to grow your account, your current campaigns aren’t limited by budget, and you are meeting your CPA/ROAS performance targets, then yes, you should.

But if you are still struggling to make a good ROI, then no, you shouldn’t.

Here’s the thing: Broad Match is great for Exploration, not so much for Exploitation.

This goes for both you and the Smart Bidding algorithms.

Embrace with care.

– Nils

Are you running your Shopping campaign on tROAS?

Are you running your Shopping campaign on tROAS?

If so, my latest rather surprising (or maybe not) experience might be of interest to you.

Last week, roughly 35% of the products of one of my clients went out of stock. I wish I could say that was because of me, claim victory, and pop another Veuve Clicquot. Unfortunately, it was a supply-side issue that caused the dramatic decrease in inventory.

Since the Shopping campaigns were still early in the game (we started tROAS bidding 4 weeks ago) and the ROAS targets have yet to be met, the campaigns are running on a fixed budget. And then suddenly, the smart AI had one-third of the products missing.

Now make a guess: what happened?

I won’t keep you waiting: CPCs increased by 40%. ROAS tanked.

Why?

Well, “out of stock” items won’t show up in your Shopping ads. But we told Google they are allowed to spend the daily budget right? So, it will.

If you have a lot of products that are out of stock, Google will increase bids on the remaining items to spend the budget. In our case, ignoring the fact that the ROAS target had not been met.

Lesson learned: don’t trust the Google AI to be able to handle dramatic increases in the number of out-of-stock items in your Shopping campaigns.

And, you best believe this little script kiddie here is going to make sure the next time this happens, he will be alerted in time.

Expect a script soon for alerting you of dramatic increases in the number of out-of-stock items in your Shopping campaigns!

– Nils

Updated List with over 400 Google Ads Scripts

Are you always looking for new opportunities to spend less time managing your accounts?

Do you want to improve your account performance without the endless clicks in the GAds interface, Excel, and the Editor?

Google Ads Scripts are great for that!

That’s why I’ve spent countless hours searching the web for loads of free Google Ads automation scripts that are out there.

Yesterday, I shared my UPDATED Google Ads Scripts Library, now with over 400 free PPC scripts and examples so you can reap the same benefits I enjoy every day.

You should have received an email with a link to the Google Sheet (check your inbox for ‘Ultimate Google Ads Scripts Collection’).

If you haven’t received the email or haven’t signed up already, here’s the link: https://nilsrooijmans.com/free-google-ads-scripts-the-ultimate-list/

Sharing is Caring: if you enjoy this list, please consider forwarding this email to one, two, or maybe even three other PPC practitioners in your network.

Thanks a ton!

– Nils

Heatmaps, Da Vinci, and anomalies

Heatmaps are the bomb.

They immediately point your attention to anomalies in your data when looking at large data tables.

Google Analytics and Google Ads present your data in tables but unfortunately don’t offer a heat-mapped view.

This is where our friends from Supermetrics come into play. They created this nice Chrome extension to easily create the heatmap for you:

Here’s the link:
https://chrome.google.com/webstore/detail/da-vinci-tools/pekljbkpgnpphbkgjbfgiiclemodfpen

– Nils

PS: If you’re a big fan of heatmaps as well, have a look at this script from Brainlabs –> https://www.brainlabsdigital.com/marketing-library/heat-maps-script/

5 Tips for a Knockout “Testimonial Ad”

Do testimonials work? I know they do because I owe my business to one.

Picture a nervous 21-year-old software nerd, sweating like a pig in his worn-out Star Wars t-shirt, and desperately trying to pitch his skills to a Fortune 500 VP of marketing on the way to a formal marketing event. 

The stammering wannabe entrepreneur, of course, is me. The odds were long, and in fact, it’s fair to say I didn’t know anything about sales, let alone how to sell my big idea.

Just walking up to the VP was a gut-wrenching flashback to the job interview from only a year before.

Somehow I did manage to deliver my pitch, but only through the magic of the testimonial.

Instead of the direct approach, I asked a good colleague to prepare the way with a lavish dose of my extremely unique skills. Luckily, this colleague ignored me and instead presented a more humble and accurate picture. This way more true-to-life testimonial surprisingly clinched the sale.

What does this tell us, other than the obvious reflection of my wantrepreneur pitching prowess?

Testimonials work!

  • They work because they’re convincing.
  • They convey trust.
  • They can provide the much-needed social proof that tips a wavering prospect into a paying customer.

Here are my five tips for making the best use of testimonials in your ad copy:

  1. Research; go read tens of the most positive reviews on Trustpilot, Amazon, etc.
  2. Pick two or three vivid sentences that best describe the benefit the happy customer enjoyed (bonus if it also addresses an objection)
  3. Use specifics when available; rather than “I saw a big improvement,” pick one that states exactly what the improvement was, such as, “My hair grew 10 inches in one week” (uhh, well… that brings me to…)
  4. Don’t over-edit and never fake it. Testimonials work best when they are in “real” language. Those small grammar and language quirks help the reader connect and demonstrate they are real.
  5. Add it to your mix of descriptions in the ad copy and start testing.

– Nils

PS: One of the best ways to get GREAT testimonials is to simply ask. So, here’s my question:

I was wondering if you could share with me some stories of how my work has been helpful to you so far. Hearing about your wins inspires me to keep writing these resources because it feels fulfilling to know that they have a positive impact.

So, if I may ask: has my work been helpful to your GAds account, or career so far? If so, how?

The client is always right, but only half the time

The client is always right about what they want.

(For example: “I want to be the biggest player in horse-shaped jewellery.”)

They are rarely right about what they ask you to do.

(“Put me on top of Google for the keyword ‘jewellery’ and put banners on all gift-related websites.”)

Your job in managing the Google Ads is to reverse engineer what they really want from what they initially asked you to do.

– Nils

Want to Automatically Cut Wasted Ad Spend from your GAds Account?

Today is my birthday AND it’s been over two months since you last heard from me. That’s why today, I am treating AND giving you an update on what’s going on on my end.

1. The Treat

The treat is one of my favorite homebrew scripts: Negate low-performance search terms.

This script monitors your search term data and automatically creates negative keywords for search terms that had over X clicks and little to no conversions. Negatives are added at the ad group level. If new negatives are added, the negatives are reported via email. The email contains a link to the Google Doc spreadsheet documenting an archive of all the negatives that have been added.

Instructions for the script are in the comments at the top of the source code.

Here’s the link:
https://nilsrooijmans.com/negate-low-performing-search-terms.txt

Now, if this script does not get you to play Stevie’s-greatest-ever (thank you, thank you), I hope this update will:

2. The Update

In the last months, I’ve been working on something I’ve been planning to do for a looong time: offer a workshop to help you create your very own script yourself. And finally… the “Google Ads Scripts for Beginners” workshop is ready! If you want to be on the list for early bird access, hit reply.

Next to finishing the workshop, I also have an update ready for my “Ultimate List with FREE GAds Scripts.” The list grew from 250 to over 400 scripts! If you signed up for the list, the update will be delivered to your inbox later this week.

And to finish, you’ll be receiving my daily emails with “tips & tricks to improve your account and productivity,” restarting today.

Thanks for being here, talk soon!

– Nils

How much is a click worth?

“How much is a click worth?”

My immediate reaction to this question is: “Whose click?”

My 70 y/o dad would be happy to take that 40% discount on the bottle of whiskey.

My 8 y/o niece wouldn’t convert for at least the next 10 years.

Here’s the thing: the value of a click is NOT solely a property of the keyword.

It’s a combination of many (targeting) dimensions.

Don’t fall into the trap of relying solely on the keyword. 

If you don’t layer the right audience on top of it, you’re effectively leaving money on the table.

Yours,

– Nils

Google Rep logic

It’s Friday afternoon.

Google Rep picks up the phone and throws a dice:

1. “push Smart Bidding”
2. “push Data-Driven Attribution”
3. “push Broad keywords”
4. “push Dynamic Ads”
5. “suggest to increase budget” 
6. …

What’s 6 on your dice?

– Nils

[Google Ads Script] Search Query Illuminator

It’s September 2020.

The earth shattered.

People from all over the world muttered furiously under their breath.

The word was out:

“We are updating the search terms report to only include terms that were searched by a significant number of users. As a result you may see fewer terms in your report going forward”

Signed, your anonymous friends at Google

Another monumental garbage move by the almighty less-do-no-evil-getting big G. 

But hey, what can we do? Not much… except maybe promote Bing some more?

What we can do, however, is monitor the size and impact of this change.

Our friends at smec created a nice little free script to do just that (sign-up required):

The Search Query Illuminator

Here’s what the script will do: the script generates a Google Sheet reporting the percentage of Clicks, Impressions, Cost, and Conversions from unknown search terms, for periods before and after the change.

And here’s what that looks like in one of my accounts:

(I am seeing sort of the same pattern in most of my accounts.)

How has the search term data change impacted your accounts? 

Hit reply — I read every one of them.

– Nils

make sure to avoid this disingenuous (default) setting

A fellow list member asked me this question today:

“How do you run search and display in one campaign?”

Here’s my response:

“It’s called “Display Expansion” for search ads.

See details: https://support.google.com/google-ads/answer/7193800?hl=en

I highly recommend to NOT use this because it will make analyzing performance much harder and the performance of the Display part almost always sucks (pardon my language).”

The reason the Display part of this campaign type shows horrible results is hidden in this one sentence in the Google documentation:

“Search campaigns that have spare search budgets and are opted into display expansion” 

Sure, you might reach a lot of extra people by adding Display to the mix, but they most likely won’t be the right people.

Search ads and Display ads almost always require a different strategy, different targeting, different messaging, different creatives, different budgets, etc. 

Avoid “Display Expansion” like COVID. It is designed to make Google money, not you. Choose ‘Search Network only’ to start.

– Nils

tell me one essential DO and one essential DON’T of Google Ads

My DO: Use Google Ads Scripts (sorry, no surprise here I guess). Google Ads scripts are free, make your mouth curl into a pleasant awe-struck smile every time you run one, and do not require any coding skills to get started.

My DON’T: Run Display and Search in the same campaign. You’d be surprised how many SMB advertisers have this enabled.

Please share yours, I read every one.

– Nils

PS: Bonus -> don’t forget to check your ad group level “Targeting expansion” setting in Display when submitting campaigns via Editor. I’ve seen weird changes in my settings because of doing this.

do you know your conversion tracking compatibility rate?

This morning, my heart ached. I was crushed and I could hardly breathe. My lungs burned as I tried desperately to cry and breathe normally.

Why?

I noticed a landing page with a CTCR of less than 70%.

The absolute horror.

GCLIDs were dropped from my URLs. 

30% of the clicks could not be tracked for conversions.

And this had probably been going on for over 3 months!

Even worse, some campaigns were running on Smart Bidding.

Not only had I been underreporting the results of my efforts for 3 months, the Smart Bidding AI had probably been downscaling the actual results for 3 months as well.

All this for no good reason, other than a bug in our conversion tracking setup.

If I had fed the machine the real conversion value of the clicks, it would probably have generated a lot more clicks and conversions.

Don’t be like me. Please check your CTCR.

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

– Nils

PS: Want to prevent the number 1 cause of GCLIDs being dropped? Fix your Final URLs that have redirects.

Ad Copy Testing impossible in Smart Bidding Campaigns?

Fellow list member Yosef Javed wrote in to ask a question about Ad Copy Testing with Smart Bidding (shared with permission):

I have smart bidding activated on my account across all campaigns but running into an issue with A/B testing.

It looks like I have no control with ad rotation and ads aren’t evenly distributed for an experiment. 

I was trying to find a way to A/B test the ad copy in smart bidding to get rid of the bias, but no luck. 

If you’ve dealt with this issue before, how did you overcome the issue of ads not being evenly distributed for campaigns with smart bidding activated?

Here’s what I wrote back:

thanks for your email, and that is a great question.

For campaigns using smart bidding strategies (including Enhanced CPC), ad rotation will always be set to “Optimize”, regardless of how you set their ad rotation settings in campaign settings.

Note: Google might not even show you they use the “Optimize” setting. They just do.

The best way to do ad testing in Smart Bidding campaigns is to use Ad Variations.

See details: https://support.google.com/google-ads/answer/7439892?hl=en

There’s a bigger lesson here: when running on Smart Bidding, you might lose controls that you aren’t aware of.

An example that still surprises me is the “Smart Pricing” algorithm on the Search Partner Network.

Ready to be surprised? Read this: https://nilsrooijmans.com/google-ads-script-search-partner-alerts/

– Nils

They killed BMM. What can we do? (Part 2)

Yesterday, we touched on the latest change by Google: the sunsetting of Broad Modified Match and expanding of Phrase Match.

Here’s a link to Google’s FAQ explaining the change: https://support.google.com/google-ads/answer/10286719#FAQs&zippy=%2Cwhats-happening-to-bmm%2Cwhat-can-i-expect-to-see-with-my-phrase-and-bmm-traffic

A lot of the folks in our industry saw this as another money grab by the big G. Another move that only benefits Google’s profits, not the advertisers.

We’ll have to see. Google moves in mysterious ways and the matching algorithms are a black box. The proof of the pudding is in the eating.

So, the best advice I can give you today is to keep a close eye on what is happening in your phrase and broad modified keywords.

In the meantime, these are some considerations to prepare your account for the change:

If you run the same keywords in separate ad groups for phrase match and broad modified, and have negative keywords that are unique to your BMM ad group, you might want to copy them to your phrase match ad group.

If you are using broad modified keywords that do not have a ‘+’ sign in front of every term in the keyword (e.g., ‘+blue skirts’) you might want to add new purely broad keywords (e.g., ‘blue skirt’) to keep showing for queries like ‘blue dress’.

If the order of words in the user query really matters (e.g., “train from Amsterdam to Eindhoven”) you might want to add negative keywords preventing matching user queries with the wrong order.

For your phrase keywords, it’s likely that you will see an increase in the number of search terms being matched, so keep a close eye on your SQRs. Use n-grams to discover patterns in the newly-matched search terms, and negate bad performers. Here’s a script to help you with that: https://searchengineland.com/brainlabs-script-find-best-worst-search-queries-using-n-grams-228379

Also, because of phrase match being extended, user queries that only match to one keyword might match to multiple keywords in the future. This causes “duplicate search terms,” which makes managing the account structure and keyword bids a bit harder. Prevent duplicate search terms by using this script: https://adsscripts.com/scripts/google-ads-scripts/duplicate-query-checker-across-accounts

Note: If you choose to convert your BMM keywords to phrase match, the BMM keywords’ performance statistics will not carry over to the new phrase instances of the keywords. So, I would leave your BMM keywords as they are if you do not need to change them.

In the end, the ones who are prepared will benefit the most.

How are you preparing yourself? I would love to learn.

– Nils

PS: In case you missed it, here’s a link to Part 1 –> https://nilsrooijmans.com/daily/they-killed-bmm-what-can-we-do

They killed BMM! What can we do?

This morning, my inbox was flooded with some interesting poetry:

“I am starting to get seriously pissed off with Google doing all this match type muddling non-sense.”

“Sick to the stomach of those greedy sons of B-es hiding search terms and needlessly messing up term matching just to push more people into their overspending AI black box.” 

“F#$k, I now need to restructure my whole damn EXACT+BMM account.”

“Please tell me they are joking. Not again this SHIT!”

“Google does ‘no evil’ again. Limiting our ability to fine-tune results and actually make money for our clients. F#$k you Google!”

I am pretty sure you already know the reason for this volcanic eruption of refined complaints; Google is sunsetting Broad Modified Match and expanding Phrase match. (Source: https://support.google.com/google-ads/answer/10346549)

What can we do about this?

Not much.

Google has no real competitors when it comes to search advertising. 

Monopolies can and mostly will do whatever they please, whatever is best for them.

You can expect Google to keep making cash-grabbing changes to their platform as long as they need to show revenue and profit growth.

We can blame Google, we can blame the system. It’s not going to change a damn thing.

We need to embrace the change and work with what we’ve got.

Is there really nothing we can do to mitigate the impact of this change?

Stay tuned for tomorrow, when I will share some of my thoughts on how to flow with this new go. (Spoiler: it’s not all that bad.)

Meanwhile, you can:

  • Use and promote “less evil” (haha!) competitors like Duck Duck Go and Bing.
  • Call upon Apple to finally release their own search engine.
  • Pray the automation overlord will respect its promise to “respect word order when it’s important to the meaning.” 

– Nils