Adwords CPA Scanner – Analyze & Reduce High CPAs in Seconds.

Many times, we see that the Campaign A is doing well as its CPA is under X$.

But when we break it down by a dimension X, we find that Campaign A – > Dimension X has CPA higher than X$.

Well these hidden variables like search partners, devices, city etc reveal a different scenario when compared to aggregate data.

But how will you know which hidden variable is exactly the main culprit causing High CPAs?

Worry not, Just Copy & Run the script below. It will output your AdWords data in spreadsheet & will scan the CPAs across

  • Campaigns
  • Campaign -> AdGroups
  • Campaigns -> Devices
  • Campaigns -> AdNetworks
  • Campaign -> AdGroups -> Devices
  • Country -> City
  • Campaign -> City

Adwords CPA Scanner – Setup Process

  • Copy & Preview the script in Adwords Script Editor.
  • Authorize & Open the spreadsheet URL.

Authorize Scripts - Google Adwords

Adwords-Script-Spreadsheet-URL

  • By default, you’ll get ‘Last 7 days’ report for the first time on running the script. For Custom Date Range, you can input the date range & re-run the script. (Date Format: yyyy/MM/dd)

 

Adwords CPA Scanner Spreadsheet

  • There are 3 sheets, namely
    • CPA-Campaigns
    • CPA-AdGroups
    • CPA-City
  • Each sheet contains a CPA filter.  Now here, CPA is defined differently.
    So if you enter CPA as 200$, it will filter the reports for the (CPA > 200$) or (Cost > 200$ AND Conversions=0) 

    This is done because sometimes while filtering only CPAs, we ignore the dimensions where cost has exceeded our CPA limit with zero conversions. This is equally alarming as high CPAs.

Adwords CPA Scanner

 

CPA-Campaigns Sheet

  • It contains 3 reports
    • Campaign – CPA Scanner Report
    • Campaign – > Device – CPA Scanner
    • Campaign – > AdNetworks – CPA Scanner
  • Enter the value in ‘Enter CPA’ to filter the reports having CPA > Input value.

Campaign – CPA Scanner Report

CPA Scanner - Campaigns

Campaign – > Device – CPA Scanner

CPA Scanner - Campaign-Device

Campaign – > AdNetworks – CPA Scanner

CPA Scanner - Campaign - AdNetworks

 

CPA-AdGroups Sheet

  • It contains 2 reports
    • Campaign -> AdGroup – CPA Scanner Report
    • Campaign -> AdGroup -> Device – CPA Scanner
  • Enter the value in ‘Enter CPA’ to filter the reports having CPA > Input value.

Campaign -> AdGroup – CPA Scanner Report

CPA Scanner - Campaign-AdGroup

Campaign -> AdGroup -> Device – CPA Scanner

CPA Scanner - Campaign-AdGroup-Devices

 

CPA-City Sheet

  • It contains 2 reports
    • Country -> City – CPA Scanner Report
    • Campaign -> City – CPA Scanner Report
  • Enter the value in ‘Enter CPA’ to filter the reports having CPA > Input value.

Country -> City – CPA Scanner Report

 CPA Scanner - Country-City

Campaign -> City – CPA Scanner Report

 CPA Scanner - Campaign-City

 

Adwords CPA Scanner – Script Scheduling

  • You can input the CPA limit & date range as
    • End date: Today()
    • Start Date: Today()-1

& schedule the script daily to get daily reports of high CPAs.

  • Also, you can try
    • End date: Today()
    • Start Date: Today()-7

& schedule the script daily to get last 7 days data of high CPAs.

  • You can experiment with date range & script schedule feature as per your needs.

 

SUMMARY

  • With just a single CPA input, you can check your CPAs across 7 reports. (4 dimensions)
  • You can definitely spot at least one the dimensions with High CPA & action on it asap.
  • Try scheduling the script & input dynamic date range for automation.
  • I have included only some of the dimensions for checking high CPAs. But obviously, there are more like placements, display ads, landing pages, etc. Do check them if you don’t spot it here.

Ritwik is a Web Analyst & Product Marketer. He loves to write technical & easy to understand blogs for Marketers & Entrepreneurs. Focused on Google Analytics, Facebook Analytics, Tag Management, Marketing & Automation Scripts & more. Google Certified Professional. A Firm Believer in Teaching -> Learning -> Growing. :)

Comments (10)

  1. How do I change the date easily? For example: unlimited or last 90 days. I’m not really good with code 🙂

    Thanks!

    1. Hi Glenn,
      For now, I guess you’ll have to manually enter date range (yyyy/mm/dd) in spreadsheet & re-run the script. For Eg: Start Date: 2017/02/18 & End Date: 2017/05/18 (last 3 months) or Enter longer date range (2014 to 2017) for unlimited. Thanks for feedback though!!! 🙂

  2. Hi Ritwik

    where should we put our spreadsheet URL

    1. Hey Sameer,

      Just paste it in new tab in same browser. You’ll get the spreadsheet.

      1. Hello Ritwik, Where I can learn Ad-word scripting. i have checked online but they are offering basic script learning.

  3. Thank you! Very useful script.

  4. Hi Ritwik thank you for this post! I tried to run your screen but this error keeps popping up no matter how many different ways I try. How should I insert the values?

    “Missing ) after argument list. (line 69)”

    1. Hi Vasco, I rechecked & that worked fine. It might be due to copy pasting error. Try copying from here: http://bit.ly/2vPt6KU

      1. Hi Ritwik, thank you very much, it is working wonders now 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *