Adwords Budget Management Script

posted in: Adwords Scripts | 20

Buy this premium Adwords campaign budget management script to manage your campaign daily budgets.


  • Manually readjusting Adwords campaign daily budgets
  • Over or Under-spending significantly from your targeted budget
  • Manual calculations in Excel trying to figure out days left, budget spent, and budget remaining
  • Time-consuming, mundane budget management tasks
  • TRYING” to implement solutions
  • Expensive PPC budget management solutions


  • A Fully-automated Adwords campaign budget management solution
  • Quality customer service, support, and on-going script maintenance
  • An Affordable budget management system
  • A System you can re-use for any Adwords account
  • Peace of mind knowing that budgets are being updated
  • Flexibility to make changes easily when needed
  • Leveraging the power of Adwords Scripts!

Get Access To All Of
My Adwords Scripts

for a low, one-time payment

Learn More

Pre-Sale Questions

#1: Can Your Campaign Budget Management Script Manage Multiple Campaigns Under One Budget?

Yes. When you buy my Adwords Budget Management Script package, you will receive two scripts you can use:

    1. Single campaign budget management script
    2. Multi-campaign budget management script

With the multi-campaign budget management script, you can define multiple campaign names in your spreadsheet and the script will allocate budget to the campaigns based on their performance.  In other words, the script will prioritize more budget to your best campaigns and less to your lower-performing campaigns – all under one budget.

 Multi-campaign Budget Management Spreadsheet

#2Can I Turn The Script Off During The Weekends?

Yes, you can set the “Weekend Spend %” to 0.00% which tells the script to spend 0% of the budget to Saturday and Sunday.

Change Weekend Spend Percentage

#3Can I Specify A Different Time Zone?

Yes. Since different advertisers are in different time zones, we built in the feature that lets you set the time zone that aligns with a given Adwords account.

Time Zone Relative to GMT

You can check the Time Zone of a given account by navigating to your account settings and looking under Preferences.  There you will see the time zone for a given account relative to Greenwich Mean Time (GMT).

Greenwich Mean Time Time Zone Settings

#4Will Your Scripts Work With Ad Scheduling?

Yes.  Adwords campaign settings will always over-ride any script settings.  For example, if you had ad scheduling set Monday – Friday between the hours of 8:00 AM to 5:00 PM in Adwords, and the Adwords Script shows 100% for weekend spend (meaning the script is reserving budget to spend on the weekend), the result is, you won’t spend any money on the weekends nor between the hours of 5:01 PM and 7:59 AM because your Adwords campaign settings always take precedence over any script settings.

However, we recommend you align our script settings with your Adwords ad scheduling settings for best results.  The reason is, the script will attempt to spend money on the weekends if “Weekend Spend %” is greater than 0%.  Even though no money will be spent, it could result in budget accumulation over time resulting in high daily budgets on the weekdays (of which you may or may not be able to spend).

Long story short, here’s how to decide what to do:

Plan to advertise on the weekend?

      1. Yes – set “Weekend Spend %” to 100%.
      2. Partially – set “Weekend Spend %” to a number between 0% and 100% (ex: 25%, 50%, 66%, etc.)
      3. No – set “Weekend Spend %” to 0%.

#5: What Data Do I Need To Input Into The Single Campaign Budget Management Sheet?

Single Campaign Budget Management Script Configuration

Here’s the only cells you need to fill out:

B2 – Contains a formula that calculates the first day of the current month. This is useful when you have monthly budgets. You don’t have to use this formula though!  You can put for example 1/1/2014 as a static date value if you wanted to.

B3 – Similar to cell B2’s concept except this is the budget end-date. You can use the formula or enter a static budget date value.

B4 – Enter the amount of money you want to spend within the given start and end date.

B5 – Enter the lowest possible value you’d ever want the campaign budget to be set at if you ran out of budget. Think of this number as the “floor” or “minimum” number you’d ever want to set your campaign to.

B6 – Enter a percentage.  Let’s say you don’t advertise on the weekends.  You’d set this value to 0%.  Let’s say your contact center was open but had fewer reps to take phone calls.  You could set this number to 50% which indicates to spend typically 50% less of the daily budget on weekend days.  So if you spend $1,000 per day on weekdays, the script will try to spend $500 per day on the weekends.  Put 100% if you you spend the same amount regardless if it’s a weekday or weekend.

B7 – A value that hovers around 1.0.  The math is complex to explain so I won’t go into that.  Let’s say you have a campaign that struggles to spend its budget each month.  In that case, you’d want to set this Volatility number to a number higher than 1.0 (ex: 1.2, 1.11, 1.05). What this will do is attempt to spend more budget in the beginning of the budget time period.  So in a sense, the budget spend will be top-heavy in the front.  Alternatively, you can specify a number less than 1.0 (ex: 0.8, 0.9, 0.93) that will cause you to spend less in the beginning of the budget duration and more in the later part of the budget time period.

B8 – Enter the name of your campaign.  I recommend copying and pasting the exact campaign name from your Adwords account here to make sure no spelling errors take place.

F1 – Select the first day of the weekend day. The reason this is in the spreadsheet is because some places have weekend days that are not Saturday and Sunday.

F2 – Same idea as F1 – select the last day of the weekend.

That’s it.  Don’t worry about cell B1; that’s calculated automatically.

#6: Your Question Here!

Have a question? Leave a comment below and we’ll put it here!

20 Responses

  1. […] Adwords Budget Management Script […]

  2. […] budget management script will just require you to enter a few details like your budget, the budget start and end dates, the […]

  3. […] single campaign budget management script can be used to manage budgets for a single […]

  4. […] can get the Multi-campaign budget management script here if you don’t already have it!  It’s bundled with the Single Campaign Budget […]

  5. […] budget management script doesn’t let you edit Weekend Spend % or Volatility inputs (like my single campaign budget script […]

  6. Great script. What if I have different targets to each campaign? (CPA,Impressions,Clicks) – How does the script know how to use the budget between the campaigns when they have different target? What will be prioritize?

  7. Hi team !

    Thanks a lot for the script ! I am just having a problem with the multi-campaign one, I get this error :

    TypeError: Cannot call method “getBlob” of null. (line 18)

    Could you help me out ? Also, is it possible to define a specific time range ?


    • Whenever you see this issue:
      TypeError: Cannot call method “getBlob” of null.

      The only reason is: The script is not able to locate the file (.js) in the Google Drive at the mentioned path.

      Please make sure that the file and folder is shared with the person who is running the script and that the person moves the shared folder from Shared with me section of Google drive to My Drive section.

  8. Hi Jarad,

    Thank you so much for your answer. It does work ! The only thing now is that I receive a log saying “Skipping Paused Campaign” for all campaigns that are in the script. Does this mean that it does not need to change anything ? Also, could you tell me if it is possible to set a specific time range for the budget management (1.5 month for example) ?

    Thanks a lot !


    • Yeah, my advice would be to not add paused campaigns to the list of campaigns for the script and spreadsheet to manage. Reason is, if a campaign is paused, changing its budget is pointless (in my opinion). In other words, it doesn’t do anything. So the script just ignores paused campaigns since there’s no reason to manage their budget.

      There isn’t a way to set a time range for the budget management script. For that, you just have to either pause its scheduling (takes like 5 seconds) or you can simply let it keep going after 1.5 months for example. This is a feature I never thought of but I can see how it might be useful when for example a campaign was going to end – but still it doesn’t hurt anything to change the budget of an ended or paused campaign because the script will either not change the budgets or will change them on paused / ended campaigns which won’t matter.

      Thanks for the questions!

  9. Hi Jarad,

    Thank you for your answer. Indeed, budgeting paused campaigns doesn’t make too much sense but in this case what I don’t understand is that they aren’t actually paused… Do you understand this behavior then ?

    For the time range, thanks for your response !! I agree it’s only a nice to have :-)


    • Oh, I see. I think I know what might be happening. Are your campaigns Enabled (active)? For troubleshooting, I would ask what is the status of the campaigns? Is it enabled?

      There’s a piece of code within the script that gets only campaigns with the condition Status = Enabled so I’m wondering if the status of your campaigns are different than that. If not, please let me know!

      var campaignIterator = AdWordsApp.campaigns()
      .withCondition(“Status = ENABLED”)

      In the meantime, I’ll ask my developer and try to get an answer for you.

  10. Hi Jarad,

    Yes, all campaigns are enabled. So ok, this is not normal. Thanks for looking into this ! If you more information on this, please let me know !


  11. Dear Jarad,

    Did you had the opportunity to talk about this with your developer ? I would very much like to start using you script :-) !


    • Hey Dave, I actually have a big update coming soon. I know it’s late in reply but I will have all the details soon. Thanks a lot for your patience. I will be giving ALL my scripts away to ALL users that have bought one or more. Reason is, it’s just too hard to maintain individual support for individual scripts.

      I’ll announce and send an email out shortly within a week or less.


    • Hey Dave, I just gave all past customers that bought 1 or more scripts full access to ALL my Adwords scripts. Instead of selling them individually (which is a management nightmare), I am now going to sell them as a library instead (which will be easier for me to maintain). I sent an email out about that. Hope you got it. These new scripts have some really useful improvements. There’s also a new Labeler script.

  12. Hey Jarad, Are you able to use campaign labels instead of defining each campaign for the multiple campaigns under one budget script. Sometimes I have 25-50 campaigns I need to manage to one budget.

    • Hey Russ, I have implemented your suggestion. You’re right. Using labels to tag your campaigns you want the script to manage is much easier than having to define each campaign. I’m going to be making some minor updates and releasing them now.

  13. Jarad,

    Apologies if you answered this question elsewhere as I haven’t seen it, but how often does the script run? Hourly? Daily?


Leave a Reply