There are a range of account links you can set up in order to see more data in your GA4 reports:
- For Google Ads, you can see the campaign, ad group, keyword and search query that brought a user as well as the cost, impressions and clicks.
- For SA360/DV360/CM360, you can see a lot more granular data, down to the specific creative ID with similar metrics.
- You can also set up your own cost data import from other channels (although GA4 now has an automated integration for Meta and TikTok ads). Here, you can also see cost, impressions and clicks broken down by the traffic source dimensions (source, medium, campaign, ad content etc).
- For Google Search Console, you can see the query that brought the user as well as the impressions, clicks and average position.
It’s important to understand the difference between the first two and the second two options.
The integration with Google Ads and SA360/DV360/CM360 is a full integration. This is because whenever a user clicks on one of these ads, they get a unique click ID which GA4 captures in the URL field. And Google has access to the full ads database, so for each GA4 session, if the user clicked on one of these ads, Google knows everything about that user’s click from an ads perspective (eg. the ad group, the creative ID etc). This means you can use GA4 to answer very detailed questions about user behaviour. What was the ROI for people who clicked on creative ID 1 vs creative ID 2 but just on mobile?
The custom cost data import is a lot more surface level. Google is essentially displaying the cost but it’s only able to attribute the cost to the specific UTM parameters you set up (eg. source or medium) or specific dates, but NOT to specific users. So let’s say you run TikTok ads and it’s imported a spend of $100 yesterday linked to the GA4 campaign name “TikTok-AlwaysOn”. You can see in GA4 the conversions and ROI on that campaign because it knows the revenue for the TikTok-AlwaysOn campaign. But you can’t for example break it down by other dimensions like device type or region. Because that requires Google being able to link spend to the specific GA4 session and user which it can’t do.
The Google Search Console import is even less linked. When you click from Google to a website, Google does NOT provide your search query to the website so GA4 (and any other analytics tools) don’t have access to that at the individual user level. So the GSC report in GA4 is essentially just a copy of the same data you would see in the GSC interface itself. It might be convenient to not need to switch tools but it’s just copying those tables over, but NOT integrating them with any other dimensions or metrics in GA4. This is why you can’t for example get the conversion rate or time on site at the keyword level.
It’s important to remember that each tool measures users, clicks, conversions etc. differently, so your numbers in Google Analytics are not expected to match up to any other system or analytics tool, whether it’s a Google tool (eg. Google Ads, Google Search Console) or a 3rd party tool (eg. Meta Ads). If the difference is huge, you should still investigate but below are some of the reasons why there would be a difference:
- Different consent settings or ad blockers: For example, someone is blocking ad trackers but not analytics trackers. Their visit would then be counted in Google Analytics but not (say) Google Ads.
- Different attribution settings: If Google Analytics says that 23 conversions came from Meta Ads, this is based on one of the attributions models they’re applying, which typically takes into account all the interactions it knows a person has had with your website. If Meta Ads reports 56 conversions, it’s just saying there are 56 users which it knows clicked on the ad (or depending on your settings, maybe even just saw the ad) and then ended up converting. It will not typically discount that number if the user also had other visits from other non-Meta campaigns.
- Different cross-device settings: If I click on a Facebook link on mobile and complete the conversion on my computer, Facebook is more likely to know that I’m the same person (since I’m probably logged into the same Facebook account on both devices) and therefore be able to attribute the conversion to the original ad click. Although Google Analytics does do some cross-device reporting, this is based on a mathematical model and only works probabilistically and for large websites. More likely than not, Google Analytics would think the click and the conversion are 2 different people.
- Different reporting windows: In Google Analytics, events are reported based on when they happen so the date range that you select. Some ad platforms, depending on the settings, might report conversions based on the date of the original click. This makes sense from an ROI optimisation perspective but is a different view of the data.
- Clicks vs sessions: A person might click on your Tik Tok ad 3 times within say 15 minutes. Tik Tok is likely to report that as 3 clicks, but inside Google Analytics this will probably be calculated as a single session.
- URL redirects: If the user clicks on a link which contains a personal identified (eg. all clicks from Facebook contain a fbclid parameter), but this doesn’t carry through (eg. if the browser truncates it), this means a platform like Facebook might not be able to attribute their website activity to the original ad click. A browser is less likely to truncate a UTM parameter (since these are typically not personal) so Google Analytics may.
- Serverside measurement: You may have other integrations turned on that send data to different platforms directly from the server, not from the user’s browser. For example, you have a Meta CAPI implementation and a user clicks on an ad and converts but closes the tab just before the confirmation message loads (and let’s say that’s when your conversion tag fires). If you only have Google Analytics fire from the browser, that conversion will be missed, but because of Meta CAPI, there will still be a hit sent from your servers directly to Meta measuring the conversion.
