This article describes issues related to Google Analytics 4, if your issue concerns Universal Google Analytics please read the Universal Analytics - Troubleshooting.
If you cannot find the reason for your mismatch in this article, you can try troubleshooting your data source using the Query Explorer as described in this article.
Data doesn't match the UI
Funnel fetches Google Analytics 4 (GA4) data from the Analytics Data API by querying the dimensions and metrics you select upon connecting a data source. Depending on the selected dimensions and their values, the API can sometimes filter data. The Google Analytics API will in some cases only return data for rows that have values for all dimensions queried. When data is missing for one or more of the dimensions, Google will not return that row, hence filtering of the data occurs. The API should however be consistent with the UI. This means that you can confirm if the data for a certain Google Analytics data source in Funnel is correct by creating a custom report containing the same dimensions in the UI that you selected when connecting your data source.
If the custom report matches the numbers you are seeing in Funnel we suggest that you either remove the dimension(s) that are filtering the data from your data source, or if these dimensions are necessary for your reporting, that you connect another data source without them. If you choose to connect a new data source, please be mindful of double counting and remember to filter your data on data source if you choose overlapping metrics.
Missing recent data
If the numbers for the most recent data are too low that can be due to Google's data freshness (the delay before the data is available). The same delay applies to the Google Analytics UI but depending on when you look in GA vs Funnel or if Funnel hasn't received that data yet this can still happen. For standard properties this delay is up to 12h before all data has been processed. For 360 properties, Google Analytics processing time can be up to 24+ hours depending on what type of premium user you are.
Read about the limits limit in Google help article here:
Sessions are too high
The grand total sessions count can differ between Funnel and GAs platform. Sessions are often subject to some double counting. Some reasonable and known dimensions causes double counting such as Event name, Page path and Page title, this is because one session can be associated with several events and visited pages.
The Date dimension can also cause double counting of sessions. All data in Funnel is associated with a date. In UA a session that come to pass over midnight will be considered as two sessions while in GA4 it will only be considered as one session. However it will still be counted for both days and cause double counting when date is included in the request.
Google Analytics handle double counting by adjusting the total row for sessions in the platform while the total row in Funnel shows the actual sum of all the rows. If it appears that individual rows match between Funnel and GA while the total does not you can double check this yourself in GA by calculating sessions in each row manually or in another tool to see if it actually matches the total row that GA shows.
Important note is also that the total row for sessions in GA is actually estimated, read more at Googles site, Unique count approximation in Google Analytics. This could be the reason for why the total row in GA4 does not match the sum of the individual rows even when the setup does not include any reasonable session double counting dimensions.
You can find out more on this subject in our Measuring GA4 Sessions article.
How you can tackle this in Funnel:
Since GA4 is more based on events than sessions, an alternative way to escape this can be to use Funnels metric Session Start (event). Session Start (event) counts events filtered on "session_start". This can avoid double counting when Event name is included in the setup or when you have a lot of sessions passing over midnight. This will often not match the numbers exactly between Funnel and Google Analytics UI but could be close enough. Unfortunately there are currently no workaround for when Page Path and/or Page Title is included in the setup. Two data sources can always be connected, one with Page Path and/or Page Title and one without it.
The Session Start (event) metric is included in all data sources with Event name and Event count enabled. You can read more about it in this article.
GA4 Explorations, Reports, Data API and the “(other)” row
In Google Analytics platform there are two ways to view data, Reports and Explorations. The data in Reports and Explorations often matches each other, but it is not always the case as explained in GAs documentation, Data differences between reports and explorations.
Funnel fetches data via Google Analytics Data API which should always match the data shown in Reports.
One difference between Reports and Explorations is how a high amount of underlaying data is handled by GA. Reports and the API are subject to something called the “(other)” row. This is a behaviour where less common values are grouped under a common row where all dimensions will get the value (other). Read more in GAs documentation, About the (other) row.
If some dimension values are missed in Funnel they might have ended up in this (other) row. Explorations do not have this behaviour (instead they are subject to sampling), this is why some dimension values might be visible in an exploration but not in Funnel.
What you can do to avoid the (other) row in Funnel:
Use as few dimensions as possible in the setup.
Custom dimensions are more prone to cause the (other) row.
Avoid dimensions with a high cardinality.
Metrics returning zero values
If you have selected any of the the following Attribution dimensions on your data source, the Google Analytics API will return 0 for the metrics Sessions, Views, Item views and Add-to-carts:
Source
Medium
Campaign
Campaign ID
Default channel grouping
Event campaign creative ID
Google Ads account name
Google Ads ad group ID
Google Ads ad group name
Google Ads ad network type
Google Ads campaign type
Google Ads keyword text
Google Ads query
Manual ad content
Manual term
Source platform
Traffic origin
In this case we suggest that you either replace the Attribution dimensions with corresponding Traffic source dimensions, or remove the metrics from the data source and connect a second data source for these metrics, without any Attribution dimensions selected.
Missing Events
The metric New Users can cause some event types to be filtered out. If your metric values are lower than expected, or you're missing values for Event name, try removing New Users from your data source.
E-commerce purchases are too high
The dimension Item Name can in some cases multiply the totals of E-commerce purchases.