Knowledge base article

Meta vs Google Analytics discrepancies and how to reduce them

7 minutes reading time

Do you advertise on Metas’ platforms Facebook and Instagram? And are you having problems with analyzing its traffic with Google Analytics? Unfortunately, you are not alone. The traffic from Facebook is very often misrepresented in third-party web analytics tools like Google Analytics.

You want to know what the value is of the traffic that you send from social media, only Analytics makes this hard for you. Luckily there are some ways to make the data more accurate. In this article, I will look at what causes the discrepancies and how you can minimize them.

It’s no hard science

All reporting tools are designed differently, and therefore, also report differently. For this reason, you can always expect data differences when you compare data from different sources. The issue with advertising platforms like Facebook Ads is that, because you pay for clicks, the platform wants to give you as much value as it can. Therefore, those platforms will generally attribute conversions to themselves.

A web analytics tool like Google Analytics is usually a good, neutral source to report on all traffic that is sent to your website. It reports where the user came from, as long as this information is passed along correctly. But, data might be attributed incorrectly, and create data discrepancies between the tools that you use. These discrepancies fall into two categories: faulty/ blocked tags, and differences in attribution/ reporting methods.

How Google Analytics identifies Facebook Ads traffic

Before we start looking at probable causes, you need to understand how both platforms identify where the user came from. This can be done in two different ways. With auto-tagging from Facebook Ads, which uses the fbclid parameter, or with manual or other UTM tagging.

Analytics uses the fbclid parameter in your final URLs to identify traffic from Facebook Ads. The fbclid parameter shows up in your landing page URL when a user arrives at your site from your ad. The same goes for the UTM parameters. Maybe you can already see how discrepancies might arise.

Discrepancies exist between the number of clicks in Facebook Ads and the number of sessions in Analytics. Also, conversion data will be different between the two platforms. Both types of discrepancies influence each other, so if you are facing this issue, be sure to check all the possible causes mentioned below.

The discrepancies between sessions and clicks

Let’s first have a look at the differences between the number of clicks that Facebook Ads reports, and the number of sessions that arrive in Analytics. Facebook reports on two types of clicks namely, clicks and outbound clicks. If you have the Meta pixel setup, then you can also use the Page view event report on actual website visits.

Differences between clicks & sessions

Facebook Ads tracks Clicks, but Analytics tracks Sessions. If a user clicks on your ad 2 times within the duration of a session (by default 30 minutes) without closing the browser, this is counted by Analytics as one session, even if the user left your site and then returned later.

Timezone difference

The time zones of the accounts can be different, which causes conversions to be reported on different days.

Data sampling

Analytics uses data sampling, so it might report fewer sessions.

Redirects remove correct UTM tagging

If your website redirects the user from for example the HTTP version to the HTTPS version of your site, proper tagging will get lost. So Analytics will not attribute this session to Facebook Ads. Also, redirects on landing pages can keep the Analytics code from launching and identifying the traffic as having come from Facebook Ads.

Adblockers or certain browsers might block Analytics from firing

There is a possibility that users entering your website through Facebook Ads have JavaScript turned off. They might also use other technologies to prevent Analytics from collecting data about them. Occasionally, Analytics can’t report these users, but Facebook Ads does.

Make sure your landing page loads the tracking code

Something might be causing the tracking code on your website not to fire. So, Analytics cannot record a session.

A user leaves before the tag is loaded

If a user comes to your site from an ad, and then leaves the landing page before the tracking code loads, then the gclid parameter is never passed to Google Analytics, and that click isn’t associated with the session.

Users return to your site via bookmarks.

If users bookmark your website with the fblid parameter, Analytics records traffic from these bookmarks as coming from your Facebook Ads ads. But, Facebook Ads doesn’t record clicks.

Why is your Meta conversion data not the same?

Now we will have a look at the differences between the number of conversion goals or transactions that Facebook Ads reports, and the number of goals or transactions reported in Analytics. Because these can have a more direct impact on your bottom line, it is crucial to have as few discrepancies as possible. Most commonly you will see more conversions in Facebook Ads than you will see conversions attributed to Facebook in Analytics.

Attribution differences

Facebook reports on a conversion no matter to which interaction it’s attributed. But, in all reports except the Multi-Channel Funnels report, Analytics uses a last-non-direct-click attribution model. For example, let’s say a user clicks on your Facebook Ad, returns the next day via Google organic search, and completes a transaction. Analytics will attribute the purchase to Google/organic. Facebook Ads will attribute the conversion to itself.

Click-time vs. conversion-time reporting

Facebook Ads reports conversions on the date of the click that led to the conversion, not against the date of the conversion itself. For example, when a user makes a purchase on the 25th of April but clicked on the ad three days earlier. In Facebook Ads, the conversion would be attributed to April 22th, the day of the click. In Analytics, but, the conversion is attributed to the 25th of April, the day of the conversion.

Lookback windows are different

The lookback window determines how far back in time an event is eligible for attribution credit. Analytics, by default, can attribute a conversion to an interaction up to 30 days ago. Facebook, on the other hand, will attribute conversions to clicks up to 7 days ago, by default.

View-based conversions

Facebook Ads has the ability to track conversions based on impressions of an ad. These conversions are not available in Analytics. This will lead to the conversion being attributed to another channel.

Cross-device conversions

Conversion tracking in Facebook Ads supports cross-device conversions by tracking logged-in users. These are, by default, not visible in Analytics. This will also lead to the conversion being attributed to another channel.

The in-app browsers of Meta

When someone clicks on your ad Facebook opens your website in their own in-app browser (you will see these as Android Webview and Safari in-app). They do this to keep you on their platform as long as they can, to measure as much as they can. That with the combination of a third-party payment provider van cause GA4 to lose the session data. Once the user gets redirected to the payment provider, and from the payment provider back you your site, the confirmation page will be loaded in a new browser. This means a new session.

How to minimize discrepancies between Facebook Ads and Analytics

So we have looked at what causes data differences between the two platforms. With these causes, you can identify if you are reporting correctly or where something is going wrong. To have to most accurate data available, there are some general reporting best practices to adhere to.

  • Always compare data from at least 1 conversion period ago. Usually, 2 weeks is fine.
  • Compare large periods of time for more significant data
  • Make sure the lookback window is the same for both sources
  • Use both click and session metrics in your reports
  • Use the same attribution model for both sources

From the list of possible causes, we can also derive a list of actions that you can take to improve data accuracy. Be sure to check them all for minimal data discrepancies.

  • Install the Meta Pixel & Events through Google Tag Manager
  • Use GTM server-side tracking and Facebook the CAPI. Among others, it reduces the impact of ad blockers and other tracking prevention measures like on Safari or iOS.
  • Always add UTM parameters to your Facebook Ads
  • Change to click-only attribution in Facebook Ads for reporting
  • Make sure you have set the same timezone for both accounts
  • Make sure the analytics tag fires on all pages
  • Make sure there are no redirects on your landing pages
  • Ensure that your website loads fast

The takeaway

As you have read, there can be many causes for differences in your data between Facebook Ads and Google Analytics. This can be pretty frustrating but, as I stated in the introduction, discrepancies of around 20% are normal. So, you should also accept some in your data. You can assume that the truth is somewhere in the middle between the Meta Ads Manager and Google Analytics.

You can use this guide as a checklist to spot probable causes of your data discrepancies. If you cannot seem to figure it out or you want help with your tracking setup, you can always reach out to us. Happy analyzing!

Profielfoto Freek Kampen

By Freek Kampen

Data & Analytics specialist and co-owner of New North Digital. With a background in online advertising, I solve tracking and data issues for entrepreneurs and agencies. Feel free to get in touch!


Continue learning

Looking for more answers?

Check out our knowledge base for more articles and glossary terms. Level up your knowledge with our articles on core concepts in web analytics.

Continue learning
Compare list
Get help

Send us a message