Redirects — don’t let them hurt you

Did you know that redirects hurt your account’s performance?

Here’s why:

    1. Page load times are an important factor. Using 301/302 redirects slows things down which can impact your conversion rates and Quality Score and thus overall performance.
    2. Redirects often drop URL parameters necessary for proper conversion tracking, resulting in incomplete data and under-reporting of conversions. This is especially bad when you are running smart bidding.
    3. Cross-domain redirects are terrible for analytics.

Luckily for us, there’s a nice Chrome extension that makes it very easy to spot redirects during campaign setups, and/or landing page analyses. It’s called “Redirect Path,” and here’s a link to it:

https://chrome.google.com/webstore/detail/redirect-path/aomidfkchockcldhbkggjokdkkebmdll?hl=en

Now, unfortunately, links that do not redirect at the time of setup might do so in the future. Here are some possible reasons:

    • Changes in URL structure: Your SEO colleagues or web developers might have decided it was time to change the URL structure of the website, redirecting visitors all over the place.
    • CMS updates: The CMS might have been updated, adding or removing trailing slashes to all URLs for some reason.
    • Protocol shifts: Your client might have just shifted from HTTP to HTTPS (yes, I know, it’s 2023 already!).

All sorts of things can result in your Final URLs not working properly anymore.

That’s why I created my Redirect Checker script.

It checks for URLs with redirects, reports them in a Google Sheet, and sends an email if there’s at least one redirect. You can access the script here:

https://nilsrooijmans.com/google-ads-script-check-for-redirects/

Happy scripting!

-Nils

Enhanced version of Google Ads Script: Negative Keywords Conflicts

One of my favorite use cases for scripts is managing negative keywords. I use scripts to:

    • suggest negative keywords candidates
    • allow for easy management of negatives via Google Sheets
    • do n-gram analyses to discover potential negative candidates
    • keep exact match keywords exact (super handy for brand campaigns to prevent non-brand from matching your brand keyword)
    • auto-negate converting search terms in HIGH prio Shopping campaigns, so that the queries get funneled into higher bid MED prio campaigns
    • automatically add positive keywords to a negative keyword list that is attached to my DSA campaigns to prevent cannibalization
    • …and a ton of other things.

Occasionally, I or my team members make the unfortunate mistake of accidentally adding a negative keyword that blocks one or more positive keywords. Not good. So, I use another script to alert me when that happens: the Negative Keyword Conflicts script.

The original script is developed by Google, but it has a major drawback: it also looks at keywords in campaigns that have ended (i.e., ended experiment campaigns). This results in a lot of false alerts, making you want to ignore them altogether.

To fix this issue, I decide to change the script to only look at campaigns that are still serving. This fix was easy. The only thing I need to add was the condition to only look at campaigns with serving_status = ‘SERVING’.

In the code, that means one extra condition in the GAQL query (extra condition emphasized):

WHERE campaign.status = "ENABLED" AND campaign.serving_status = "SERVING" AND ad_group.status = "ENABLED" +

Here’s the enhanced version of the Google Ads Script for Negative Keywords Conflicts:

https://nilsrooijmans.com/negative-keyword-conflicts-alert-script-update/

What the script does:

It sends out an email alert if an account has positive keywords which are blocked by negative keywords. The script saves all such conflicts to a spreadsheet and sends out the email alert.

Why this matters:

Negative keywords are intended to prevent ads from showing on irrelevant search queries, but they may inadvertently block normal keywords from matching relevant search queries, making your campaigns less effective.

Happy scripting!

-Nils

Why agency owners love scripts

I recently had the pleasure of talking with my PPC friend Ed Leake, who runs a great community of PPC agency owners over at The Forge. During our discussion, we talked about the many benefits of using Google Ads Scripts for agency owners.

Here are the top 5 benefits they can provide agency owners:

1. Improved Positioning

Agencies that use scripts (and AI) can position themselves as innovative leaders who use state-of-the-art technology.

Think: “We are {insert brandname}. We optimize Google Ads campaigns for {insert target audience}. Unlike our competitors, we use custom automation to reduce wasted ad spend and increase profits.”

2. Easier Scaling

Thanks to scripts, agencies can take on more clients without having to hire more staff to handle the workload.

Think: scripts that automate the setup of new accounts, scripts that decimate the work required for negative keyword management, scripts that automate budget management and pacing, scripts that create reports, and so on.

3. Enhanced Quality Assurance

Thanks to scripts, agency owners can delegate a lot of the work to less skilled team members and still sleep well.

Think: scripts that detect (and alert for) anomalies in performance, scripts that spot little mistakes by team members (e.g., campaign settings like ‘advanced location targeting’ and ‘url expansion’), scripts that alert you when conversion tracking is down or when payment issues occur.

4. Better Hiring Opportunities

Believe it or not, some PPC pros that have been in the field for a long time actually LOVE to gain a new superpower. Learning how to use scripts for client-specific optimizations feels just like that.

5. Impressing and Retaining Clients

Google Ads data contains a ton of insights about the audience of your clients. Proactively sharing new insights is a trust builder like no other.

Think: scripts that automatically share changes in the search behavior of the audience (*), scripts that detect and share new interests (trending in-market audiences), scripts that visualize change in geographic areas, etc.

(*) hey, that sounds like my Trending Search Terms report!

Happy scripting,

-Nils

Total ROI is not just initial revenue

When your clients are evaluating their ROI on Google Ads, they’re probably considering a lot more than just the initial revenue. They may also consider things like:

    • How many new customers did we get last month?
    • How much revenue do we expect from these new customers in the next 12 months?
    • Did we beat the competition?
    • Did we reach our new target audience?
    • Can we show numbers that indicate growth that will satisfy our investors?

Here’s the thing: Big budget decisions are often much more complex than meets the eye.

“Value” is often vaguely defined.

The better you understand what’s really going through your clients’ minds, the better you can optimize your PPC campaigns to satisfy their goals.

-Nils

A hidden setting you probably want to change

Here’s your PPC Tip for today: turn off (most) automated assets.

A while ago I had a client asking me why their ads said they were established in 2001 — their year of birth was 2011!

The answer?

Automated Dynamic Callout Extension.

These days they are called “automated assets,” and Google takes a lot of liberty in coming up with their content.

Turning them off has become a serious pain in the ass, but here you go.

To turn off account-level automated assets, follow these steps:

    1. In your Google Ads account, go to the Campaigns view
    2. Click the Assets drop-down in the section menu.
    3. Click Assets.
    4. Select Association from the “Table view” drop-down menu.
    5. Click the three-dot menu on the right, then select Account level automated assets.
    6. Click the three-dot menu on the right again, then select Advanced options.
    7. Select Turn off specific automated assets, then choose which asset to turn off.
    8. Select your reason for turning off the asset and add additional comments.
    9. Click Turn off.

I know, it’s a horrible nuisance that takes waaay too many clicks.

BUT, it only takes 5 minutes.

AND, trust me, you’ll thank me later.

-Nils