How to Import Non-Google Advertising Costs to GA4 for Better ROAS

Data Integration GA4 OWOX BI

icon Get in-depth insights

Why and how to automate advertising cost import to Google Analytics 4

icon Get in-depth insights

Why and how to automate advertising cost import to Google Analytics 4

Over 70% of marketers use multiple advertising platforms. That is why gathering all the information on different advertising campaigns in one place is important to evaluate your marketing effectiveness accurately.

Of course, you can assess campaigns individually in each advertising service. But at the end of the day, you still need a pivot table with all of your data. Therefore, many marketers prefer to use the Google Analytics 4 interface.

However, as insightful as Google Analytics 4 may be, it doesn't naturally incorporate non-Google advertising cost data. This missing data can leave gaps in your understanding of the overall performance of your marketing efforts. So, the question is: how do you import non-Google advertising cost data into Google Analytics 4?

According to Google, marketers who import non-Google advertising cost data to Google Analytics 4 report a 30% improvement in ROI analysis.

Note: This post was originally published in March 2023 and was completely updated in June 2024 for accuracy and comprehensiveness on marketing analytics.

What is non-Google Advertising Cost Data?

Non-Google advertising cost data refers to the expenses associated with advertising on platforms other than Google. This encompasses various advertising avenues, spanning from social media platforms such as Facebook and Instagram, to search engines like Bing, digital ad networks, and conventional media like television and print. Collecting this data helps businesses understand the full scope of their advertising efforts across various channels, enabling them to assess the effectiveness of each and optimize their marketing strategies accordingly. The integration of this data into analytics tools like Google Analytics 4 allows for a more comprehensive analysis of marketing performance, improving decision-making and potentially enhancing return on investment.

Find Out the Real Value of Ad Campaigns

With your non-Google advertising data imported to your Google Analytics 4, you can now accurately measure and evaluate the success of your marketing strategies. Seamless data integration provides a clearer picture of ROI, user behavior, and campaign impact across multiple channels and platforms, helping you make data-driven decisions –and that, after all, is the goal of every successful marketer.

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.

Measure CPO and ROAS in GA4

Automatically link your Ad Platforms cost data to Google Analytics 4 conversion data, so you can analyze your marketing KPIs and make fully informed decisions

Start Free Trial
Measure CPO and ROAS in GA4

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 across 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.

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.

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:

  1. Required: utm_id, utm_source, utm_medium, utm_campaign
  2. 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 GA4

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:

  1. utm_id (campaign ID)
  2. utm_source (campaign source)
  3. utm_medium (campaign channel)
  4. utm_campaign (campaign name)
  5. date (YYYY-MM-DD)
  6. clicks (daily value)
  7. cost (daily value)
  8. 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.

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

  1. You can upload data for a maximum of the last 90 days
  2. The file should not contain duplicate keys (e.g., two user_id fields)
  3. 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 Settings — Data Collection and modification — Data Import and click Create data source:

Then name your data source, choose Cost Data as the Data type, choose Manual CSV upload as the Import source, and click 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:

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:

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.

If you click the arrow on the right, you can see the % Imported and Match rate column.

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.

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.

#2. How to Import Cost Data Using 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:

  1. Creating an SFTP Server on Ubuntu 22.04
  2. How to Set Up an SFTP Server in Google Cloud Platform and Restrict Access
  3. How to Set Up an SFTP Server on GCP for Secure File Transfers over SSH/TLS Encryption on Windows 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 Settings — Data Collection and modification — Data Import and select Create data source:

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

Next, choose SFTP as the Import source. You will also need to fill in the required fields for the SFTP server username and 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.

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:

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.

If you have done everything correctly, you will see 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 any custom report by selecting the appropriate parameters.

#3. Automatically Import Cost Data Into GA4 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. However, 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.

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.

Automate your digital marketing reporting

Manage and analyze all your data in one place! Access fresh & reliable data with OWOX BI — an all-in-one reporting and analytics tool

Start Free Trial
Measure CPO and ROAS in GA4

Common Challenges Faced When Importing Non-Google Advertising Cost Data

Importing non-Google advertising cost data into Google Analytics 4 is a strategic way to enrich your marketing performance data and gain a comprehensive view of your advertising efforts. However, this task may seem challenging due to a few common issues that can arise. Understanding these challenges can equip you to better address them and facilitate a smoother data import process.

Data Formatting and Structure Issues

One of the main challenges comes from data formatting and structure issues. Different advertising platforms have unique ways of structuring and formatting their data. You might encounter differences in the way dates are formatted, currency is represented, or how ad campaign names are structured. Importing this data without resolving these formatting discrepancies can lead to inaccuracies in your reports. To prevent this, you must standardize the data format and structure before importing.

Matching and Mapping Challenges

The second common challenge lies in matching and mapping the non-Google data to the correct fields in Google Analytics 4. Since different platforms might use different terminology or categorization for the same metric, you must map the non-Google platform's data correctly to your Google Analytics data. Incorrectly matching metrics could distort your dataset and misinform your analysis.

Data Source Limitations and Constraints

Furthermore, each advertising platform has its own set of limitations and constraints in terms of the data it tracks and stores. These limitations, such as how long historical data is retained or what data points are available for export, could hinder your ability to import all the data you need into Google Analytics 4. Being aware of these constraints allows you to devise alternative methods to fill in any data gaps.

Despite these challenges, it's important to remember that integrating non-Google advertising data into your Google Analytics 4 platform is not only feasible but also highly beneficial. With patience and precision, you can greatly enhance your reporting capabilities, making it easier to measure advertising performance and make data-driven decisions.


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.

Book a demo

Gain clarity for better decisions without chaos

No switching between platforms. Get the reports you need to focus on campaign optimization

Book a demo


Expand all Close all
  • Can you import data into Google Analytics 4?

    Yes, you can import various types of data into Google Analytics 4, including cost data from non-Google ad platforms, event data, and user properties. This functionality allows for richer analytics and deeper insights into user interactions and campaign performance across multiple channels.

  • How do I import a CSV file into Google Analytics 4?

    To import a CSV file into Google Analytics 4, create a data source under Property Settings in the Admin panel, choose 'Cost Data' as the Data type, and 'Manual CSV upload' as the Import source. Upload the CSV file, match the parameters in GA4 with those in your file, and import.

  • How do I import data into GA4?

    To import data into GA4, first set up a data source in GA4's Admin panel under Data Collection and Modification. Choose the type of data you want to import, configure the source (CSV, SFTP, etc.), upload or connect your data, and match your data fields to GA4 fields.

  • What is the importance of UTM tagging in importing cost data into GA4?

    UTM tagging is crucial for tracking the effectiveness of your advertising campaigns when importing cost data into GA4. UTM parameters such as utm_id, utm_source, and utm_campaign ensure accurate attribution of traffic and costs to the correct campaigns, facilitating detailed performance analysis and ROI optimization within Google Analytics.

  • Can I import historical cost data into GA4?

    You can import historical cost data into GA4, but there are limitations. GA4 allows the import of data for up to the last 90 days. For accurate and comprehensive analysis, it's essential to regularly update and import your data within this timeframe to keep your reports current and relevant.

  • How do I ensure the accuracy of imported data in GA4?

    To ensure accuracy when importing data into GA4, meticulously prepare your data files, correctly map the data fields to GA4 parameters, and use precise UTM tagging for campaign tracking. Regularly check the import logs in GA4 for any errors or mismatches and adjust as necessary to maintain data integrity.

  • How to import cost data?

    To import cost data, start by gathering your advertising spend data from all platforms. Format this data into a CSV file with necessary parameters like campaign ID, source, and costs. Upload this file to your analytics tool, such as Google Analytics 4, via manual upload, SFTP, or an automated solution like OWOX BI, ensuring accurate UTM tagging for tracking.

  • Why should I import cost data into Google Analytics 4?

    Importing cost data into Google Analytics 4 enables comprehensive tracking and analysis of your advertising spend across multiple platforms. This integration offers enhanced insights into cost-effectiveness, aiding in the optimization of marketing strategies and enhancing return on investment (ROI).

  • What benefits can I get from importing cost data into Google Analytics 4?

    Benefits of importing cost data into GA4 include improved budget allocation, detailed performance analysis across channels, and enhanced ROI understanding. It allows marketers to make data-driven decisions, comparing campaign effectiveness and reallocating resources for maximum impact.

  • 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.

icon Get in-depth insights

Why and how to automate advertising cost import to Google Analytics 4

icon Get in-depth insights

Why and how to automate advertising cost import to Google Analytics 4