How to Import Non-Google Advertising Cost Data to Google Analytics 4

You need information on all advertising campaigns in one place to adequately evaluate your marketing effectiveness. Of course, you can assess campaigns individually in each advertising service. But in the end, you still need a pivot table with all of your data. Therefore, many marketers prefer to use the Google Analytics 4 interface.

Find out the real value of ad campaigns

Automatically import cost data to Google Analytics 4 from all your advertising services. Compare campaign costs, CPC, and ROAS in a single report and make fully-informed decisions.

Why you need to import non-Google advertising cost data to Google Analytics 4

If you use multiple advertising services and platforms to promote your products, it’s a good idea to combine all the ad cost data in a single interface.

Here are just a few of the advantages of doing so:

1. Saves time. You don’t need to switch between Google Ads, Facebook, Instagram, and other services to evaluate the efficiency of your advertising efforts.

2. Allows you to compare the performance of all ad platforms in one tool. In addition to ad cost data, you can send additional information from advertising services such as Facebook or Bing to Google Analytics 4 to deeply analyze your campaigns’ efficiency. You can use this data to decide if your channels pay off and reallocate your budget by comparing views, ad costs, CTR, ROAS, and other metrics acros all traffic sources.

You can see data from all of these channels and more in GA4 reports by going to Reports — Acquisition — Non-Google cost.

NOTE: You’ll be able to see this report only after you set up Data Import.

Reports — Acquisition — Non-Google cost

3. Allows you to use additional features of Google Analytics 4. If you import cost data to Google Analytics 4, you can use it in custom reports in the Explorations section.

Custom reports in the Explorations section

How to import non-Google advertising cost data to Google Analytics 4

It’s quite easy to import cost data from Google Ads to Google Analytics 4, as there’s a native integration between these two services. However, there is no built-in functionality for automatically importing data into Google Analytics 4 from non-Google ad platforms such as Facebook, Instagram, Bing, LinkedIn, and Twitter.

There are three ways to import cost data from other ad services into GA4:

  1. Manually import CSV files via the GA4 interface
  2. Import cost data via the GA4 SFTP method
  3. Use the out-of-the-box solution from OWOX BI

All three options require proper UTM tagging for your ad campaigns:

  • Required: utm_id, utm_source, utm_medium, utm_campaign
  • Optional: utm_term, utm_content

NOTE: If you have never heard of the utm_id tag, now is the time to get to know it! Without this tag, you won’t be able to import expenses, impressions, and clicks for non-Google campaigns into Google Analytics 4.

Once users click on links to your site or app, the values from the UTM tags are sent to Google Analytics 4. Make sure that you use the proper UTM codes for all of your advertising campaign links.

1. How to import CSV cost data into Google Analytics 4

With this method, you have to put data from a particular ad service into a CSV file and upload it manually to Google Analytics 4 every time you need a report. If you have two or three channels and you want data on them every month, this manual method is fine. But when it comes to dozens of channels, it gets complicated and time-consuming.

There are three steps for manually importing cost data to Google Analytics 4.

Step 1. Create a CSV file to upload

First of all, you need to prepare a CSV file with the data you want to upload to Google Analytics 4. This file should contain the following parameters:

  • utm_id (campaign ID)
  • utm_source (campaign source)
  • utm_medium (campaign channel)
  • utm_campaign (campaign name)
  • date (YYYY-MM-DD)
  • clicks (daily value)
  • cost (daily value)
  • impressions (daily value)

To make it easy for you, you can download a CSV file template from Google Help and fill it with your own data on expenses, clicks, and other metrics from a third-party advertising service.

CSV file template

When entering data in the file, you need to take into account the limitations of cost data importing in GA4:

  • You can upload data for a maximum of the last 90 days
  • The file should not contain duplicate keys (e.g. two user_id fields)
  • GA4 does not allow keyword data to be uploaded (If you need a report on keywords, use the solution from OWOX.)

Step 2. Create a data source in Google Analytics 4

A data source is where you will upload cost data from non-Google channels. To create a data source in GA4, go to Admin panel — Property — Data Import and click Create data source:

Admin panel — Property — Data Import

Then name your data source, choose Cost Data as the Data type, choose Manual CSV upload as the Import source, and click Upload CSV:

Upload CSV

After you upload the CSV file from your computer, you need to match the parameters in GA4 with the parameters from your CSV file:

To match the parameters in GA4 with the parameters from CSV file

Click the Import button and wait a couple of minutes while the system processes the uploaded file. After that, you will see a message about successful importing:

A message about successful importing

If you click the arrow on the right, you can see the details of the upload. If you correctly tagged your ad campaigns and prepared the CSV file, you should have a 100% Match rate.

Match rate 100%

If you see zeros in the Match rate column, it means that GA4 could not match the imported data with information already in the system. The most likely reason is that there is no key (utm_id) by which this data can be linked. Read more about this in our article on what utm_id is and why it is so important.

Step 3. Check how the cost data has been uploaded

After you have set up the cost data import correctly, a Non-Google cost report with the imported data will appear in the Acquisition section of your Google Analytics 4 reports. Data will appear in the report almost immediately after the file has been successfully processed and imported by the system.

Non-Google cost report with the imported data

If you delete the uploaded file, the cost data will disappear from the report. GA4 does not copy the data but rather uses the uploaded CSV file as an external table.

You can also create a custom report in the Explore section and add campaign parameters as well as cost, impression, click, cost-per-click, and return on ad spend metrics that are not related to Google.

A custom report in the Explore section

2. How to import cost data with the GA4 SFTP method

This method can be called semi-automatic. Yes, Google Analytics 4 will automatically retrieve data from your server at the frequency you specify in the settings. However, you will have to prepare the file with ad cost data for uploading, periodically update it, and upload it to the server yourself, either manually or using ETL/ELT tools.

Step 1. Create and configure your GA4 SFTP server

You need to create a server in advance that supports the SFTP data transfer format. This server can be deployed locally or in the cloud. To correctly create and configure it, you need to have certain technical skills.

Here are some useful materials on creating an SFTP server:

Why managing a self-service SFTP server for importing non-Google cost data to GA4 may not be your best option

Managing a self-service SFTP server for this purpose can be challenging, especially for those who lack technical expertise. While numerous tutorials available online can guide you through the process of setting up and managing an SFTP server, it is essential to evaluate your organization’s needs and requirements before taking the plunge.

Technical expertise

Setting up and managing an SFTP server requires a certain level of technical know-how. It involves configuring the server, setting up the necessary security measures, and troubleshooting any issues that may arise. For individuals or organizations without a strong technical background, this can be a significant challenge.

Time and resource investment

Setting up an SFTP server requires a considerable amount of time and resources. From purchasing the necessary hardware to allocating IT personnel for server management, the process can be time-consuming and expensive.

Total cost of ownership (TCO)

When evaluating the decision to set up a self-managed SFTP server, it is essential to assess the total cost of ownership. Although the initial costs of establishing a self-managed SFTP server on public cloud providers like Google Cloud, AWS, and Azure may seem economical at first glance (potentially less than $50 per month), it’s critical to recognize the hidden expenses associated with ongoing maintenance. The true hidden costs lie in the time and effort required by IT personnel to manage, monitor, and troubleshoot your self-managed SFTP server.

If you have the resources and personnel to manage the server, there are numerous options to choose from. However, if you lack the necessary resources, it is vital to carefully consider the hidden costs of ongoing maintenance. By doing so, you can make a well-informed decision about whether a self-managed SFTP server is the right solution for your organization or if alternative options, such as OWOX BI, may be better suited to your needs.


Step 2. Create a data source in Google Analytics 4

To create a data source, go to Admin panel — Property — Data Import and select Create data source:

Create data source in Google Analytics 4

Then name your data source and choose Cost Data as the Data type:

Cost Data as the Data type

Next, choose SFTP as the Import source. You will also need to fill in the required fields for SFTP server username and SFTP server URL. Specify the frequency and time when GA4 will retrieve your data from the server, and click the Next button in the top right corner.

SFTP as the Import source

After that, you need to map the parameters in GA4 to the parameters from your expense file on the server and select Create & generate key:

Create & generate key

The field names here should exactly match the field names in the CSV file you are going to upload.

GA4 will generate a public key. Copy this key and authorize it on your SFTP server, then click Done.

Public key in GA4

If you have done everything correctly, you will see a message saying that the file has been successfully uploaded.

A message saying that the file has been successfully uploaded

To check how your costs were uploaded, you can view the cost data in your Non-Google cost report or in any custom report by selecting the appropriate parameters.

3. Automatically import cost data into Google Analytics 4 with OWOX BI

Most e-commerce projects use other ad platforms along with Google Ads. Therefore, these projects have to track their costs carefully so marketers can quickly react and reallocate their marketing budgets. This is why uploading data manually is surely too time-consuming. But there are tools to solve this problem and help marketers and analysts avoid routine work. Here’s our solution to this problem.

With OWOX BI, you don’t need to manually prepare CSV files, create your own SFTP server, configure data collection from different advertising systems, transform data into a unified structure, and regularly update data. OWOX BI will do all of this for you.

Get Automated Google Analytics 4 Cost Data Import

Unique advantages of OWOX BI:

  1. Same cost data format. With OWOX BI, you don’t need to worry about cleaning, deduplicating, and formatting your data to match the required format. The service will transform your data into a unified structure required for GA4 importing.
  2. Historical data. Download data for the last two months from the ad service and evaluate your past campaigns.
  3. Updates. Within 21 days, OWOX automatically updates data if it has changed in the advertising service.
  4. Accuracy. OWOX BI processes dynamic parameters, checks existing UTM tags in your campaigns, and reports possible errors. OWOX BI can also expand shortened links.
  5. Quality. OWOX BI Data Monitoring checks the quality and compliance of data from advertising services.
  6. Flexible customization for your business needs. OWOX BI is an out-of-the-box solution, but it is also an open and transparent system. This means that you can make changes and customize data collection and transformation to meet your specific needs.
  7. Ability to load cost data from Google Sheets. If you cannot find the integration you need among OWOX BI’s offerings, that’s not a problem. You can easily supplement the data automatically collected by OWOX BI with manual inputs through Google Sheets.
  8. Manage the whole data flow in an analyst-friendly UI. With OWOX BI, you can control data processing and transformation in a convenient web interface with data lineage graphs.


To compare the performance of your ad channels, you need to collect data in a single system like Google Analytics 4. The best way to import your cost data depends on how many ad services you use and how often you need reports on them.

If you use two or three ad services and don’t need reports often, you can upload cost data to Google Analytics 4 manually. Otherwise, consider using a special service like OWOX BI to automatically upload cost data.


Expand all Close all
  • Which platforms can you import cost data from?

    Cost data can be imported from a variety of platforms, such as Google Ads, Facebook Ads, Bing Ads, LinkedIn Ads, Twitter Ads, and others.
  • Why should you import cost data into your analytics tool?

    Importing cost data allows you to track the ROI of your advertising campaigns, determine which campaigns are most effective, and make data-driven decisions to optimize your marketing budget.
  • What is cost data import?

    Cost data import refers to the process of importing external data related to the cost of advertising campaigns, such as Google Ads or Facebook Ads, into a marketing analytics or reporting platform for more comprehensive analysis.