This is a common and frustrating issue, and it stems from how the ad platforms and your analytics system like HubSpot track things differently.
The core reason you see fewer views on your UTM links than the platforms report is due to two main factors: click tracking methodology and client-side tracking interference.
First, the ad platforms (LinkedIn, Facebook, Google Ads) count a “click” the instant a user engages with the ad, often at the server level, sometimes even before the landing page starts to load.
Your UTM tracking, however, relies on a script (usually Google Analytics or the HubSpot tracking code) loading successfully on the destination page, reading the UTM parameters from the URL, and then sending that information back to HubSpot.
If a user clicks the ad but bounces back quickly before the page fully loads, has an ad blocker, has javascript disabled, or faces a network interruption, the ad platform registers the click, but the UTM tracking never fires.
This explains why Google Ads shows a conversion but the UTM shows no new contacts – the platform’s conversion tracking often relies on a different, more robust method or server-side confirmation, while your contact tracking is being blocked or missed on the page.
To solve this gap and improve your tracking accuracy, a modern, server-side tracking setup is the most reliable long-term solution.
A setup involving the HubSpot API in conjunction with Conversions APIs from the major platforms offers a robust, future-proof approach.
By using the LinkedIn Conversions API, the Facebook Conversions API, and the Google Ads API, you can send conversion data directly from your server (or an intermediary service) to the ad platforms.
This bypasses the client-side issues like ad blockers and browser restrictions that often prevent on-page tracking from working.
The server-side data flow would look something like this: a service like Stape or a more custom solution on Google Cloud Platform receives the data first, likely via Google Tag Manager (GTM) sending data to a server container.
This GTM server container can then normalize the data and use the HubSpot API to ensure your customer data platform gets the accurate view and, simultaneously, use the platform-specific APIs to report the accurate conversion back to the ad platforms.
This allows you to track key Standard Events like PageView, ViewContent, AddToCart, and Purchase much more reliably.
Finally, incorporating the Google Analytics Data API allows you to pull the cleaned, server-side data directly into your reporting tools, creating a single, trustworthy source of truth that closely aligns with the ad platform counts because it is less susceptible to client-side failures.
This holistic, server-side approach minimizes discrepancies and gives you a much clearer picture of your campaign performance.
This comment was generated with the assistance of an AI tool, incorporating my expertise in conversion tracking.