Adwords Bidding Scripts – CPA ROAS Avg Session Duration & More

Unlike just manual CPC bidding or automated bidding by Google, using a bidding script is somewhere in between. Bidding scripts provide both the control of manual bidding, as well the automation time saving and efficiency improvements. Bidding scripts can improve bidding accuracy of manual CPC as no human can calculate bid adjustments as well as a computer. CPA bidding makes it possible to earn the same profit for all keywords used- by getting the best mix of volume (sales/leads) for a target CPA. If you are new to bid management, see our articles for Bidding Basics and Bid Adjustments

Using the Google’s Bid Multiplier Script, it is also possible to bid on 30 or so metrics including CPA, ROAS, average session duration, quality score, bounce rate and much more. It is best to choose a primary objective as the bidding strategy by selecting “one of” ROAS, CPA, Session Duration, etc. Below are some of the examples of using bidding scripts in different situations. The script runs within Adwords- and the objectives and rules are set within the spreadsheet.

The Google Sheet templates are split by objectives (e.g. CPA, roas, position/brand).  This sheet above is for CPA bidding.

Each spreadsheet has three levels for adjusting bids to meet the advertising objective, as well as a below the first-page bid increase rule.

The three levels –

  1. Increase bids if the profit per conversion is better (higher) than the target.
  2. Decrease bids if the profit per conversion is worse (lower) than the target
  3. Decrease bids if no conversions

The three bidding levels have three rules each.These are also split into three levels from 10%, 20%, 30% increases or decreases.

The script is scheduled to runs and makes bid adjustments to achieve the target CPA using the argument (bid modifier) of 1.1, 1,2, 1.3 for bid increases, and 0.9, 0.8, 07 for bid decreases. The stop level column is a control to stop bidding too high or too low. The cost per conversion columns show the values for cost per conversion prior to making the change.

ROAS Bid Manager

Now the Rules have been changed for adjusting to a target ROAS.

The columns on the right show the return on ad spend level before making the bid change.

6 is the same as 600%.


Bid Manager Settings

The scheduling of scripts can be set to run over different periods. Having 2 separate scripts to deal with head keywords over a short period, and long tail keywords over a longer period.

Average Session Duration Bid Manager

For example, newer accounts without conversion data can optimise using another metric such as CTR or average session duration. Average time on site is measured in seconds.

Data Validation shows the changes that happen. These can be previewed before running.

More background on bidding concepts

CPA bidding is the well known bidding strategy for getting the most leads or sales for the lowest cost. CPA is the cost per lead sale, and ROAS is the return on ad spend.

CPA and ROAS are very similar, except ROAS is better when CPA is not a fixed amount.

That’s all great if conversion tracking gets installed and running long enough to establish statistically significant results. Before this happens, other metrics can be used such as CTR, quality score or website engagement metrics such as average session duration or key page viewed.

Our Adwords bidding script can be used at all stages optimisation starting with CTR or quality score, then changing to average session duration and finally to CPA or ROAS. This saves money duration the testing stages and also increases targeted traffic before conversion tracking has collected enough statistically significant data of the Adwords accounts performance.

When Google introduced small goals, this is geared at advertisers who have never installed conversion tracking. Smart goals give an industry average conversion rate for each keyword that you are running ads for. This is certainly useful and a good short term solution, however, it is not your website and company data.

However another option is using your website visitor behavioural metrics from Google Analytics until conversion tracking is set up, or if it is not possible to setup conversion tracking on the website. Bidding on average session duration of each keyword can be consistent and reliable KPI indicator.


Google offers a vast range of bidding techniques and strategies ranging from manual, automated and machine learning. With manual bidding options, you can change the base bid, as well as bid modifiers (e.g. locations, devices, demographics, remarketing lists and more). 

You can also opt for a totally automated bidding strategy from Google using machine learning. We cover these topics in separate articles namely, Google Ads Bidding Strategies and Google Ads bid modifiers.

This bidding script gives you the control of manual bidding, with the advantage of not having to manually make the changes, as well as precision calculations to the base bid. 


5 thoughts on “Adwords Bidding Scripts – CPA ROAS Avg Session Duration & More”

  1. hey guys!

    I have a challenge for you. I need a ROAS script that take into account the “All.conv Value/Cost” when running for ROAS, and not the “Conv.Value/Cost”.

    Reason being that this is for app campaign on search network, we are pulling in several values so no conversion values show up in the normal “Conversion value” column.

    How can we solve this ? Got a script we can buy from you ?

    Best regards, Stein

Leave a Comment

Your email address will not be published.

Scroll to Top
Click to Zoom in!

Free Google Ads Report

Easy to copy and connect to your own account in minutes! Updates automatically each day!