Google just updated the best script I’ve ever used

“What is the best Google Ads Script you have ever used?”

Ugh… if only I got a penny every time someone asks 😉

Although I have many, many favorite scripts in my arsenal and they are all very useful, there is one single clear winner for me. 

It is the script I install the first day when taking over a new account. It is also a great way to finally get started using Google Ads Scripts.

I’m talking about a script that automatically alerts me if any of my landers are broken: the Broken Link Checker script, published by our friends at Google.

If you want to read more about what makes this script my favorite, go here: https://nilsrooijmans.com/the-best-adwords-script-i-have-ever-used/

This note is just to update you about the fact that Google has updated the script to be more efficient, especially with sitelinks.

So, stop wasting ad spend on clicks that go nowhere!

Go copy-paste and install the script. It only takes 5 mins.

– Nils

Questioning recommendations (Part 2)

Yesterday, I ranted about Google Recommendations. (A copy of it is provided below for your convenience.)

I also asked my subscribers to think about what happened and why. The response has been crazy (thanks for your enthusiasm!). Many of you wanted to know the details, so with your permission, today, the rant continues.

Here we go.

The new client is leadgen for SaaS business.

Sort of Salesforce, but different (and much smaller).

Let’s say the brand name is PowerDeals. (In reality, it’s a hard-to-remember, impossible-to-spell, crazy-web2.0-startuppish name that doesn’t have any meaning whatsoever.)

Now, in the before situation, my client had a brand campaign with a few exact match keywords on manual bidding.

Think:
[powerdeals], CPC bid: 1
[power deals], CPC bid: 1
[powerdealz], CPC bid: 1

Then, the friendly Google Rep came along with his wisdom straight from the big G Oracle’s mouth.

After implementing the Google recommendation, my client had a brand campaign with broad keywords on smart bidding (target impression share).

Here’s _what_ happened:

Ad spend for the brand campaign tripled, cost per lead increased 80%. Ad spend for the total account increased by roughly 10%.

And the worst part? The overall number of leads in the CRM system didn’t increase _at all_.

Here’s _why_ that happened: 

The combination of broad match and smart bidding opened up the campaign to a whole bunch of user queries that were either:
A. completely irrelevant for lead generation (thus low conversion rates),
B. very competitive (thus high CPCs), or
C: already generating most potential clicks via organic listings (most important)

This is best illustrated with some examples from new search terms in the SQR:
1) powerdeals login, avg CPC: 1.03
2) powerdeals support, avg CPC: 1.68
3) powerdeals crm demo, avg CPC: 12.62

Number 1 and 2 explain why the cost went up, but number of conversions did not. These types of queries generally do not generate new leads. 

Number 3 explains why the avg CPC of the campaign, and the cost, went through the roof. The auction for this user query is probably bursting at the seams, with competitors bidding like crazy for the “crm demo” keyword. But hey, we told the smart bidding to target a 100% impressions share, right?

The broad match keyword combined with high CPC bid from the target impression share bidding made this new brand campaign eligible to show ads for “powerdeals crm demo”, whereas before the old brand campaign could not.

NOTE: Before implementing Google’s suggestion, people would click on organic search listings, not on the paid ads. Our client wasn’t paying for this kind of traffic (very warm clicks with high conversion rates).

(To be fair, there were competitors showing ads where my client was not, but since the user explicitly searches for a CRM demo _from PowerDeals_ my guess is that they’re relatively likely to scroll down and click on the organic link.)

So, I think it is worth repeating:

Always question each and every recommendation a Google Rep or the Google algorithm makes before you apply.

When in doubt, follow the ABT mantra:

    Always
    Be
    Testing

– Nils

PS: For those of you who missed it, here was part 1: https://nilsrooijmans.com/daily/questioning-recommendations

Questioning recommendations (Part 1)

True story: One of my coaching clients was running a nicely separated brand campaign. Exact match keywords for the brand name and some popular typos. Manual CPC bidding.

Then, a Google Rep came along.

“Hey, why don’t we switch to broad match and automated bidding to increase leads and make sure no competitor will outrank you?”

“Sure, that sounds great!”

And so it went. 

The carefully-selected brand keywords all switched to broad match, and bidding switched to “Target impressions share” (without Bid Limit!).

The result?

Ad spend for the brand campaign tripled, cost per lead increased 80%. Ad spend for the total account increased by roughly 10%.

And the worst part? The overall number of leads in the CRM system didn’t increase _at all_.

Remember: It’s Google’s job to make money for its shareholders. It’s your job to make money for your client.

Always, ALWAYS, question each and every recommendation a Google Rep or the Google algorithm makes before you apply.

– Nils

Google just announced one of the most significant changes in a long time

ICYMI: Google is changing from their last non-direct click import from GA4 to Google Ads to full cross-channel conversion credit import.

This is HUGE if you are using Analytics imported conversions as your primary conversions in Google Ads.

Here’s the announcement:

Here’s a great explanation and discussion on LinkedIn, posted by Frederik Boysen:

“Let’s start by mapping out a typical buying journey:

On Day 1, a customer makes a Google Shopping search, clicks to shop and sees the product, but does not buy. On Day 3, the customer clicks on a Facebook retargeting ad and makes a purchase.

Google Analytics 4 last non-direct click import (before):

As Google Analytics used a last non-direct click attribution model, Facebook was credited with 100% of the conversion value in this journey, since it was the last click before conversion. When importing conversions from Google Analytics into Google Ads, this conversion would not appear inside Google Ads as it wasn’t the “last non-direct click” in Google Analytics.

Google Analytics 4 full cross-channel conversion credit import (soon to be released):

With this upgrade, full cross-channel conversion credit will now be imported into Google Ads (even if the last non-direct click was not Google advertising). This means that now Google ads can get a fraction of the value and conversion attributed in Google ads – let’s say you are using a linear model – Google will get 0.5 conversion and 50% of the conversion value for this journey.

It is hard to gauge the exact impact until we see how it is implemented in action; however, I believe the new funnel cross-channel import is invaluable for reporting, and will give you a more accurate representation of conversion value when it includes the impact of other channels. It will also make it possible to identify huge gaps in the values tracked by Google Ads vs GA4 cross-channel credit product/ads, and adjust bids/changes accordingly.

That being said, GA4 tracking still has its flaws compared to Google Ads tracking;

Here are some differences:

GA4: Does not track view-troughs for networks like display or Youtube while Google ads tracking can.

GA4 does not have built in cross device identification, so you need user IDs, while Google ads tracking use logged-in user data to identify users a cross device and also have Enhanced Conversion to track and identified users across device with hashed first-party data.

GA4 is unable to provide full server-side tracking unless a script fires, while Google Ads offers complete server-side tracking with offline conversions click import which bypasses ad blockers and is collected on the server level.

These factors play an integral role in optimizing performance as they determine what data is received by bidding algorithms used by Google ads – This means that Google Ads tracking will still my preferred choice for bidding (Primary). But GA4 import will properly be my preferred choice for reporting.

Link to original post: https://www.linkedin.com/posts/frederik-boysen-607ab444_ppcchat-googleads-activity-7044033395730837504-SBqg

– Nils

Is it time to negotiate your raise in 2023, or start looking for a new job?

Last month, I sent out an email requesting my newsletter subscribers to participate in this year’s PPC Salary Survey.

If you participated in the survey, on behalf of Duane (the driving force behind the initiative) and myself: a big Thank You!

Data like this gives us PPC peepz some bargaining power!

You can (re)negotiate salary for your current or new role at your employer, or use it in negotiations with a new employer.

Today Duane shared the results. Here you go:

PPC Salary Survey 2023 Final Report: https://www.reddit.com/r/PPC/comments/11xi72k/ppc_salary_survey_2023_final_report/

– Nils

A hidden gem in Google’s ad assets

Promotion assets are great for highlighting your time-limited offer. They increase visibility and CTR.

Here’s a hidden gem that I don’t see used very often: you can use the promotion asset even when you don’t have a specific time-limited sale or promotion event in progress!

(You can click the image to enlarge it)

Simply create a permanent promotion asset by following these steps:

1. Create a promotion extension 
2. Select ‘none’ for the occasion
3. Create the extension

Your newly-created asset will be added to your ad.

More visibility, more clicks!

Go ahead and create one right now, it only takes 5 mins.

– Nils

PS: If you are interested in the discount for my next Google Ads Scripting Workshop, here’s your link: https://nilsrooijmans.com/google-ads-scripting-workshop-for-beginners/

Optimized titles in Shopping Ads

Did you know?

Google may decide to “optimize” your title in your product feed:

To provide an optimal user experience, Google may promote key product attributes in the front of your title to best match your offer to a customer’s search.

For titles that use the product’s brand name as the first word in the title, other product attributes will be added after the brand name. 

Separators such as dash (“-“) may be added for readability.

Here are some examples:

1. A king size mattress
– Search query: “King size mattress”
– Merchant-provided title*: “Memory foam medium firm mattress king…”
– Dynamic title: “King – Memory foam medium firm…”

2. A king size memory foam mattress from brand XYZ
– Search query: “XYZ King Memory foam mattress”
– Merchant-provided title*: “Memory foam medium firm mattress king…”
– Dynamic title: “XYZ – King – memory foam king size…”

*The merchant-provided title is the value that you submit for a product using the title [title] attribute. In cases where the title provided is already the best fit to a customer’s search query, no changes will be made.

SOURCE:
https://support.google.com/merchants/answer/6324415?hl=en#zippy=%2Coptimized-titles

– Nils

GA4 imported conversions in Google Ads will solely use GA4 conversion windows

FYI: Google is removing the ability to have independently configured conversion windows in GA4 and Google Ads. 

After March 31, GA4 imported conversions in Google Ads will solely use the GA4 settings.

GA4 allows you to select 30, 60, or 90-day conversion windows.

Google Ads did offer more flexibility in letting you pick any length you wanted, from 1 to 90 days. 

If you’ve used this feature, it’s time to rethink some.

– Nils

NB: Although this message is about imported conversions, I always recommend to use Google Ads conversion tracking instead of importing conversions through Analytics. 

[Performance Max] PMax is super easy, follow these 3 steps to skyrocket revenue and profits

Performance Max is super easy.

Do these 3 things and your revenue and profits will skyrocket:

  1. Implement gtag.js on your site
  2. Add Google Ads conversion tracking code
  3. Set up dynamic remarketing 
  4. Make sure the product id matched your feed id
  5. Include hashed email
  6. Add the new_customer parameter to your tag
  7. Customize ad_personalization_signals to comply with regulations
  8. Enable consent mode modeling
  9. Enable enhanced conversion tracking
  10. Set attribution to data-driven
  11. Make sure to have GA4 implemented and linked to your account
  12. Create Performance Max segment in GA4
  13. For lead gen: use UTM parameters at the asset group level so that (in your CRM) you can track the quality of the leads for individual asset groups
  14. For lead gen: track lead quality and automatically send value updates to Google
  15. Disable Auto-applied recommendations
  16. Connect merchant center
  17. Optimize product feed 
  18. Add a short title in the product feed so that it will show in Discovery and Gmail ads
  19. Label products based on product margins
  20. Decide on campaign structure
  21. Make sure standard search campaigns are set up and working properly
  22. Make sure standard campaigns generate >30 conversions per month
  23. Create performance max campaigns
  24. Decide on realistic additional value for new customers
  25. Set advanced location targeting to ‘Presence: People in or regularly in your targeted locations’
  26. Create ad schedule
  27. Create assets groups
  28. Create headlines
  29. Create long headlines
  30. Create descriptions
  31. Create (lifestyle) images
  32. Create attention-grabbing videos
  33. Add call to action
  34. Add display path
  35. Add extensions
  36. Create a customer-match audience of existing customers
  37. Create a custom segment audience of converting search terms
  38. Test both ‘People with any of these interests or purchase intentions’ and ‘People who searched for any of these terms on Google’
  39. Create an in-market audience segment
  40. Test if you should disable url expansions
  41. Add a dedicated (dynamic) remarketing campaign next to PMax
  42. Make sure website is mobile-friendly
  43. Make sure landing page loads within 3 secs
  44. Make sure landing page includes social proof
  45. Make sure forms and/or checkouts work 100%
  46. Make sure your feed is updated frequently (more than default once per day)
  47. Exclude mobile app categories
  48. Exclude content keywords
  49. Exclude sensitive content
  50. Exclude parked domains
  51. Exclude YouTube live streams
  52. Add url exclusions
  53. Exclude brand from campaign
  54. Add account-wide negatives
  55. Ask Google rep to add a negative keyword list to the campaign
  56. Choose bidding strategy
  57. Determine target for bidding strategy
  58. Apply seasonality adjustment for short sales promotions
  59. Make sure no assets or extensions get disapproved
  60. Make sure no top-selling products are disapproved 
  61. Make sure no top-selling products are out of stock
  62. Make sure prices remain competitive
  63. Make sure shipping cost and delivery times remain competitive
  64. Prevent extremely negative reviews 
  65. For lead gen: prevent lead fraud by implementing lead fraud prevention tactics in your forms
  66. Monitor campaign insights like a hawk
  67. Monitor PMax networks’ performance via Mike Rhodes script
  68. Monitor user location report
  69. Monitor ‘new vs returning visitors’ segment
  70. Monitor new customers reporting column
  71. Add negative keywords
  72. Exclude placements 
  73. Exclude low-performing products
  74. Exclude low-performing user locations
  75. Replace zero-click products to new campaigns
  76. Create new campaign for the product that spends >50% of budget
  77. Monitor audience insights
  78. Create new asset groups for best-performing audiences
  79. Monitor ‘suggested trends’
  80. Create new asset groups for relevant trends
  81. Check for cannibalization in GA4
  82. Gradually increase/decrease bidding targets
  83. Gradually increase/decrease budgets
  84. Improve poor assets
  85. Spend at least 3 times your avg CPA and over $100 per day
  86. Wait & pray 

What other 3 things did I forget?

– Nils

“How come when I google my keywords, I never see my ads?”

“How come when I google my keywords, I never see my ads?”

This is probably the most irritating question a client can ask you.

I got this question today.

Usually, my response is to explain to the client all the nuances that come with campaign settings, budgets, audience targeting, smart bidding, etc.

But, to be honest, my answers take forever and never really seem to satisfy my clients’ need. So, I decided to turn to our PPC friends on Reddit and see what they’ve come up with.

Here are some interesting responses:

  1. “I’ve blocked your network IPs from showing your ads so you don’t end up paying for internal searches”
  2. “I’ve set the optimization to maximize conversions, so unless Google’s AI thinks you’re about to do business with yourself, it won’t show you the ads.”
  3. “Unless you have an unlimited budget and perfect ad rank you’re not gonna show on 100% of searches”

Number 2 is killing it for me.

Curious to learn: how do you respond to this question?

– Nils

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.