Google Analytics: Cost Data Upload for Non-Google PPC campaigns

by Vineet Singh, June 24, 2015


Quite a few years have passed since the day I have managed to keep my Adword campaigns in good health – at least that’s what I hear from my clients. But, there is a twist to the story – Now, in addition to the Adwords campaign, I have paid campaigns for Facebook and LinkedIn running simultaneously for a lot of clients – and I desperately need to compare apples to apples. I need to understand the relative value that I derive from each of these paid campaigns.

The good news is that it is possible to integrate the non-Google paid campaigns (Facebook, LinkedIn, Twitter, Bing, Affiliate) with Google analytics – enabling the import of cost data of each of these Non-Google paid campaigns within GA – making it easier for us to perform the COST vs. ROI analysis of each of the paid campaigns. As a result of this integration, Campaign cost data is coupled with the visitor data, facilitating a deeper ROI analysis for all our paid campaigns.

So, where do I start?

How should I go about importing the cost data of non-Google paid campaigns into GA?

The cost data upload can be accomplished in 4 easy stages as illustrated below…













Before we move ahead with our first stage activities for setting up the Custom data source in Google Analytics (GA), it makes sense to understand the connectivity / relationship of a custom data block within the GA itself. A simple view of this is given below….one custom data source has to be connected to at least one view / profile.









Let’s get down to the real business of importing cost data into GA.

STAGE1: Set up the Custom Data Source













Custom Definitions tab –>  Custom Data Source tab –> Click New Custom Data

        Source –> Provide a Name and Description for the Custom Data Source

–> The Type can only be set to ‘Cost’ –>  Select which Profiles to link to the Custom Data Source. The Cost Data for this source will appear in the selected Profiles reports.



















If you have multiple external data sources (Facebook, LinkedIn, Twitter…), you will be creating multiple custom data sources for each of these external paid campaigns and the consolidated custom data screen will look like this…











Now, if you click on TEST-FB Data, you will go to the next screen…












The UID above is common link between GA data and the external campaign cost data (or your custom data source). Each of the custom data sources (FB / LI / Affiliate / Twitter) will have their own UID.


  • You can create up to 25 custom data source for each web property.
  • Each custom data source contains one or more ‘daily upload sources’. A daily upload source represents actual data for a particular date.


 STAGE 2 & 3:  Download & Pre-Process the data

  1.                       i.        The file should be in either tab delimited (with a .txt file extension) or CSV format (with a .csv file extension)
  2.                      ii.        In the above example, the external data file will have the following columns: ga:medium; ga:source; ga:ad cost; ga:campaign; ga:ad content
  3.                     iii.        Leading & trailing lines need to be removed
  4.                     iv.        Dates need to be converted to an acceptable format (2012-12-31).
  5.                      v.        The column names need to be in sync with acceptable format in Google Analytics
  6.                     vi.        All operations are automatically recorded – so, it can be reused for the next period


STAGE4:  Upload / Import data into your GA account

The cost data upload into GA can be accomplished in 3 ways:

[1] Use the ‘Manage Upload’ Tab in the Data Import segment (Image below)






[2] Use the Google Analytics Management API

[3] Use a 3rd party tool below access this API without any coding


Pre-requisites for accessing the GA Management API:

[a] Ensure that all of your campaigns have got campaign tracking parameters (utm_source, utm_medium, utm_campaign, utm_term, and utm_content).

[b] Retrieve cost data for each external data source and store it in a separate CSV file.

[c] Format your cost data for each external data source according to cost data import schema


It’s time to import Cost data into GA: See the steps below


Click on Data Import tab –> Click on ‘NEW DATA SET’ button à Select ‘Cost data’ in the Data Set Type–> Provide a Name for the Custom Data Source Select which Profiles /

 Views to link to the Custom Data Source (This you have already established in the Stage 1) –> Click Next

















Once you click Next Step, you will be taken to the next screen for creating the Custom data set schema – which looks like this…














Once you Click Save, You will get the following two tabs:

  –> Get Schema   AND   Get Schema Source ID (for API users)

  –> Click on Get Schema –> you will get the following screen



What this gives you?

[1] Header labels for the CSV files which will be imported into GA. The external campaign data will be downloaded in the above format – to be imported finally into GA.


[2] You can directly download the Schema template (.csv file) – for downloading external campaign data

“At this point of time, your custom data import file template is ready to be populated and imported into GA.”

The next screen shows all the custom data uploads –>Click on Manage Uploads –> Upload file à your cost data file is ready to be uploaded

If you will be using utilizing an API to upload cost data, you will need a ‘Custom Data Source ID’ – The key which binds the GA data and the external Cost data. To get this key, Click on    Get Schema Source ID (for API users) in the prior screen. You will get the following…











You will need the Custom Data Source ID for uploading data to the data set via API. This is same as UID (or API key) as seen during the Custom data set up phase


The imported costs data is automatically integrated with the website usage data (visits, bounce rate, views, revenue etc.) – enhancing the ROI insight into your campaigns. The Cost analysis report can be seen here (although it is still in the Beta phase)…

  • Acquisition –> Cost Analysis (BETA))

This report gives us the business and investment intelligence for multi-channel paid marketing campaigns.

For any query / help, feel free to contact CopperBridge Google Analytic team:

SKYPE: copperbridgemedia