Google Analytics 4 - Troubleshooting

Updated on

Jul 7, 2024

How to structure your GA4 reports

  • Keep It Simple: Use as few dimensions as possible to avoid data loss and threshold.
  • Avoid dimensions with high cardinality.
  • Separate Granular and Aggregated Data: If you need granular values and aggregated values, then it’s better to create separate reports for granular data and aggregated values. For GA4 there is an expected behavior when comparing data between UI and Reporting, it is always better to compare atomic granularity by using one single dimension instead of multiple dimensions. To match data as accurately as possible, you can create different extractions that should correctly match the data.
  • ~E.g., a granular report with ```date - session campaign - session source - session medium - session manual term - sessions``` and common report with ```date - sessions - total users```.
  • Start in GA4 UI: Start with building the necessary report in GA4 UI, and make sure that data quality suits you (looking at row values instead of total values), and then build the same structure in Improvado.

Data discrepancy between GA4 and Improvado

There are three different ways to get your data from GA4:

  • GA4 Reports (UI)
  • GA4 Explorations (UI)
  • GA4 API

GA4 API and GA4 Reports typically show the same values as they use the same pre-processed database tables, whereas Explorations and funnel reports load raw event and user-level data without relying on pre-processed database tables.

Also, Explorations and reports support different fields and have other differences described here.

How to compare values

  • Sometimes, the numbers in your database may not match what you see in your GA User Interface. To ensure accuracy, it's best to compare data on a row-by-row basis. The most reliable comparison is between Improvado and GA standard or custom reports.
  • ~GA UI adjusts Total row values to avoid duplication and data thresholds for some metrics such as Sessions, Total users, etc. Learn more about the Sessions metric here.
  • Comparison between Improvado values and Explorations is incorrect because GA4 Explorations use data sampling. Reports & API use different behavioral modeling, calculations, etc. on GA side. Reports & API also are grouped under (other) row. Learn more here.

The data discrepancy usually happens when you try to pull metric-related sessions. This happens due to Google's policy, which sometimes skips some data on API. This limitation may not happen with metrics or dimensions, but it can occur with geo, sessions, or any field that can cause a PII violation.

GA4 Data freshness

GA4 data processing delays may depend on what data you have added to the report. For example, data from other Google products such as Google Ads may have increased delay. You can learn more about it here.


Shift the schedule:

  • Reschedule as late as possible so that GA4 has more time to process your data and make it available for the API.

Add additional live extraction:

  • In case rescheduling did not help you get rid of the data discrepancy, you can add additional extraction time. You can find out how to add a schedule to your order here.

Missing data or under-reporting of metrics (Data threshold)

This may happen if GA4 has applied data thresholds. You can learn more here.

Discrepancy in Sessions metric

Learn more about the Sessions metric here.

Discrepancy in Total users metric

GA4 Users metric shows the total number of unique users who have visited the website during the selected period. You can calculate the number of unique users for any requested period.

For example, User A who visited the website on Day 1 and Day 2 will be counted as one unique user for the period [Day 1...Day 2]. Thus, the total users number for the period is not equal to the sum of users per each day from this period. For daily report types "Users" metric could be compared only with single-day value, not period.


Instead of using Daily reports, create Weekly/Monthly reports that will show the correct user count for the week/month.

Also, data thresholds applied in GA might be a reason for the data discrepancy. Learn more here.

(other) row

When you extract a report that surfaces a large amount of data, you might notice less common values grouped under an (other) row.

This could be a reason for some lost values in a database, even if you still see these values in GA4 Explorations or in filtered GA4 reports. Learn more here.

Incompatible metrics with the Date field

Due to limitations on the Improvado side, there are currently six metrics that are incompatible with the default ```Date``` field:

  • Ads clicks
  • Ads cost
  • Ads cost per click
  • Cost per conversion
  • Ads impressions
  • Return on ad spend

Please, try to avoid using them in your reports.

Handling Duplicate Records in GA4 Tables

You may notice duplicate entries in various GA4 tables where the dimensions appear identical, but the metrics differ. This may look something like the following (example shows batches of 3 metrics per request):

This behavior is expected and stems from a limitation of the GA4 API, which allows querying up to 10 metrics in a single request. When a report requires more than 10 metrics, multiple requests are sent, each containing batches of up to 10 metrics while maintaining the same set of dimensions. Each API response is stored in the database "as is", without aggregating metrics by their dimensions.

To manage this, you will need to aggregate the metrics by their dimensions manually in your analysis tools or data processing scripts. This ensures that you can accurately analyze the combined metric data for each unique set of dimensions.

Custom metrics and dimensions in Free Form reports

Free Form report in Improvado don't currently support custom metrics and custom dimensions.

{%docs-informer info%}If none of the provided solutions worked, feel free to raise a request via the Service Desk{%docs-informer-end%}

Schema information

Setup guide


No items found.


Troubleshooting guides

Check out troubleshooting guides for
Google Analytics 4 - Troubleshooting


Frequently asked questions

No items found.
☶ On this page
Related articles
No items found.
No items found.


Improvado team is always happy to help with any other questions you might have! Send us an email.

Contact your Customer Success Manager or raise a request in Improvado Service Desk.