ETA to RSA builder - Google Ads Script

Alex Hughes, the Article Author - WeDiscover - Paid Search Marketing Agency London
Alex Hughes
10 January 2022 - 10 min read
Facebook Icon - WeDiscover - Paid Search Marketing Agency London
Twitter Icon - WeDiscover - Paid Search Marketing Agency London
LinkedIn Icon - WeDiscover - Paid Search Marketing Agency London
Email Icon - WeDiscover - Paid Search Marketing Agency London


We’ve previously released a free script that allows you to identify and label ad groups in your account (take a look at our RSA checker article on our blog). We now take that one step further, with a script that not only identifies ad groups missing RSAs, but also helps you create them using existing ETA copy.

In June (2022) RSAs will replace ETAs as the go-to search ad type. Since Google’s announcement of this a few months ago, advertisers have been racing to update their accounts to ensure full RSA adoption. 

ETAs have been the dominant search ad type for a long time and on some accounts, where RSAs aren’t yet being effectively utilised and with hundreds, or even thousands, of ETAs, migrating to RSAs can be a huge undertaking.

That is why we have created our ETA to RSA builder. It automates a large part of the process of collating ad assets from ETAs together, getting them ready to re-upload as RSAs.

Ad overviews

A single ETA can have up to 3 headlines and 2 description lines. RSAs meanwhile have space for up to 15 headlines and 4 description lines to be provided, though on the SERP they will appear in the same way as an ETA.

This article is the third in our ongoing series of RSA pieces, so for more information around their structure and how best to use them - including pinning headlines in place and testing methodologies - take a look at our prioritisation framework piece.

What it does

This script can be set up to run against criteria you outline with regards to looking through enabled or paused areas of your account (more detail on this in the setup section below).

Once run, the script will take all ETA assets in ad groups that both contain no RSAs and meet your specified criteria, and output them into a GSheet. The sheet will be in ready to upload format (with some exceptions, outlined in the sheet section below), meaning you can upload it into Editor and have ready-made RSAs at the click of a button, with ad copy that has already been tried and tested in your account.

How to set it up

#1 Copy and paste script from the WeDiscover Github profile

Find the script hosted on the Public WeDiscover GitHub here.

#2 Add to scripts section within the account

You can add this script either at an individual account or MCC level.


Navigate to Tools (top right corner of your screen when in Google Ads) > Bulk Actions > Scripts.

Click on the blue “+” icon to create a new script.

Be sure to delete anything that is already in the box for the script insertion in Google Ads first, then copy and paste the full script from GitHub into Google Ads.


You may choose to edit the script name at the top. This will allow you to easily differentiate between the different scripts you enter.


You can add this script using the new Google Ads beta experience (currently available at individual account level only, not MCC), if you wish to.


#3 Specify your criteria

Near the top of the script, you will see an area that says “Edit Me”, running from lines 11-15 and highlighted in the yellow box in the screenshot below.

Here you must enter one of ‘true’ or ‘false’, to specify where and how you want your script to run. Selecting each will work as follows:


  1. True: check for ad groups without RSAs in paused campaigns

  2. False: only check for ad groups without RSAs in enabled campaigns


  1. True: check for paused ad groups without RSAs

  2. False: only check for ad groups without RSAs in enabled ad groups


  1. True: paused RSAs will be counted as existing coverage, and the script will skip these ad groups

  2. False: ad groups that contain paused RSAs will be counted as lacking RSA coverage, and the sheet will output new copy for them


  1. True: copy will be pulled into the output sheet from paused ETAs (as well as enabled ones)

  2. False: copy will be pulled into the output sheet from only enabled ETAs

#4 Run the script

Save your script, authorise it and then press preview or run (and then select preview, as shown below).

Once the script has finished running, click on to the ‘Logs’ section at the bottom of the screen. Here you will see a top-level breakdown of the findings of your script, including the number of ad groups that have been found without RSAs.

If running the script at MCC level, the logs will show a breakdown of findings by account. Be aware here that as scripts only have 30 mins to run, for exceptionally large MCCs there is a small chance it may time out before completing all of its checks. In these instances, you’ll need to add the script to individual accounts instead.


The final line of your logs will provide you with a link to an output GSheet. Copy and paste this into your browser to open it.


If no ad groups missing RSAs are found, the logs will say this on their final line, and no GSheet link will be provided.

The output sheet

If you run your sheet at MCC level, your GSheet will contain multiple tabs, with one tab per account. 

Your output sheet will have one row per ad group missing a RSA. It will pull out ad copy assets from all ETAs within these ad groups that meet the criteria you specified in the script (i.e. you can choose to include assets from either enabled or both enabled and paused ETAs).

Asset types that are pulled out are as follows:

Headlines (maximum 15 to be used per RSA)

Description lines (maximum 4 to be used per RSA)

Path 1

Path 2

Final URL

Final mobile URL

The output sheet is designed to make it as easy as possible for you to upload it to Google Ads Editor to create new RSAs, but you must check the number of assets your new ads contain.

Remember that there are limits to the number of assets allowed to be uploaded for each RSA. If there are more than the allowed number of assets pulled from the ETAs per ad group, these will still be output to the sheet, but you will have to delete some of them before uploading. This gives you the functionality to have full visibility over what is available within your account before making a decision of what to upload.

On the flipside, you may have new RSAs created that pull from ad groups that contain a single ETA that is not utilising all available assets and, that include less than the minimum requirement for RSAs, of 2 headlines and 3 description lines.

In these instances, you may choose to either manually add further assets - to form a complete RSA that is ready for upload - or, delete that ad (noting that in the case of the latter, you will then still have an ad group with no RSAs).

Alongside ad assets, further identifying information is also shown in the output sheet:

Account name

Account ID

Campaign name

Campaign ID

Ad group name

Ad group ID

Having this information makes the sheet ready for upload into Google Ads Editor (once any additional asset columns have been deleted).

Uploading your sheet

Check your output sheet is in a ready to upload format, by ensuring it does not exceed the maximum number of each asset type as defined above (fifteen headlines, four description lines, one of each path type), or fall short of the minimum requirements (3 headlines, 2 description lines).

If you are exceeding any thresholds, choose your favourite copy from the options provided across the row and then delete the extra columns. If you are failing to meet minimum requirements, add in further copy.

At this stage, you may also choose to make any other manual updates to copy, if you so wish.

To then get your ETA based copy re-uploaded into your account as new RSAs, open Google Ads Editor. Go into the account you want to make the upload to and click on ‘Account’ in the top left corner.

From there, click ‘Import’ and ‘Paste text’.

This will open up the following pop up screen.

Copy all of the data from a single tab in your output GSheet, then click ‘Paste from clipboard’ in your pop up Editor box.

Click ‘Process’ at the bottom right of the box.

Your copy will pull into your account in draft format. Do a final sense-check and when you are ready, hit ‘Post’ in the top right of your screen to set your new RSA copy live.

Final steps

Remember that this first upload of new RSAs is only your first step in the process of having optimum ad coverage.

Once your new RSA copy is live in your account, give the ads some time to build traction and then check back in and track their performance. You can view the impressions each asset has garnered, alongside their performance - as judged by Google - ranked as “low”, “good” or “best”.

Take a look at the “Evaluating” section in our ad prioritisation framework article to learn more on how to assess your assets, and when to replace poorly performing ones to make continual improvements to your ads.

We hope you find this script useful. Please send any comments or questions on it to or via our contact form.

Facebook Icon - WeDiscover - Paid Search Marketing Agency London
Twitter Icon - WeDiscover - Paid Search Marketing Agency London
LinkedIn Icon - WeDiscover - Paid Search Marketing Agency London
Email Icon - WeDiscover - Paid Search Marketing Agency London

Enjoying reading?

Sign up to our newsletter and be the first to know when we release new articles.