🔍 Overview
Two questions come up often when customers build client reports: Can I compare traffic sources to last month and last year? and Why don't my session numbers match what I see in Google Analytics 4 (GA4)? This article answers both and shows you how to check your numbers quickly.
📅 Comparing Against Last Month and Last Year
Clients usually want to see traffic by source with a month-over-month and year-over-year view. The simplest way to get a reliable comparison is to use matching date ranges for each period.
- Pick the main period for your report, for example the last full calendar month.
- Set the comparison period to the previous full month (month-over-month).
- Run the same report again for the same month one year earlier (year-over-year).
- Place the figures side by side in your report and calculate the percentage change.
Tips for accurate comparisons:
- Always compare full months to full months. A partial month will look like a drop in traffic.
- Compare months with the same number of days where possible, or note the difference.
- Use the same GA4 property, the same data stream, and the same filters for every period.
- Keep the same metric and dimension in each period. For example, compare sessions by source/medium to sessions by source/medium.
- For year-over-year views, confirm the GA4 property was collecting data for the full earlier period. If it was created recently, older data will not exist.
If a comparison option is not available in the report view you are using, build the report for each period separately as described above. You can also use the date comparison feature inside GA4 to double-check the results.
⚠️ Why Session Numbers Can Differ From GA4
It is common for numbers to differ slightly between tools, even when both are connected to the same GA4 property. These are the most frequent causes.
- Different date ranges or time zones. A report that ends one day earlier, or a property set to a different time zone, will show different totals.
- Data processing delay. GA4 can take 24 to 48 hours to finalize recent data. Pulling a report for yesterday or today may show lower numbers than the final figures.
- Different metrics. Sessions, users, total users, new users, and engaged sessions are all different. Make sure you are comparing the same metric on both sides.
- Different source dimensions. In GA4, session source/medium, first user source/medium, and user source/medium can return different numbers for the same traffic. Session-based dimensions are the right match for session counts.
- Channel grouping differences. Default channel group and custom channel groups may place the same traffic in different buckets, such as Organic Search versus Direct.
- Filters and segments. A filter on country, device, page, or an internal-traffic rule in one place but not the other will change the totals.
- Data thresholds and sampling. In some GA4 reports, especially custom explorations, Google may apply thresholds or sampling that affect small numbers or large date ranges.
- Wrong property or data stream. If you manage several sites or properties, the report may be connected to a different one than the one you are viewing in GA4.
- Consent and privacy settings. Visitors who decline tracking may not be counted, and this can change from one period to another.
✅ How to Check Your Numbers Step by Step
- Confirm the connected property. Check that the GA4 property and data stream connected to your Search Atlas project are the same ones you are checking in Google Analytics.
- Match the date range exactly. Use the same start and end dates in both places, and confirm the time zone in your GA4 property settings.
- Match the metric. Compare sessions to sessions, not users to sessions.
- Match the dimension. In GA4, use session source/medium or session default channel group in the Traffic acquisition report.
- Remove extra filters. Clear any comparisons, segments, or filters in GA4 so you are looking at the full data set.
- Check the date is final. If your range includes the last two days, wait 48 hours and run the report again.
- Compare totals first. Start with overall sessions. If the total matches, the difference is likely caused by how sources are grouped. If the total does not match, the cause is likely the property, date range, or filters.
📈 What Is a Normal Difference?
Small differences are normal when data is still processing or when different reports apply different thresholds. If your numbers are within a few percent and all settings match, no action is needed. If the gap is large, such as a difference of 10% or more on the same metric, property, and date range, there may be a connection or configuration issue worth investigating.
🛠️ Fixes for Common Problems
- Totals are lower in the report than in GA4: Check the date range, wait for GA4 to finish processing, and make sure the correct property is connected.
- Source numbers do not match: Switch to session-scoped dimensions in GA4 and check whether a custom channel group is in use.
- Year-over-year data is missing: Confirm the GA4 property has data for the earlier period. Data from before the property was created cannot be retrieved.
- Numbers change after you export them: GA4 can revise recent data. Export reports after the period has been closed for at least two days.
- Connection looks broken or outdated: Reconnect your Google account in the platform's integrations settings, make sure you grant access to the correct GA4 property, and then refresh your report.
💡 Best Practices for Client Reporting
- Report on closed, full months and run them after the first few days of the new month.
- Write down the property, date range, metric, and dimension used so the report can be repeated and explained.
- Add a short note to client reports explaining that figures may vary slightly between tools because of processing time and how each tool groups data.
- Use the same method every month so trends stay consistent.
💬 Need More Help?
If your numbers still do not match after following the steps above, gather the following details so we can resolve it faster: the project name, the GA4 property, the exact date range, the metric you are comparing, and screenshots of the difference.
If you need further assistance, open the chat widget in the bottom-right corner of the platform and type human teammate to be instantly connected with a member of our team.