– Nils
Author: Nils Rooijmans
[Performance Max] Support in Google Ads Scripts
Some great news came out today: Performance Max campaigns are now finally (partly) supported in Google Ads Scripts!
Here’s Google’s announcement, including some links to more details: https://ads-developers.googleblog.com/2022/09/performance-max-support-in-google-ads.html
Here are some initial “script-automated optimizations for PMax” that came to my mind:
- Automatically exclude locations that don’t work
- Automatically pause PMax campaigns when they hit your daily/weekly/monthly budget target
- Automatically pause underperforming assets/asset groups
- Automate the stair-step approach to scale PMax performance
These are the first few ideas that came up for me based on what’s possible according to the documentation.
– Nils
PS: I’m curious, what PMax-related task(s) would you like to automate? You can email me about them at nils@nilsrooijmans.com.
Google’s policy is always changing… here’s the latest
ICYMI: Google Ads is implementing a new policy for the landing pages of your ads. This new policy requires landing pages to meet the “better ads standards” as the Coalition For Better Ads laid out.
Here’s the thing: If an ad leads to a page that doesn’t comply with the better ad standards, Google will disapprove the ad.
Google will begin enforcing the policy update in October 2022.
“In October 2022, the Destination requirements policy will be updated to include a new policy requiring ad experiences on destinations to conform to the Coalition for Better Ads’ Better Ads Standards.
Destinations containing ad experiences that do not conform to the Better Ads Standards will be informed via the Ad Experience Report, and any ads that lead to such destinations will be disapproved.”
SOURCE: https://support.google.com/adspolicy/answer/12406603?hl=en
Note that newsletter pop-ups, or any other pop-ups for that matter, might cause your lander to not meet the “better ads standards.” Here’s a good rule of thumb — if an ad on your landing page interrupts a visitor’s browsing experience, it’s almost certainly against the better ads standards, and your ads will probably get disapproved.
You can check if your website has pages that don’t meet the “better ads standards” via the ‘Ad Experience Report’ in Google Search Console. See details: https://www.google.com/webmasters/tools/ad-experience-unverified
PRO TIP: Prevent getting surprised (and losing tons of revenue) by implementing this script to immediately alert you of any disapproved ads -> https://nilsrooijmans.com/google-ads-script-disapproved-ads-alerts/
– Nils
firefighters and fire marshals
The problem is NOT that you are too busy.
You will always be too busy, and that will never change.
There will always be Google Reps to shut up, negative keywords to add, 404 pages to fix, mobile app placements to exclude, derailed bidding strategies to correct course, disapproved ads to fix, out of stock items to pause, depleted budgets to hide, clients to report to, and managers to tell to go F themselves.
The problem is that you’re acting like a firefighter instead of a fire marshal. You’re constantly rushing from one fire to the next, never slowing down to install smoke detectors.
The problem is that few fires need to become dangerous, and you’re not taking the time to prevent them from doing so.
Most fires start with an innocent little flame. A flashing spark that brings light and fuels your creativity. But you are not paying attention. And that little flame just gets bigger. And bigger. Until you can show your firefighting skills again, experience the thrill, and feel busy.
Installing smoke detectors may sound boring, and even require some new skills, but it will make you feel less busy.
Don’t get addicted to fighting fires.
– Nils
PS: Looking for some good smoke detectors? Check out the Alert category in my list of 400+ Google Ads Scripts.
how we read
We all love to track conversions, don’t we?
We all love to track conversions, don’t we?
I sure do.
Here’s your PPC Pro tip for today: track your clicks from free product listings in Google Shopping.
Earlier this year, Google enabled auto-tagging for free product listings through Google Merchant Center.
This feature allows for improved tracking of your free clicks from Google Shopping by adding a tracking parameter (‘srsltid’) to your URLs. When enabled, you final URL will look something like this: www.yourwebshop.com/?srsltid=1x2y3z.
In Google Analytics, I use this feature to separate traffic from free product listings from the overall Google organic traffic, and analyse conversion data. Read on to learn how.
NOTE: This feature is not enabled by default. To turn it on, follow these steps:
- In your Merchant Center account, click the gear icon and then click on “Conversion Settings” under “Settings”
- Toggle the Auto-tagging button to be “ON”
And here’s how you view traffic from free listings in Google Analytics:
- For Google Analytics 4 properties, the traffic source is “Shopping free listings”. This makes life easy.
- For Universal Analytics properties, free listing traffic is reported with all other organic traffic sources from Google (with “google” as the traffic source and “organic” as the medium).
This means we have to do some extra work to view the results from this traffic. Follow these steps:
- Navigate to Acquisitions > All Traffic > Source/Medium
- Choose ‘Landing Page’ as your secondary dimension
- Click on the advanced filtering and include landing page containing ‘srsltid’
In the example below, you can see conversions from free shopping listings in the transactions column.
Or, even better, you can create a custom segment with traffic from free shopping listings:
NB: Some websites may break with the tracking parameter. So, first check with your developer if this feature works on your website. Or, check yourself by going to a popular product landing page and appending the tracking parameter to your url: ?srsltid=1x2y3z
Do not enable auto-tagging in Google Merchant Center if you get an error.
– Nils
[Performance Max] TIP: Create a PMax segment in Google Analytics for better reporting
Performance Max campaigns are about as transparent as a window painted over with chalkboard paint.
The Google Ads interface gives us little to nothing when you want to analyze the results from your PMax campaign.
Luckily, we can use Analytics to do some more analysis on the audience PMax attracts and its post-click behavior on our website.
You can create a segment of users for whom the acquisition campaign name contains Performance Max, or whichever naming convention you use (see image 1 below).
Now, you can use this segment (and compare it to other segments) to see how these users are interacting with your website (see images 2 and 3 below).
For example, you can use this new segment on the Landing Page Report to see what landing pages your PMax campaign is sending traffic to, and whether you need to add URL exclusions or turn off URL expansion in PMax.
Or, you can go to the Geo Location report to have a look at the geo-locations from where your audience is originating, and decide whether or not you should exclude some based on the behavior on your website.
Or, compare the Mobile devices your PMax audience is using compared to other users.
Or …
Happy analyzing!
– Nils
(Below are the images, you can click them to enlarge.)
Testing Responsive Search Ads In Display Campaigns
Visiting /r/PPC on Reddit is part of my daily routines. It helps me stay in touch with what is buzzing in the PPC community. Every now and then, a crazy hack pops up. Here’s today’s catch:
“This might have limited use for a lot of you on the sub but hear me out.
From time to time you will come across a client who has a legacy expanded text ad running in a display ad group that is performing very well. In fact, it can’t be defeated.
Even if you create a Responsive Display Ad that uses the exact same headline and description, for whatever reason, the new inventory that opens up due to it being an RDA seems to make the ad unprofitable. Or maybe it is the fact that Google forces you to add an image which makes it look too much “like an ad” to some people… who knows the reason.
The issue here? Google retired ETAs and doesn’t let you create them anymore, so if that ad gets disapproved for whatever reason, you are out of luck.
Thankfully I found this little hack in Google that let’s you add Responsive Search Ads into your Display ad groups.
If you try to copy a responsive search ad from a search campaign and paste it into a display campaign using the Google Ads interface, you will get an error message saying something along the lines of ‘this ad type is not supported’.
However, if you do it from the Google Ads Editor, it lets you post the ad without any issues. And you can even use dynamic location and countdown features! How cool is that? Being able to call out someone’s location within the ad on the display network!?Hopefully this helps some of you that have come across this same issue.“
SOURCE: https://www.reddit.com/r/PPC/comments/wwli01/ppc_pro_tip_of_the_day_testing_responsive_search/
It is loopholes like these that give you a (temporary?) unfair advantage so you can beat competition on GDN.
Let’s test?
– Nils
[Performance Max] Our new job
Have a nice day at work!
– Nils
short titles
Every now and then, I forget things that shouldn’t be forgotten.
Like a 50 euro bill in the small pocket of my jeans.
But then, there is at least the surprise of discovering it again!
Last week, I had a similar experience, while going through some open tabs. One tab had a link to a Google support doc that I didn’t have a look at for… well, a long time.
Back in February this year, Google Merchant Center had added support to Google shopping feeds for a short title attribute. The benefit of the short title is that you can control what is included in your titles before they’re truncated on the smaller display areas of the Google ad network (i.e., mobile displays).
Google has a new help document on short titles that goes over the requirements and best practices for these. Some of them include:
– Use a relevant short title that clearly describes your product.
– Be concise. While the title [title] attribute is used to match a consumer’s search to your products, the short title [short_title] is intended to show your product more concisely in browser experiences.
– Limit your short titles to 65 or fewer characters. Users usually only see the first 65 characters of a short title, depending on their screen size.
SOURCE: https://support.google.com/merchants/answer/11551083?hl=en
We just recently started experimenting with this new attribute. Personally, I like to structure my short titles with product name + product nouns + brand. For example: “EVO 4.2 Bookshelf Speaker – Wharfedale”
How about you? Do you already have some learnings on this topic that you can share? I’d love to learn. You can share them with me via email at nils@nilsrooijmans.com.
– Nils
PS: Here’s a track I’m currently listening to on my Wharfedale speakers -> https://www.youtube.com/watch?v=CUYboWbVe0A
[Performance Max] Here’s how you can see how much your PMax campaigns are spending on YouTube
Here’s my tip for today: if you want to see how much your PMax campaigns are spending on YouTube, customize your columns, get Avg CPV column, get views column, and then multiply.
In the ‘all campaigns’ view, you can create a view with columns like these:
I hope that helps 🙂
– Nils
What people will remember
Nobody will remember:
– Your salary
– Your fancy Title
– How ‘busy’ you were
– How many hours you worked
– Any of the Google certificates on your wall
People will remember:
– How you spent twice the client’s monthly budget in a single day
Such is agency life.
– Nils
A tool to easily check the structured (price) data on your product detail page
Products in Google Merchant Center get disapproved time and time again for all kinds of reasons.
A common issue is a disapproval because of ‘Mismatched value (page crawl): (price [price])’
Even when you have the price info perfectly visualised on your landing page, Google may still sometimes not see your price or see the same price you have in your feed.
A possible cause that gets overlooked easily: Outdated microdata or HTML.
FIX: Check for contradictory information within your site build, and remove it to eliminate crawling issues using this tool –>
https://search.google.com/test/rich-results
– Nils
what happens to your spending limit when you add an ad schedule to your budget
Do you know how much Google can charge you when you use ad scheduling to only show ads during the weekdays?
I had to look up the exact details myself today, so I might as well share the answers with you 🙂
First, some definitions and theory.
Your average daily budget:
The average budget amount that you set for each ad campaign on a per-day basis. It specifies how much you are roughly comfortable spending each day over the course of the month.
Your daily spending limit:
The max amount you pay on an individual day.
Your monthly spending limit:
The max amount you pay for the given month.
Your daily spending limit is 2x your average daily budget, because of Google’s disputable over-delivery feature. Your monthly spending limit is 30.4 times your average daily budget (because 30.4 is the average number of days in a month).
Sample scenario:
Let’s say you set a daily budget target of $100 in your campaign settings, and schedule your ads to only show on weekdays (i.e., Monday to Friday). Let’s assume this month has 20 weekdays (4 weeks times 5 days per week).
Now, what happens to your spending limits?
You might expect Google to recalculate your monthly spending limit, to be 20 x $100 = $2000, thus limiting the max amount you pay for the given month to $2000.
Not so!
Ad scheduling does not impact your monthly spending limit and does not impact your daily spending limit. Google will still try to spend 30.4 times your average daily budget on a monthly basis.
In our scenario, this means Google will spend 30.4 x $100 = $3040 per month if the search volume is there and the daily spending limit allows it to. Our daily spending limit is 2 x $100 = $200, which easily allows for an average daily spend of $3040/20 = $152.
Here’s the thing: If you don’t want to be charged more than $2000 in a given month, you need to recalculate your daily budget target yourself and change it to $2000/30.4 = $65.79.
As you can see, pacing budgets via the daily budget setting is far from easy but also no rocket science.
This is also something that highly benefits from automation, so be sure to check out these scripts to help you manage your budgets:
https://nilsrooijmans.com/daily-budget-overdelivery-alerts-script/
https://nilsrooijmans.com/top-5-google-ads-scripts-for-budget-management/
– Nils
Would you keep “Longer ad headlines” turned on?
Fellow list member Jacobo Alonso sent in this question (shared with permission, question paraphrased for clarity):
“Would you keep “Longer ad headlines”? Also, I am not sure how these work.”
Here’s what Google has to say about this form of automated extension:
“Automated extensions can give you more robust ads and more chances to win new customers.
Long text headlines in automated extension is a feature that automatically improves the
format of text ads, by automatically promoting part of the description lines to the headline,
and adding the visible URL to the headline, when possible. Longer Ad Headlines may use text
from both Description Line 1 & 2. If our system can determine a proper sentence can be made,
it will promote the message to the headline.“
SOURCE: email from a Google Rep.
Would I keep this feature on?
No.
I don’t have data to back this up, but I simply do not trust Google in being able to really improve the conversion value per impression with this automated extension.
What do you think?
– Nils
Do you know the primary objective of your clients?
Do you know the single most important objective for the client you are working on right now?
Is it an increase in profit?
Revenue growth?
Number of clients?
Brand recognition?
Seriously, do you really know?
My bet: the answer is “No.”
It’s rarely the case the client knows, too.
It is your job to figure it out together with your client.
Here’s a question you can email to get the conversation started:
“Hey [insert client name], if you had to choose between (A) 10% more profit with the same revenue, or (B) half the profit with 20% more revenue, what would you choose?”
– Nils
[Performance Max] Google added advanced location options for PMax campaigns
ICYMI: Last week, Google added advanced location options for PMax campaigns.
This is BIG if you are interested in using PMax for lead gen.
Not all leads are equal and geography plays a big part in the quality and value of your leads.
Hell, some geo-regions seem to ONLY send junk traffic and lead fraud.
Luckily, we can now limit our ads to only show in the geo-locations we really want to target:
– Nils
PS: Music I am listening to today to get energized -> https://www.youtube.com/watch?v=E-rSgNpqPew
PPS: Want a big smile on your face? Watch the YouTube video, these guys loooove what they are doing!
Automated extensions: do you keep them turned on, or do you turn them off?
Yesterday, I came across this thread on /r/PPC:
https://www.reddit.com/r/PPC/comments/vwn9bd/issues_with_googles_automated_extensions/
“Google’s Automated Extensions were enabled without knowledge or consent and stole thousands of dollars from our clients”
OUCH!
It reminded me of the fact that I could not create a script to monitor their performance and check if they are turned on or off. Unfortunately, Google Ads Scripts offers no support for automated extensions. We have to check things manually…
Google states:
“Automated extensions can improve the quality of your ad by including information about your business or changing the format of your ad. The Google Ads system includes automated extensions to your text ads when it predicts that the extensions can improve your ad’s performance.“
BUT… I don’t believe them. I’ve seen dynamic sitelinks sending traffic to the worst landers on the planet.
NOTE: Automated extensions are turned on by default.
Personally, by default, I like to turn them off (with the exception of seller ratings). Here’s how you can do this too:
1. Click Ads & extensions in the page menu, then click Extensions in the subpage menu.
2. Click Automated Extensions at the bottom of the page.
3. Click the three-dot menu on the right, then select Advanced options.
4. Select Turn off specific automated extensions and choose which extension to turn off.
5. Select your reason for turning off the extension and add additional comments.
6. Click Turn off.
How about you? Do you turn them off, or leave them on? I’m curious to learn, you can let me know at nils@nilsrooijmans.com.
– Nils
[Performance Max] Asset specifications in one simple table
Performance Max is a different beast with different specifications.
As with all things new, it’s not easy to memorize all the details when you get started.
Here’s a nice simple overview of the different asset specifications for PMax campaigns, taken from the Google Ads API developer documentation:
SOURCE: https://developers.google.com/google-ads/api/docs/performance-max/assets
– Nils
[Google Ads Script] Past violations
The Kawasaki Z900 is an amazing bike.
No-frills, bare-bones sport riding.
I just got back from my vacation, trying to tame the Z900 in the Colorado Rocky mountains. What a blast!
Me and my buddies visit the US every year just for that. There’s no comparison between the US and Europe when it comes to road tripping.
We’ve been to Colorado before (a couple of times actually) and my buddy was a bit nervous; he “forgot” to pay his fine for the speeding ticket from one of our previous adventures. His “past violation” haunted him for the whole duration of our trip.
Which brings me to today’s topic.
Before my vacation, we talked about “past violations” and how Google continues to not show ads that it had mistakenly disapproved in the past.
Here’s the thing: unless you notice “past violations” in your ads and take action, these ads will continue to not show.
I made a promise to create a script to alert you on any ad that has the status of being disapproved for “past violations,” so you can take action. Thanks to the help of many list members, the script is finally finished.
Here it is: https://nilsrooijmans.com/google-ads-script-past-violations-alert/
Thanks again to all of you who helped me test and fine-tune the code.
Happy scripting!
– Nils