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. posthog vs google analytics

Attribution · Sprites diagnoses this

PostHog vs Google Analytics for paid ads

GA4 is built to report traffic and conversions by channel and links natively to Google Ads, while PostHog tracks what each person does in your product after the click. For paid ads, GA4 answers which campaign brought the visit and PostHog answers whether that visitor activated or paid. Expect different counts, because they define sessions, users and conversions differently and get blocked at different rates.

Start 7-day trial →Do it by hand

$1 today. Cancel anytime before day 7.

What Sprites checks

4 checks
  • ?Paid sessions, GA4 vs PostHogPostHog 18% lower
  • ?Signups by source in bothGoogle matches, Meta does not
  • ✓GA4 key events configuredsign_up only
  • ✓Activation by ad sourceOnly in PostHog
Illustration of a typical broken account. Your own readout comes from your account.

Why it happens

Different blocking rates

  1. Different blocking rates

    Ad blockers and consent banners block the two scripts differently. A PostHog proxy on your own domain usually closes most of the gap.

  2. Different session and user rules

    GA4 sessions time out after 30 minutes and restart on a new campaign. PostHog counts sessions and persons its own way and merges persons on identify.

  3. gclid versus UTMs

    GA4 gets Google Ads campaign data from gclid. PostHog reads UTMs, so untagged Google clicks look different in each.

  4. Different conversion definitions

    A GA4 key event and a PostHog signup event can fire on different pages or steps, so they never count exactly the same thing.

How to line them up, step by step

  1. Compare one campaign, one week

    In GA4 open Reports, then Acquisition, then Traffic acquisition, filtered to one campaign. In PostHog break down $pageview by utm_campaign for the same dates.

  2. Align the conversion event

    Make the GA4 key event and the PostHog event fire on the same action. Check GA4 key events under Admin, then Data display, then Events.

  3. Tag every ad with UTMs

    Add UTMs on top of auto-tagging, so PostHog sees Google, Meta and LinkedIn clicks the same way GA4 does.

  4. Proxy PostHog

    Serve PostHog from your own domain to cut the share of visits blocked before the first pageview.

Steps checked against PostHog Docs: UTM segmentation; PostHog Docs: Web analytics; Google Analytics Help: Traffic acquisition report.

Sprites diagnoses this

Sprites diagnoses it

Sprites reads GA4 and PostHog side by side and shows where the two split for the same campaign.

What Sprites does

  • Breaks GA4 sessions and conversions down by source, medium and linked Google Ads campaign.
  • Breaks PostHog visits, signups and activations down by UTM source and campaign.
  • Puts both next to the ad platform numbers for the same dates.

What it doesn't do

  • It does not change either tool’s tracking or settings.
  • It does not merge the two into one dataset.
Start 7-day trial →

Questions

Is PostHog a replacement for Google Analytics?

For product analytics, often yes. For paid search reporting, GA4 still has the native Google Ads link and imports conversions into Google Ads, so many teams run both.

Why does PostHog show fewer visitors than GA4?

Usually blocking. PostHog loaded from its own domain gets blocked more often than GA4. A reverse proxy on your domain closes most of the gap.

Can PostHog attribute signups to Google Ads?

Yes, through UTMs and the gclid it captures. It does not pull Google Ads cost or campaign data on its own.

Which one should I use for ad budget decisions?

Use PostHog to judge which sources bring users who activate and pay, and GA4 or the ad platform for in-flight bidding on the conversions they can see.

More: Click IDs, UTMs and models

  • PostHog vs Google Ads: why your signups don't match
  • GA4 vs Google Ads conversions: why the numbers don't match
  • PostHog UTM tracking
  • Multi-touch attribution
  • What is gclid?
  • What is fbclid?
  • gclid missing from your URLs
  • UTM parameters being stripped
  • UTM parameters not showing in GA4
  • Attribution window
  • Cross-channel attribution
  • Google Ads attribution model
  • Meta ads attribution settings

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