Categories: CodingPPC

Implementing Ad Customizers in Google Ads in 2025

Ad Customizers in 2025

Case Study

One of our clients runs a promotion that runs from the 1st to the 15th of every month. On the 16th, it resets and ends at the end of the month.

The client wanted this verbiage in their ad copy to automatically update on the 1st and 16th.

Challenge accepted. We figured it would be an easy task.

We quickly got reacclimated with ad customizers and got to work.

Except nothing was working. We want to provide you with updated information so you can tackle this project without errors and bad information. We’ll talk more about the challenges after we show you how we did it.

Step 1 – Download the CSV Template here:

https://www.gstatic.com/adextensions/rsa-customizer-combine-template.csv

Step 2 – Open your Google Ads account and find the Campaign ID where your customizer will run.

Click Custom Columns above the report. Search for Campaign ID and add it to your report. Save. Now copy the campaign IDs for any campaigns you want to apply the customizer.

Step 2 – Update CSV to Match Your Account

Next we need to update the Google csv template with our campaign ID and customizer formula.
You can delete the following Columns for this example as we’re not using them:

    • Customizer:Price
    • Customizer:Count
    • Customizer:Percent

You need to Add columns:”

  • Campaign ID
  • Customizer:endsMessage

Next, we need to add our Campaign, Ad Group, Campaign ID, and endsMessage formula.

You can download a working CSV here. Just keep in mind you need to fill in your campaign name, ad group, and campaign to match your Google Ads account.
fixed-rsa-customizer-combine-template

Key points:

Make sure your campaign name and ad group exist. These fields appear to be case sensitive, which tripped us up initially.
We left in the Name, Price, Count, and Percent, but you may be able to delete these.

Step 3 – Define Your Customizer

Go into Tools -> Business Data -> Ad Customizers

In our example, we’re adding the customizer endsMessage. Select type text for this customizer.

Hit create.

Step 4 – Upload Your CSV and Give Google Permissions

Since we want to make sure our value changes on the 1st and 16th, we’re going to schedule a daily upload during the early morning hours. By the time the ads run the next day, the value will be updated.

Go to Tools -> Bulk Actions -> Schedules

Give your upload a name (we used our Google Sheet Name, but you can name this whatever you want.)

Be sure to copy the email address, go to your Google sheet, and share it. If you don’t share it before you complete the schedule, you won’t get an error immediately. But when it goes to upload it at 3:00 a.m., it will fail. Don’t skip this step!

Now that you shared the sheet with the address provided by Google Ads, we need to select the correct sheet.

Select the correct sheet from your Google Drive by clicking the pencil icon next to “Link to an existing sheet.”

Set the frequency to daily and the time to 3:00 am.

Click save.

Once you’ve save it, you should see a creen like this:

Step 5 – Test Implementation

Go into your Ad Group and edit one of your ads. You can ad the following as one of the headlines:

{CUSTOMIZER.endsMessage:Sale Ends Soon!}

If your scheduled upload hasn’t gone through yet, it will just say “Sale Ends Soon!” in the headline text. That is the backup text in case the customizer fails.

You can upload the file manually by going to Tools -> Bulk Actions -> Uploads -> Uploads.


Follow the same steps for sharing the Google Sheet and providing permissions to Google Ads.

Your file should upload without error.

View Your Ads

Ensure you’re in a campaign and ad group specified in your CSV. If you try to add the customizer to other campaigns and ad groups, the customizer will fail. You should see the text being pulled from the Google Sheet.

Tip: Pin the headline you’re testing to position 2 so it will show up immediately in the preview. You can unpin it after you finish testing.

The Root of the Problem

This should have been an easy task. But there are two majore problems.

1) Google’s own documentation tells you to upload to an oudated interface.
2) Google’s example template doesn’t contain campaign or adgroup columns. Without these, the upload fails with errors.

Common Errors

If you fail to share your sheet with Google Ads, you will get this message when you upload.

“File Not Found.”
Make sure the file has been shared with the Google Ads email address displayed on screen.”

“Missing value “Campaign ID”
Using the default Google CSV and upload, the following error occurs:
Be sure to use the updated CSV.

ChatGPT to the Rescue?

We figured we must be doing something simple wrong, so we tried multiple models of ChatGPT (and Gemini, which was totally unhelpful).

We lost countless hours down a rabbit hole of Google Cloud Console and running custom ad scripts that wouldn’t compile.

Even after receiving the error messages, ChatGPT was still unable to produce code that would run.

At this point, it was time to take a different tack. We decided to use a Google Sheet to run the calculations and produce updated ad copy.

ChatGPT nailed this first try.

The next step was to upload this into Google Ads on a schedule. This is where things went wrong again.

There were two major problems:

  1. The instructions that ChatGPT kept suggesting did not match our interface. Things had changed and there was probably not a lot of content out there with the updated interface for it to scrape. We found the same recommendations in multiple articles and videos. These simply were not updated to the current interface.
  2. Google’s documentation and downloadable template are not functioning properly. Upon upload, we get an error, even using an unchanged example.

Here’s how to fix it.

1) ChatGPT told us to
:

Create Your Feed in Google Ads

This is incorrect. The menu option that ChatGPT insisted is there, is not.

What you need to do: Upload it in Tools->Bulk Actions->Uploads->Scheduled

2) The Google template doesn’t contain all the columns necessary for a successful upload. You need to add Campaign ID and Ad Group columns in order to get it to work.

Google Fix Your Docs! If you follow the steps outlined above you should have a working ad customizer.

Want Help?

Feel free to Contact Us!

bbarber57: