Import Meta Ads cost to Google Analytics
Google Analytics 4 (GA4) has introduced dedicated connectors for importing ad cost data from non-Google advertising platforms, significantly improving upon the previously unreliable, manual CSV uploads.
These connectors, each specific to one marketing channel, streamline the process of measuring your advertising performance in one place.
Importing cost data from sources such as Meta (Facebook/Instagram) is crucial for comprehensive cross-channel analysis. It allows you to directly compare the return on investment (ROI) and key performance indicators (KPIs) like revenue or return across all your advertising channels within the GA4 interface.
Imported cost data is associated with specific campaigns, source, and medium available at the time of reporting. Such (attempted) matching ensures that removing a cost import does not affect the underlying event data collected in Google Analytics.
Setting up the Meta cost connection
To begin the import process, navigate to the data import section within your GA4 property settings and select Meta from the list of available advertising platforms.

After selecting the platform, you must provide a Data Source Name. The Connect button may remain unclickable until this field is completed - there's no red highlight to remind you what's missing:

Once the data source is named, you will be prompted to log in to your Facebook Business Manager to select the specific ad account you wish to connect.
Configuration and mapping of campaign data
The next step involves mapping your Meta ad parameters to the standard GA4 dimensions for accurate data alignment. GA4 will prompt you to define the utm source and utm medium values used for your Meta ads. This mapping is essential for matching the imported cost data with the corresponding sessions already recorded in GA4.

While the interface may suggest that fields for unused platforms (e.g., Threads, Messenger campaigns) can be left blank, successful connection requires populating these fields with placeholder values to proceed.
The configuration also includes an Optional Data Configuration section:

This feature allows you to apply a filter to exclude specific campaigns from the cost import. For instance, you can define a filter to exclude campaigns containing a specific phrase in their name, like we did for the sake of this demo.
Think through the utm settings with utmost care (pun intended) as they can NOT be changed after you create the data source.
Review, processing, and data accessibility
The final step is to review the configured settings before activating the import. The review summarizes the Data Source Name and the specified filtering criteria (if any).

Though Meta states that data processing can take up to 24 hours, in practice cost metrics often begin populating within a few hours.
It is important to manage expectations during the initial import period. Data population may be staggered, meaning some campaigns might show cost metrics sooner than others. Campaign cost metrics will fully populate with precision once the entire data set has been processed.
Conclusion
The key advantage of this connector is its ability to import historical cost data. The feature typically pulls data going back as far as the data is available in your Meta account, which can extend up to 14 months within the GA4 exploration reports.

This direct integration encourages the use of GA4 for comprehensive cross-platform analysis, eliminating the need for external tools to merge and analyze your complete advertising cost landscape.