Sprites LogoSprites.ai
CustomersPricing
Sign in
Get a demo
Start 7-day trial→→
Start 7-day trial→→
Sprites LogoSprites.ai
  • Run adsMeta AdsFacebook and Instagram, scaledGoogle AdsSearch, PMax and ShoppingLinkedIn AdsB2B targeting and ABMTikTok AdsShort-form video that convertsReddit AdsReach communities by intentGoal OptimizationHit your ROAS or CPL target
    Create & researchAd GeneratorOn-brand ads for any channelCreative AnalyticsThe hooks and angles that winCompetitor IntelligenceRivals' ads, SEO and AI reachMarket ResearchAudience insight, with sources
    SEO & AI visibilityAI SEO ContentArticles written and publishedAI VisibilityGet cited in AI answersSEO Site AuditPrioritized fixes, site-wideKeyword & Traffic ResearchWhere the searches and gaps are
    Meet SpritesYour AI ads team, on every channelResearches, builds and launches campaigns, then optimizes them daily. You approve every change.Scale the winner +$600/dayApprovePaused 14 wasted keywords+ SEO & AI searchStart 7-day trial
  • By teamStartups & SMBsSenior marketing, no headcountMarketing teamsMore campaigns, same teamAgenciesEvery client, one workspaceEnterpriseApprovals, governance, scale
    By businessB2B & ABMPipeline from target accountsEcommerce & D2CProfitable ROAS at scalePLG SaaSSignups and trials, not clicksMobile appsInstalls that become usersFintechCompliant growth for financeHealthtechCareful, compliant growth
    Helghardt Avenant68% lower CPL in 6 weeksCustomer storyHow Rehive took its ABM playbook back from two agenciesHelghardt Avenant · Founder & CEO, RehiveRead the story
  • Ads LibraryReal ads from Meta, Google, LinkedIn, TikTok, Reddit and moreBlogIdeas and playbooks for modern marketingPrompt GalleryReady-to-run prompts for your next campaign
    Free toolsGlossaryReviewsCompare Sprites
  • Customers
  • Pricing
Sign in
Get a demo
Start 7-day trial→→
  1. Home/
  2. Attribution/
  3. hubspot vs google ads conversions

Attribution · Sprites diagnoses this

HubSpot vs Google Ads: why your lead counts differ

Google Ads counts every tracked conversion on the click date, including repeat form fills and modeled ones. HubSpot counts contacts once, files each one under a single original source, and only calls it Paid Search when it can see the gclid or paid UTMs. The gap is usually duplicates on the Ads side and lost click data on the HubSpot side.

Start 7-day trial →Do it by hand

$1 today. Cancel anytime before day 7.

What Sprites checks

4 checks
  • ✓Google Ads lead conversions148 in 30 days
  • ?HubSpot Paid Search contacts92 in 30 days
  • !Contacts with no original source detail31% offline or direct
  • !Ads action countingEvery, not One
Illustration of a typical broken account. Your own readout comes from your account.

Why it happens

Counting every fill vs one contact

  1. Counting every fill vs one contact

    A Google Ads lead action set to Every counts each form submit. HubSpot keeps one contact per email, so the same person filling two forms is two Ads conversions and one HubSpot lead.

  2. Original source is first touch

    HubSpot files a contact under the source of their first tracked visit. Someone who first came from organic search and later converted from an ad stays Organic Search in HubSpot.

  3. Lost gclid or UTMs

    Forms embedded from another domain, redirects or a missing HubSpot tracking code drop the click data, and the contact lands as Direct Traffic or Offline Sources. See gclid missing.

  4. Different dates

    Google Ads reports on the click date. HubSpot reports on the contact create date.

How to line them up, step by step

  1. Set lead actions to One

    In Google Ads go to Goals, Conversions, Summary, open each lead action and set Count to One. Leads should count once per click.

  2. Report HubSpot by original source

    In HubSpot build a contacts report on Create date for the same 30 days, broken down by Original Source and Original Source Drill-Down 1, filtered to Paid Search.

  3. Check what lands as direct

    Filter new contacts with Original Source set to Direct Traffic or Offline Sources, and check whether their first page URL carried a gclid or UTMs.

  4. Compare on conversion time

    In Google Ads add Conv. (by conv. time) so both sides count by the day the lead happened.

Steps checked against HubSpot Knowledge Base: Understand the original source and latest source properties; HubSpot Knowledge Base: Create custom reports; Google Ads Help: About conversion counting options.

Sprites diagnoses this

Sprites diagnoses it

Sprites lines up your HubSpot leads and Google Ads conversions and shows where they split.

What Sprites does

  • Reads HubSpot contacts, deals and lifecycle stages by source for any date window, read-only.
  • Pulls Google Ads conversions per campaign and per conversion action for the same dates.
  • Follows the funnel past the form, from lead to SQL to closed deal by source, so Google Ads is judged on pipeline.

What it doesn't do

  • It does not write to HubSpot.
  • It does not upload HubSpot deals back to Google Ads as offline conversions.
Start 7-day trial →

Questions

Why does Google Ads show more leads than HubSpot?

Google Ads counts conversions, including repeat fills when counting is set to Every. HubSpot counts unique contacts and puts each under one original source.

Why are my Google Ads leads showing as direct in HubSpot?

The click data did not reach the form. Common causes are a form on another domain, a redirect that drops the query string, or a page without the HubSpot tracking code.

Which number should I report?

Report SQLs and pipeline from HubSpot. Keep Google Ads conversions for bidding, ideally on a lead action that matches what sales accepts.

Can Google Ads bid on HubSpot SQLs?

Yes, with an offline conversion import that sends the gclid and stage change back to Google Ads. Sprites can read the pipeline but does not run that import.

More: Tool vs ad platform

  • HubSpot vs Meta Ads: why the leads don't add up
  • HubSpot vs LinkedIn Ads: why the leads don't match
  • gclid missing from your URLs
  • Multi-touch attribution
  • GA4 vs Google Ads conversions: why the numbers don't match
  • GA4 vs Meta Ads conversions: why Meta reports more
  • GA4 vs LinkedIn Ads conversions: why they never match
  • PostHog vs Google Ads: why your signups don't match
  • PostHog vs Meta Ads: why Meta claims more conversions
  • PostHog shows fewer LinkedIn signups than Campaign Manager
  • Google Ads and Meta both claim the same sale

Hubs

  • Why your tools disagree on conversions
  • Fix your ad account
  • Fix Google Ads problems
  • Fix your Meta ads
  • Fix your LinkedIn ads
  • Fix your Reddit ads
  • Fix Microsoft Ads problems

Reference

  • Attribution, defined
  • PostHog MCP server
  • Google Analytics MCP server
  • Google Ads MCP server
  • Incrementality
  • Marketing mix modeling
  • Ad specs

See where it breaks

Connect your accounts. Sprites reads them side by side and shows you exactly where the numbers split.

Start 7-day trial →Get a demo

Get the free AI-First Marketing Playbook

Packed with proven tactics, creative inspo, and automation tips to help you grow faster with less guesswork.

By clicking send you agree to the Terms and Conditions

Pillars

AI Marketing AgentVibe MarketingAI VisibilityAI Marketing AutomationAI for Meta AdsAI for Google AdsAI for LinkedIn AdsAI SEOAds LibraryChatGPT AdsAI AdsMCP Server

For Teams

For AgenciesFor EcommerceFor FintechFor HealthtechFor EnterpriseFor FreelancersFor Marketing Teams

Prompts Gallery

Marketing Campaign BuilderGoogle Ads Search Campaign BuilderCompetitor Meta Ads AnalyzerSEO Audit + Plan GeneratorGoogle Ads Campaign OptimizerGoogle Ads: PMax Campaign Builder

About

CustomersReviewsBlogTerms of ServicePrivacy PolicyDPACareersSitemap
Sprites TextWizard