All Collections
Google Analytics Upload
Google Analytics - GA4 Cost Upload configuration
Google Analytics - GA4 Cost Upload configuration
Richard Boss avatar
Written by Richard Boss
Updated over a week ago


Funnel's Google Analytics 4 Cost Upload connector lets you upload cost data to your GA4 property. This is done by Funnel providing an SFTP server endpoint that GA4 can connect to and download your Funnel cost data from.

Getting started

To setup the Funnel SFTP Server and GA4 Data Import you need to do them on both sites in tandem.

  • In Funnel navigate to Google Analytics upload.

  • Click the button GA4 upload in the top right corner.

  • On the new page click Create Data Share.

  • In your GA4 property navigate to "Data Import" and click "Create data source".

Follow the instructions in Funnel to complete the setup in both places.


Schedule / Import

Once a GA4 Upload Share has been configured it will run on scheduled time and create a CSV file with the field values you have selected and put on the Funnel SFTP server so that GA4 can access and download it.

Funnel's share job and the import job in GA4 is not connected and will run on their own schedule. Just because the GA4 Share has exported successfully in Funnel does not mean that GA4 data import run or if it has that the file has been processed yet.

When testing you can trigger both the Funnel Share job and GA4 import job manually to quicker check that it works as you want it to.


You will need custom dimensions in Funnel for Campaign ID (utm_id), Campaign source (utm_source), Campaign medium (utm_medium) and Campaign name (utm_campaign).

Each of these dimensions always need to have a value and always need to map the corresponding value in GA4. The mapping of the data is also case sensitive so remember that you might need to utilise the "lower case" function in Funnel to get the values or to match.

Also note that you need to send utm_id for all data in GA4 that you want to map cost for.
โ€‹Please read our blog post about utm_id and why you should use it.

You need to select metrics for Cost, Clicks and Impressions but they don't need to have any values if you don't want to. For example if you don't want to upload impressions you can leave it be 0 or (no value) for each row.

Migrating field rules from UA to GA4

If you for example have this in your Google Analytics Universal rules:

That would correspond to the 4 custom dimensions below.

The standard rules for the Campaign Name dimension:

These custom rules for a new Medium custom dimension:

These custom rules for a new Source custom dimension:

And these custom rules for a new Campaign ID custom dimension (which didn't exist in the UA cost upload):


There are a few default filters that Funnel applies to all Shares and those are:

  • Rows where the uploaded Campaign Source is "google" will automatically be ignored to not upload data already from Google.

  • Google don't allow empty values for any of the columns (Date, Campaign ID, Campaign source, Campaign medium or Campaign name) so we will always apply a filter that only uploads rows where all of these fields has values.


  • "Something went wrong" error when running GA4 Data Import

    • Check that data import Server Username and Server Url is correct in GA4 Data Import and matching what is setup in Funnel.

Did this answer your question?