How do you measure success for your paid ads in Google Analytics?
Previously, if you wanted to know how well your channels are going, you’d rely on the Acquisition > Traffic and Acquisition or User reports.
These help you to understand what traffic is coming to your website.
However, if you’re spending your hard-earned dollars to get people to the destination, what’s missing is your return on the effort you put in. That’s how much you paid to get them there.
Good news, you no longer will need to worry about manually importing cost-based data for Meta ads, TikTok, Pinterest, Snap and Reddit.
Google Analytics has introduced a beta feature that lets you connect these platforms without fussing over creating and importing manual spreadsheets.
Previously called ‘Cost Data Import’, they have renamed the tool ‘Campaign Data Import’ on November 19 2025.
You’ll be able to import:
- Impressions (how many times the ad was served)
- Cost (what you paid)
- Clicks (platform level)
So you’ll be able to see how well your channels perform, not just by traffic numbers, but also how much it costs you to drive traffic to your website.
You’ll then be able to see how traffic links to your key events (conversions), such as form completions or eCommerce purchases.
Why Import Cost or Campaign Data into GA4?
- Easier to compare different channels: Compare Google, Facebook and Instagram (Meta ads), TikTok, Reddit, Pinterest and other ad channel costs side-by-side.
- Understand your return on ad spend (ROAS): Work out how much each channel costs to drive people to your website or to take key actions, such as making a sale or completing a form.
- Simplified Reporting: All ad cost data appears directly in GA4 reports, without juggling spreadsheets or switching between ad platforms.
- Prepares you for the GA4 budget tool: Google is working on a budget forecaster tool, so likely these two (we hope) should use the data to help you forecast and plan your marketing budgets in the future.
New Automatic Cost Import for Meta, TikTok and more (Beta)
As the most common platforms for ads outside Google Ads are Facebook and Instagram, we’ll focus on them, but keep in mind that other channels offer this too, and the steps below are similar to those channels.
How to import Meta ads cost data into Google Analytics automatically
Step 1: Make sure you’re using a tracked URL method
You’ll need to ensure your ads use a consistent tracking URL so Google Analytics can tell the difference between paid ads and organic (non-paid) social posts.
The best way to do that is to use the Google URL builder, a free tool that lets you set up your source or medium names.
For example, if I were running an ad on Facebook, I could ensure the medium (channel) is paid_social or something similar in the URL. And for source, keep it simple, e.g. facebook.
If you’ve not used UTM tracking before, check out my tracking URL guide. And add the final URL to your ads.
It’s also a good idea to include a campaign name in the URL so you can compare campaigns in your data. For example, black_friday_sale to review your previous peak season campaigns and their level of performance.
Google also suggests adding the Meta Campaign ID to the utm ID, but this is currently only for filtering purposes, as it does not appear in the steps GA4 provides. Overall, unless you’re an advanced user, I’d not say it’s needed.
The cost data will only import based on the rules you set for source and medium in the tracked URL. So if you haven’t got this done yet, you’ll need to make sure you apply this to future ads so the data comes in.
You won’t be able to go back in time to change the URLs, as the traffic would have already come through without this information.
Step 2: Log in to Google Analytics 4 and set up the connection
Watch: How to connect GA4 to your Meta Business Suite
Go to the Admin menu (the gear icon in the bottom-left corner).
Then, under ‘Data collection and modification’, look for ‘Data import’.
If you’re an advanced user and previously imported your cost data, you may want to remove the old data to avoid duplicates.
Select the ‘Create Data Source’ option.
Name the data source, e.g. Facebook Ads.
Leave the option on as ‘Campaign data’ for your data type.
And scroll down to find the Import source dropdown.
Choose the channel in the dropdown, e.g. Meta (Beta).

Then select the ‘Connect’ button on the top right-hand side.
Step 3: Connect Meta Business Suite to GA4
Now, you’ll get a pop-up to verify that you own the account.
If you manage more than one Meta ad account, you’ll see the accounts you have access to and can select the relevant one.

After that, you’ll see the Business Suite name and be able to choose from a drop-down of Ad account IDs. You can check back on Meta Business Suite if you’re unsure which account it is.
Step 4: Add in your URL parameters
Now, for each channel, you need to set the source that you’ll use with your ads.
For example, Instagram would be instagram.
And then you need to add the medium (channel).
This should be paid_social or something similar.
If you use “social” only, this can confuse your organic social data.
Make sure that whatever you choose, you write this down, as you’ll need to apply the source and medium correctly in the URL of your ads for the data to import.

Step 5: Check the data and select Finish
You can add a filter (advanced use only).
And can also change the schedule.
The default daily method should suit most.

When done reviewing, click the ‘Finish’ button.
You can go back to the Data import section in 24 hours to see if the data was processed correctly.
This will only work if the parameters are correct and the ad data is there.
Step 6: Review the Non-Google Ad cost report
In Reports > Acquisition, you’ll find the Non-Google Ad cost report.
This will tell you what your channels are bringing in, and you will be able to compare your ad costs with those you imported data for.
If you can’t find the report, you can add it again using the Library feature.
This update makes life easier for marketers and business owners wanting real-time, cross-platform ad performance in GA4 with minimal manual effort.
If you’d like to add cost data from a channel that isn’t available in Beta, you can follow the manual process.
Step-by-Step: Manual Cost Data Import for Other Platforms
For platforms without auto-import integrations (like LinkedIn or Outbrain), or if you prefer manual control, follow these steps:
Urchin Tracking Module = UTM (Google URL Builder).
- Prepare your cost data CSV file with the required fields: date (YYYY-MM-DD), campaign_id, source, medium, clicks, impressions, and cost.
- Set up consistent UTM (tracked URL) tagging on your ads. Ensure UTM parameters exactly match those used in your cost data. Pay particular attention to utm_id, which links imported cost data to GA4 sessions.
- Create a Cost Data Import source in GA4:
- Admin > Data Collection and Modification > Data Import
- Choose Create Data Source, then select the relevant data type, e.g., campaign data for ad cost data.
- Upload your CSV file manually via GA4’s Data Import interface, or automate it using a third-party connection with a developer, such as an API or Secure File Transfer Protocol (SFTP), if you have multiple or frequent imports.
- Verify the data appears correctly in GA4 reports: check Acquisition > Non-Google Cost report after 24 hours.
Considerations for cost and campaign data importing
- Make sure your Property has set the correct currency value, and that it matches the currency in the data from e.g. Meta ads.
- For high-traffic sites, be mindful that there’s a 1GB import limit. You can see how much you have left using the Data Import ‘Quota Information’ button.
- Expect variances in what clicks actually land on your website.
- Be mindful that users with browser privacy restrictions or those blocking cookies (code to track them on your website) will lead to some inconsistencies in your data.
Storage limit per data type
There’s a daily limit of 120 per GA4 Property.
The limits are higher if you are using the enterprise-paid version of GA4, known as 360.
| Data type | Daily limit size | Data source limit per GA4 property |
| Campaign data | 1GB | 120 (part of the full daily limit) |
| Item data | 1GB | 5 |
| Custom event data | 1GB | 5 |
| User data by user ID | 1GB | 10 |
| User data by client ID | 1GB | 10 |
| Events | 1GB | 10 |
Make decisions based on cost and campaign data
Adding cost and campaign data to your Google Analytics 4 helps you gain a deeper understanding of how your channels are performing and which are delivering a more substantial return on ad spend.
Making decisions based on cost and campaign data can help drive greater performance in channels already working well and shift budgets to more efficient areas.
In addition, the data can be viewed in the ‘Advertising’ section (main menu).
To ensure you’re making the most of cost data and the campaign import, you need to set up events to track key actions on your website.
Check out our GA4 event packages to get this sorted.



