Marketing

If time is money, this free Google Ads budgeting script is not worth it

Time is money.

This is one of my mantras, and I try to live my life by it.

Since I run my own small digital marketing agency and we only have a small team, we have made this one of our key pillars.

So it’s no surprise that automation is always at the top of the priority list for me and for us as a team.

It’s also because I’ve always been fascinated by technology and innovation, and I believe that progress pushes us to a better path.

As such, I looked at ways of doing things using a different approach.

My automation journey started with macros and VBA

Back in the day, I worked for a large online travel agency and my job was to set up affiliate businesses on the back end. It was repetitive and tedious work; Endless “copy and paste” functionality.

That’s when I discovered the existence of macros.

For the uninitiated, macros are sets of actions that can be recorded as instructions.

During playback, macros automatically repeat all actions and steps recorded in the same sequence.

The advantage is that they can be registered and used in many areas. One of the most common uses is in spreadsheets – Excel, Google Sheets, etc.

Many years later we still use macros!

Even with my duties running the agency, I still enjoy being on the bill – and especially working with the Ops team.

Recently, we had to complete one more big report for one of our big clients.

They preferred Excel over any other solution, and we had to engineer something that could collect and “clean” the data, format it and present it in an intuitive way.

While we were collecting and presenting the data, “cleaning” it to maintain a consistent format was a bit of a challenge as we were dealing with tens of thousands of rows.

This is where macros come to the rescue.

A few instructions that I designed and modified using Visual Basic (VB)—the language macros are built in—helped make the task not only possible, but faster, and eliminated the risk of human error.

Automation = money

My point is exactly this: if time is money and automation saves time, then automation equals money.

All while giving the added benefit of reducing the chance of making mistakes in the process.

It’s easy to see what motivated my fascination with automation.

Some of you reading this column may have even come across one of my previous articles here at SEJ: How to Use Google Sheets for Web Scraping and Campaign Building.

Advancing to Google Ad Scripts

There are tons of Google Ads scripts written by some of the brightest minds in our industry. Frédéric Valles, and Daniel Gilbert, to name a couple, are among what I consider the true pioneers of automation.

But I have searched the internet extensively and have not found anything that solves my problem.

Why do we need a new script?

Here’s my case: At our agency, we have a number of retail clients in the flower delivery industry who operate their businesses online and through their brick and mortar stores.

Having helped many of these businesses with their advertising campaigns over the years, we know a lot about their customers’ behavior and buying patterns.

Based on these insights, we’ve deduced that people mostly want to order flower delivery on weekdays, but it’s easier to pop into the shops on weekends and grab fresh flowers.

So we typically see a dip in ROAS on Friday afternoon and Sunday afternoon.

Typically, people go back online for Sunday nights, ordering Monday deliveries.

But despite Google’s impressive strides in automated bidding strategies (targeting ROAS, maximizing conversions, etc.), most of these clients struggle to maximize ad performance on weekends, but ROAS peaks at the beginning of the auction. week.

So one of the things we’ve taken (according to our clients) is that we allocate different budgets for each day of the week at the campaign level, guided by performance data.

For example, for a Monday we would have something like this:

day Campaign Budget Weight
Monday Campaign Name 1 $150.00 30.00%
Monday Campaign name 2 $85.00 17.00%
Monday Campaign name 3 162.50 dollars 32.50%
Monday Campaign name 4 62.50 dollars 12.50%
Monday Campaign Name 5 $40.00 8.00%
Total 500.00 dollars 100.00%

And then do this for a Friday

day Campaign Budget Weight
Friday Campaign Name 1 $70.00 20.00%
Friday Campaign name 2 87.50 dollars 25.00%
Friday Campaign Name 3 $140.00 40.00%
Friday Campaign name 4 35.00 dollars 10.00%
Friday Campaign Name 5 $17.50 5.00%
Total 350.00 dollars 100.00%

You can see that, not only do we have a total budget, but we also have different budget weights per campaign.

We should be able to change each campaign budget to have a different allocation for each day of the week.

There is actually a way to automate the process directly from Google Ads using rules. However, if you have an account with a large number of campaigns, setting it up can take a lot of time and effort.

This is because we need to create a rule for each campaign, for each day of the week, to update the budget amount.

Alternatively, we should create a rule for each day of the week, but with a separate line (step) for each campaign.

And no matter how much you do, any of these options leave you vulnerable to mistakes down the road.

I posted that it would be easy to have a spreadsheet break down budgets using simple formulas, and have this scripted directly into the platform.

As I mentioned, I’ve scoured the internet extensively, but haven’t found anything like this.

Of course, there are a handful of Google Ads scripts written to manage budgets, most of them to control costs and limit the chances of overspending, but none that meet the needs of our clients.

Enter the Google Ad Budget by Day of the Week script

What our script does should be pretty clear by now, but to summarize, Google Sheets allows us to use accounting and campaign budgets for each day of the week.

It uses that information to improve the campaign’s daily budget.

Note that this is an MCC level script, so multiple accounts can be managed in one document if needed.

Where to download and copy the script

The script is completely free to use, and can be downloaded or copied from our Github page here.

Google Ads script from GitHubScreenshot from Github, December 2022

How to use the script

To use the script, you first need to create a copy of the Google Sheet that will be used to feed the budget data.

This can be done through this link.

Once you have created a copy of the file, you will see that there are four tabs in the document:

  • Today – If a budget has been created for the current day, a tab where it will be displayed and the script will take the data to run the budget update.
  • Classification – This is a tab where budgets can be defined for one, several or all days of the week. Here, if necessary, you can use formulas to calculate the amount allocated for each day of the week, each campaign, etc.
  • Everything – Budget allocation master list. In theory, this tab could be redundant, but we added it to have a way to double-check that budgets have been allocated and allocated correctly. Unless changes are made to the formulas, this tab should be kept as this is where the data in the ‘Today’ tab is requested.
  • Log change – The last tab, where changes are recorded once applied. If a change is made, here it shows the previous and the new budget allocation.
Google Ads Budgeting Excel SheetScreenshot from Google Sheets, December 2022

The next step is to install the script.

As mentioned, this is an MCC script.

You need to go to Google Ads Tools and settings > Mass actions > Scripts:

MCC scriptScreenshot from Google Ads, December 2022

Then click the plus (+) icon to add a new script.

MCC Script New Script. Screenshot from Google Ads, December 2022

For this script to work properly, you need to make sure the “New Scripting Experience” is enabled (see above).

Then you need to remove a few lines of code in the document by default.

MCC scriptScreenshot from Google Ads, December 2022

At this point, you can proceed to upload the file you copied from our main Github page.

Google ad budget by day of the weekScreenshot from Google Ads, December 2022

Customize the script

Before the script can be used, you need to change two variables. This tells the script where to get the budget data from, and where to log the applied changes.

The two variables are:

  • var sheetId = ‘ADD-GOOGLE-SHEETS-ID-HERE’
  • var logSheet = spreadsheet app

There you need to replace ADD-THE-GOOGLE-SHEETS-ID with the document you created earlier:

Google ad budget by day of the weekScreenshot from Google Sheets, December 2022

Running the script

You are almost ready to run the script, but note that you need to authorize it before making any changes:

Google Ad AccountsScreenshot from Google Ads, December 2022

Once you’ve used your credentials to allow the script to run on your behalf, run a quick preview to make sure everything is working as expected.

At this point, if the budgets assigned to the current day in the Google Sheets tab are named ‘Today’, you’ll see something like this when you run the script preview.

Google ads script screenshotScreenshot from Google Ads, December 2022

When it says “Changelog” in the Google Sheets tab, you’ll see something similar to this:

Google SheetsScreenshot from Google Sheets, December 2022

All changes are implemented and properly documented!

The last thing left to do is schedule the script.

Depending on your needs, you can allow it to run every day, or only on the days you want it to make the changes.

Conclusion

Like other Google Ad Scripts we regularly use, this one has helped our team use automation to streamline processes and free up time and resources.

This has allowed our agency to focus on more strategic work and activities.

Hopefully, the drive to innovate and find better ways to work will inspire you as much as it inspires us.

Additional Resources:


Featured Image: BestForBest/shutterstock

Related Articles

Back to top button