At the core of a good advertising program is measurement. Online advertising gives you the opportunity to measure almost everything. Yet most advertisers are not correctly set up to leverage this. $150 billion per year in online advertising is spent without proper tracking and accountability. What % of your advertising can you track?

Most advertising programs start ad hoc and grow organically. As a result, they usually do not start with a solid setup. There is a lack of structure, process, clear goals and KPIs, a well-thought-out naming convention, and a framework for linking advertising data with analytics data for evaluating the performance of ads channels and campaigns. Many programs also lack a marketing dashboard for checking performance daily and reporting weekly and monthly for the entire advertising program.

Questions to ask yourself to determine if you have a good advertising setup:

  • Do you have one place where you can go and check what your total ad spend is month to date and how it is trending against last month and budget?
  • Do you automatically connect campaign ad spend with transactions reported by your analytics system for all your ad spend so you can calculate and compare customer acquisition costs across all campaigns and ad platforms?

If the answer to these questions is no you have some work to do.

Worldclass marketers have a good advertising setup, but most of us don’t. Yet the result in terms of efficiency and performance gains can be substantial. Especially as the marketing plan grows and includes more people, more markets, more ads channels, and bigger budgets. What would the impact be on your business if you could improve the effectiveness of your advertising by 25%? This document outlines the different parts of a good advertising setup and provides advice on best practices.

Deciding on a system to measure sales

The first step in setting up a marketing plan is to decide on a system that tells you how much you sell on your website. This is typically done by installing a pixel or JavaScript snippet on your website. There are two types of pixels. Those of analytics tools and those of advertising platforms (also called native pixels).

Almost all advertisers have an analytics tool installed. Most use Google Analytics. An analytics tool tells you what happens on your website. It has a simple built-in attribution model. The sale is typically attributed to the last ads channel that touches the customer. Thus the sum of the transactions reported by the analytics tool equals your sales (within an error margin).

The conversion pixels of the advertising and affiliate channels also tell you how much sales they have generated. However, they report on all transactions in which they have been involved in and sometimes multiple advertising channels are involved in a sale. Thus the sum of the transactions reported by the advertising channels does not match up to the sum of your actual sales. The picture below illustrates this with an example:


On Monday Joe clicks on an ad on Ads Platform A that takes him to an eCommerce site. After a while, Joe leaves without making a purchase. On Friday Joe clicks on an ad on Ads Platform B that takes him to the same site and he proceeds to make a purchase. In this case, Ads Platform A will report one click and one sale, and Ads Platform B will also report one click and one sale for a total of two clicks and two sales. The analytics software however will report two website visits and one sale. Thus the analytics software reflects the reality of the business as there really only was one sale.

Relying on the native ad's pixels for reporting will lead to double counting. The pixels of the advertising and affiliate channels are useful for optimizing ads and campaigns within the specific channel, but to have a system that allows you to compare different channels you need to rely on a third-party analytics tool.

A first step in setting up a marketing plan is on deciding on such an analytics tool. Google Analytics is a good and free tool unless you have specific needs. It is used by the vast majority of websites. Other paid tools include Mixpanel, Kissmetrics as well as enterprise tools like Omniture.

It is very easy to get started with Google Analytics. You just paste a simple piece of code on your website and data starts to come in. However, to make it work correctly with paid advertising there is some more work to be done, namely tagging your advertising URLs with Google Analytics UTM parameters. This is described in more detail in the next section.

Setting up advertising channels properly

Most people start a new ads channel by creating an ad, setting a budget, and running a test. Before you do this, take a step back and decide on a structure, naming convention, and UTM tagging process. You are much better off if you are disciplined and do this upfront.

Structure and naming convention

It is important to structure your ad accounts properly and adopt a clear naming convention and apply it consistently. An experienced marketer can see at a glance if an ad account is properly structured. Accounts without a thoughtful structure that grows organically typically become unwieldy after a while. If you have set your account up properly, the structure and naming convention should be self-explanatory for someone who has never seen your ad account before.

A good way to think about the structure of an account is that it should reflect how you view your business and how your website is set up. You should find the parameters which are most important in identifying a campaign and then decide on how to structure these hierarchically. For example, if you are operating in different countries and have different websites for each country, then location is probably the most important parameter. If you operate in one market but with different brands and have a different website for each brand, then the brand is probably the most important parameter.

Parameters to consider include:

  • Location
  • Brand
  • Product
  • Objective (e.g. awareness, engagement, or conversion)
  • Type of ad (e.g. search, display, retargeting, shopping, video)

A simple and effective naming convention is to start the campaign name with the most important parameter, then the second most important, and finally the third most important, etc. Separate the parameters with a symbol such as a vertical bar, a dash, or square brackets. For example, consider an ad account where we have two locations (the US and Canada), two products (laptop and printer), two objectives (top-funnel, bottom-funnel), and two ad types (search and display). Then the campaigns could be as follows:

US | Laptop | Top funnel | Search
US | Laptop | Top funnel | Display
US | Laptop | Bottom funnel | Search
US | Laptop | Bottom funnel | Display
US | Printer | Top funnel | Search
US | Printer | Top funnel | Display
US | Printer | Bottom funnel | Search
US | Printer | Bottom funnel | Display
CA | Laptop | Top funnel | Search
CA | Laptop | Top funnel | Display
CA | Laptop | Bottom funnel | Search
CA | Laptop | Bottom funnel | Display
CA | Printer | Top funnel | Search
CA | Printer | Top funnel | Display
CA | Printer | Bottom funnel | Search
CA | Printer | Bottom funnel | Display

This way it is relatively straightforward to read the campaign names and understand what the campaign does. If you want to compare top-funnel campaigns with bottom-funnel campaigns you can simply filter based on this parameter. Similarly, if you want to see how the performance of the products compare you can filter on this.

It is also important to spend some time to understand how the hierarchies of the ad accounts of the larger platforms such as Google and Facebook are supposed to be used and to use them accordingly. This will really help create a more manageable structure and will ensure that you can use the platform optimally. For example, Facebook recently created a new hierarchical level called Ad Set. The targeting is set at this level, so you should think of an Ad Set as representing a target audience. Similarly, Google has a level called Ad Group which is the level at which you set the keywords.

UTM tagging

One of the most important things in setting up a new advertising channel is to make sure you and everyone else who creates ads have a process for correctly and consistently tagging the ad URLs with tracking parameters so that the traffic appears correctly in your analytics software. If you do not do this you will not be able to properly attribute sales to your advertising efforts.

UTM tags connect what happens on the advertising channels with what happens on your website. If you don’t tag the URLs then the paid traffic will typically look the same as organic traffic and there is no way to see in your analytics software which campaigns have actually generated sales and compare campaigns between advertising platforms to see which ones work the best. The figure below shows how UTM tagging connects advertising data with analytics data. UTM tagging is so important that we have written a separate guide for it.


Advertise with the marketing funnel in mind

When we set up a new advertising channel our objective is typically to create ads and to get started with driving sales as fast as possible. The problem with this is that there is a buying cycle that your customer goes through before they buy your product and with this approach, you will be showing the same ads to all customers irrespective of where they are in the buying cycle. This does not optimize the results from your advertising and can be confusing for buyers. For example, if a customer has never heard about you and your product it may not be appropriate to put an ad in front of them offering it to them at a discount. Similarly, if a customer has spent a month researching your product and is finally ready to buy, then a content marketing ad with a general industry overview is not the most effective way to close the customer.

It is helpful to take a step back and divide campaigns into different objectives based on the marketing funnel. The picture shown below shows three stages that are often used in the marketing funnel: awareness, engagement, and conversion.




The objective of awareness campaigns is to find potential customers who have never heard of you and have never visited your website. Depending on your type of business there are many ways to reach these from branding campaigns to content marketing. Large advertising platforms have powerful targeting algorithms to automatically create lookalike audiences from your existing customer base that you may want to try.


For engagement campaigns, you typically target people who have been to your website but are not yet ready to buy. A good way to do this is to use a retargeting pixel with some logic to ensure that they are not ready to buy. For example, customers who have visited the home page and general content but not the pricing page or shopping basket. If you are using a marketing automation system then it may be able to tell you where your customers are in the buying cycle and you can use this to trigger different types of ads. The goal of the campaign is to get them to learn more about your product and push them to a point where they are ready to purchase.


For conversion campaigns, you want to generate sales. Again, a retargeting pixel is effective for this, as are signals from your marketing automation system if you have one. Your messaging here is very much around the product and may even include an offer of a discount.

If you have a long sales cycle you may want more stages and if you have a short sales cycle you may want to have fewer stages (for example top funnel and bottom-funnel). If in doubt, try to keep things simple. Start with fewer stages and expand to more stages as the sophistication of your marketing program grows. The important thing is to not show the same ad to all people but to customize the message based on where they are in the buying cycle.

Decide on a set of goals and KPIs to track

Decide on a set of metrics to use to consistently evaluate ad campaigns that reflect what is important to your business. The most powerful KPIs are often the ones that combine data from the advertising platforms (how much you spend) with data from the analytics platform (your sales). The exact metrics that you want to track will depend on the nature of your business:


There are a really large number of KPIs that you can track in eCommerce and it is easy to get lost in them. Often it is most important to see how much you sell, how profitable the sales are, and how much you are spending to get the sales. This gives you the following three KPIs:

  • Revenue: You are definitely going to want to track this metric for each advertising channel. Your most important channels are likely going to be the ones that can drive the most revenue.
  • Cost of sales (COS) or Return on advertising spend (ROAS): This is ad spend divided by revenue (COS) or revenue divided by ad spend (ROAS). Assuming your margins are reasonably similar for your different products then this basically tells you how profitable different advertising channels are.
  • Total ad spend: Most of us operate within some sort of weekly or monthly budget so we need to track total ad spend to make sure we don’t over or underspend.

Other eCommerce KPIs of interest include conversion rates, customer acquisition cost, average order size, and average margin. You also want to look at the lifetime value of different advertising channels. For example, a deal site offering deep discounts may drive customers with much lower lifetime value than a brand campaign. The percentage of returns is another KPI that is important to understand. Returns are very expensive and can vary between advertising channels. It is important to understand this and take it into account when evaluating different types of advertising.


Many SaaS companies offer a free online trial. In this case, key marketing goals include:

  • Number of trial signups
  • Cost of a trial signup
  • Average plan value
  • Total advertising spend

SaaS companies with a sales force tend to focus on getting website visitors to fill out a contact us form. In this case key KPIs can be:

  • Number of form signups
  • Cost per form signup
  • Total advertising spend

It may be that the website contains other things that are of value such as the customer leaving their email address to sign up for an email newsletter. In this case, it may be useful with a more complex definition of a conversion where contact us forms and newsletter signups are attributed different $ values and the total summed up.

For SaaS companies, it is especially important to also measure and take into account metrics further down the marketing funnel. Ideally, both purchases and lifetime value should be considered. One way to do this is to properly tag trials and contact us forms and then have the backend system write to the analytics solution when a purchase takes place. This can have a dramatic impact on the optimization of advertising efforts as conversion rates can differ greatly between different advertising channels and different countries.

Connecting it all up to create a system of record

The final piece of a good advertising setup is to connect the data from your advertising with your analytics data to calculate your metrics and evaluate your campaigns. This becomes your system of record for your advertising. There are two key components that this system of record should contain:

  1. A table with the performance of all ads channels and campaigns
  2. Graphs for each key metric

The table is a snapshot summary for a time period such as a week or month. It provides one aggregate number to tell you how an advertising platform or campaign performed with respect to a certain metric. Below is an example table that shows the performance of different advertising platforms. The first two metrics, ad spend and sessions come from the ads platforms. The next three metrics, transactions, assists, and revenue, come from Google Analytics. The last two metrics, customer acquisition cost (CAC) and return on advertising spend (ROAS), are calculated from the advertising and analytics metrics with CAC = Ad spend / Transactions and ROAS = Revenue / Ad spend. These are just example metrics, each business will have different metrics that it wants to track.

Ads channel Ad spend Sessions Transactions Assists Revenue CAC ROAS
AdWords Search $45 489 36 012 1 801 3 601 $194 465 $25 428%
AdWords Display $9 765 28 319 283 850 $28 035 $34 287%
Bing $8 345 6 828 273 546 $28 130 $31 337%
Facebook $37 654 115 472 2 309 8 083 $228 635 $16 607%
Twitter $4 921 5 249 142 638 $14 172 $35 288%
LinkedIn $3 548 1 833 55 220 $7 149 $65 202%
YouTube $12 493 7 853 275 825 $26 660 $45 213%
Total $122 215 201 566 5 138 14 762 $527 248 $24 431%

It is very powerful to also look at the same table but with one row for each campaign. This allows you to evaluate campaigns across advertising platforms and lets you see what campaigns drive the most sales for your business.

Whereas tables provide a summary, graphs tell a story and allow you to spot trends. It is very insightful to plot key metrics. For example, the graph below shows the total cumulative advertising spend month to date. It allows you to quickly see if the spend starts to deviate from the budget or previous months' spend and to take corrective action if this is the case.


You should create a marketing dashboard with graphs of your key metrics so that you can detect issues, see trends and anticipate where the results for the week or month will end up.

There are a couple of different ways to set up a system of record for your advertising:


The most common option is to use Excel. The drawback of this is that it is a very manual process. You set up a structure in Excel and then manually upload CSV files from each ads channel and Google Analytics every time you want to look at up-to-date data. As a result, this is usually only done once a month at smaller companies and once a week at larger companies.

It is really important to have up-to-date aggregated performance data and teams that are on top of their customer acquisition tend to update their spreadsheets every day, even it if is tedious and time-consuming.

Another drawback of Excel is that the spreadsheets can get a bit unwieldy after a while and are hard to maintain and share.

Business intelligence (BI) tool

Larger businesses tend to rely on a business intelligence tool rather than Excel. This is a more scalable solution and easier to collaborate in. Many BI tools also have automatic connections to Adwords, Facebook, and Google Analytics. However, most other ads channels have to be imported via CSV. Furthermore, there is no structure to merge analytics data with advertising data or create a hierarchy of markets. As a result, it can take a substantial effort to set up and maintain a BI tool.

In house developed solution

A number of companies that are tired of uploading CSV files manually develop an in-house solution for reporting. However, most quickly back away from it once they have tried it. The advertising platform and analytics tool APIs are relatively complex and hard to implement and maintain. You have to be a relatively large company for it to be worthwhile to build a solution in-house. In this case, it is probably best to rely on a BI solution and build connections from the ads platforms to the BI tool so import the data automatically.

Importing cost data into Google Analytics

Google Analytics has the functionality to import advertising cost data both via file upload and an API. With the file upload, you have to export the data from the ads platforms and format them to fit the Google Analytics format. With the API option, you have to write software to interface with the APIs of all the ads platforms which is a big task comparable in effort to developing a complete in-house solution. Once the data is in Google Analytics you have a complete system of record for your advertising and analytics data. However, since the main use case for Google Analytics is to analyze analytics data the tools to look at advertising cost data are limited. As a result, most advertisers choose to instead export their Google Analytics data and merge it with advertising data in an external tool.


Funnel is purpose-built to be the system of record for advertising and analytics data. It provides:

  • Automatic connections to Google Analytics and a large number of advertising channels
  • Sophisticated rules for merging advertising and analytics data
  • Ability to structure your data to reflect your business
  • Currency conversion
  • Custom metrics so you can track the KPIs that matter to your business
  • A full business intelligence dashboard creation framework
  • A framework for sharing reports with internal stakeholders and clients