Quick tips to evaluate AdWords based on Profit in Google Analytics

In this article I will try to explain 2 methods which allow a more ‘accurate’ base of evaluating AdWords efforts. Word of caution we are still in the last non direct model so once you do any of the 2 methods revert back to MCF reports in order to see the cross campaign AdWords influence.

Profit using Calculated metrics

In this case we will use the dreaded on average the client has a 10% margin and in addition the client pays a fee of 15% on top of Adwords spend. The end result is something in line with Net Profit = (Revenue * 0.1) – (AdWords spend * 1.15)  – note that this is by no means an accurate representation of your profits yet it is definitely a step closer than for instance basing all on ROAS (reasons why not ROAS are nicely described here  – http://online-behavior.com/analytics/campaign-profit-measurement).


  1. Ecommerce tracking
  2. AdWords and Analytics are connected
  3. Understand this is only applicable where your margin is evenly distributed through your entire assortment (no big outliers allowed:))

Step 1 

Go to view settings > Calculated metrics:Calculated metrics

Create a new metric using this formula (name it however you want but use Currency for formatting):

{{Product Revenue}} * 0.1 – {{Cost}} * 1.15

Where 0.1 is Gross Profit based on 10% margin and Cost is based on a 15% fee.

There is no step 2:) 

Well there actually is but it is just creating a Custom report where you use the newly created metric. If you like the idea of having these calculated metrics in your reports there are some others you can easily add:

  • Profit per transaction (Currency) – ( {{Product Revenue}} * 0.1 – {{Cost}} * 1.15 ) / {{Transactions}}
  • POAS (Percentage or Currency) – ( {{Product Revenue}} * 0.1 – {{Cost}} * 1.15 ) / {{Cost}} * 1.15

Important! – you need to decide if you are going to use Revenue or product revenue as the ingredients are different for almost each GA ecommerce implementation. Revenue may have shipping, taxes and similar inside yet product revenue may have only a fraction of it. 

The downside of using calculated metrics is # of Calculated metrics available (5 per view for standard) and these can only be used (currently) inside non standard reports.

The end result is usually a custom report:

Screen Shot 2016-02-22 at 23.08.02

You may notice a clear difference when looking at ROAS and a clear profit metric – much much easier to scan the report – IMHO.

Profit using data import

MAJOR UPDATE – thanks to Yehoshua Coren!

When using Enhanced ecommerce if you use data import and widen on product level you need to do some additional implementation steps in order to stop inflating the custom metric Value. By default this would happen:

Product Click Event > custom metric would be set to the value from the data import table
Product Add To cart > custom metric would be set to the value from the data import table
And so on – so each EE event passed to GA would increase the total product profit continuously (unfortunately this is how EE works).

So before you do any import your dataLayer pushes would need to contain the custom metric with the value of 0 – note the metric index number!:

'metric3': 0

For all non purchase event hits such as product impressions:

'event': 'trackImpressions',
'ecommerce': {
'impressions': [
'name': 'Triblend Android T-Shirt',
'id': '12345',
'price': '15.25',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Gray',
'list': 'Search Results',
'position': 1,
'metric3': 0
'name': 'Donut Friday Scented T-Shirt',
'id': '67890',
'price': '33.75',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Black',
'list': 'Search Results',
'position': 2,
'metric3': 0

For the purchase event ‘metric3’: 0 should be deleted!

As vaguely mentioned in the first method – using data import can and should be used if there are high margin deviations inside your product inventory.  The basis for this method is product id / sku. Importing per product profits make this method much more reliable in terms of end result – the calculated metric Profit (custom metric) – AdWords spend (Cost). As an additional benefit the Cost is not only applied from AdWords but also from all Cost Data Import sources as well (Facebook, Yandex and similar).

In standard Analytics Profit import works for processing time data widening – in short when a transaction containing products gets recorded in GA and if the scheme for widening exists (data import) each hit gets widened with a Custom metric / dimension of your choice. In this case we are using Product Data Import type which uses product scoped dimensions and metrics – and we need to use Enhanced Ecommerce.

Step 1 – Custom metric

One of the differences between  Custom and Calculated metrics is that Calculated ones are defined on view level and Custom ones on property level.

Define the Gross profit Custom metric in the GA admin:

Custom metric product scope

Step 2 – Create the data import data set 

Just make sure you choose Product Data Import and use the following settings:

Product DataImport screen

We need to widen the product info with the Gross profit metric we will import using a .csv file and we are using product SKU as the primary key – SELECT NO FOR OVERWRITE HIT DATA:

Once you have this solved you need to get the data from your business system and export the data set in a csv file containing, in this case, only two columns of info:

csv data import

Upload the data either from the GA interface or using the API.

Screen Shot 2016-02-22 at 22.57.45Screen Shot 2016-02-22 at 22.58.00

Screen Shot 2016-02-22 at 22.58.17

Step 3 – create the calculated metric(s)

This procedure is the same as in the initial calculated metrics method only. Instead of Revenue / Product Revenue we will use the Gross profit Custom metric instead.

  • Net Profit (Currency) – {{Gross profit}} – {{Cost}} * 1.15
  • Profit per transaction (Currency) – ( {{Gross profit}} – {{Cost}} * 1.15 ) / {{Transactions}}
  • POAS (Percentage or Currency) – ( {{Gross profit}} – {{Cost}} * 1.15 ) / {{Cost}} * 1.15

The application of these metrics is completely the same as seen in the first method – create a custom reports or pull all data out and use some 3rd party tool to do additional analysis and visualizations.

Author bio

Zorin Radovančević

February 22, 2016 Google Analytics

Senior Web Analytics implementation and planning specialist - all things related to Google Analytics, Google Tag Manager and Yandex Metrica.


Leave a Reply

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