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. Fix/
  3. Meta Ads/
  4. Pixel and Conversions API/
  5. duplicate events meta pixel

Meta Ads · Sprites diagnoses this

Meta pixel duplicate events

Duplicate events come from three places: the pixel installed twice, the same event fired twice on one page, or browser and server events that do not deduplicate. Compare your Purchase count in Events Manager with real orders for the same days. More events than orders means something double counts, and the event details show which side.

Start 7-day trial →Do it by hand

$1 today. Cancel anytime before day 7.

What Sprites checks

4 checks
  • ?Purchase, 7 days412
  • ✓GA4 purchases, 7 days209
  • !Purchase deduplicationBroken
  • !Server per browser event2.1
Illustration of a typical broken account. Your own readout comes from your account.

Why it happens

Browser and server events do not deduplicate

  1. Browser and server events do not deduplicate

    Both sides send Purchase, one without the shared event_id. Meta counts each. See Conversions API deduplication.

  2. The pixel is installed twice

    Theme code plus a store app, or hard-coded plus Google Tag Manager. Every page view and purchase fires two times.

  3. The thank-you page fires on every load

    A buyer refreshes or comes back to the confirmation page from an email, and Purchase fires again.

  4. Two server sources

    A partner integration and a custom setup both send server events. Server counts run near double the browser counts.

  5. Two pixels feed the same ad account

    Two datasets both connected and both firing Purchase. Reports that sum them double count.

How to fix it, step by step

  1. Count against orders

    Compare Purchase in Events Manager with orders in your store for the same days. For the analytics side, see GA4 vs Meta and PostHog vs Meta.

  2. Read the event details

    Open Purchase in Events Manager. Event deduplication shows whether both sides carry the event ID.

  3. Count the requests on the page

    On the confirmation page, filter the Network tab for facebook.com/tr. More than one Purchase request per order is a double install or a double fire.

  4. Remove the extra install

    Keep one base code per pixel: the store integration or the manual code, not both.

  5. Fire Purchase once per order

    Use the order ID as the event ID, so a reload sends the same ID and Meta drops the repeat.

Steps checked against Meta Business Help Center articles: About deduplication for the Meta Pixel and Conversions API; Troubleshoot your Meta Pixel; About standard events.

Sprites diagnoses this

Sprites diagnoses it

Sprites reads your pixel and CAPI health and shows where it breaks: which events double count and which side sends the extra.

What Sprites does

  • Reads deduplication health per event from event ID coverage on both sides.
  • Reads how many server events arrive per browser event, so a server side sending twice stands out.
  • Lists every pixel on the ad account, so a second dataset firing the same events shows up.
  • Lines Meta purchases up with Ads Manager and with GA4 or PostHog when you connect them.

What it doesn't do

  • Remove a duplicate install from your site
  • Change the events your server sends
Start 7-day trial →

Questions

Why is my Meta pixel counting purchases twice?

Usually browser and server events without a shared event ID. After that: the pixel installed twice, or Purchase firing on every load of the thank-you page.

How do I find duplicate pixel installs?

On any page, filter the Network tab for facebook.com/tr and reload. Two PageView requests for the same pixel ID is a double install.

Do duplicate events hurt my ads?

Yes. Reported cost per purchase looks better than it is, and the ad set learns from inflated signals.

Is it normal for Meta to show more purchases than my store?

Not by much. Attribution can credit a purchase to an ad differently, but raw Purchase events above real orders means double counting.

More: Pixel and Conversions API

  • Conversions API deduplication
  • Meta pixel not tracking purchases
  • Meta Conversions API
  • Meta pixel not firing
  • Event Match Quality
  • CAPI not receiving events
  • Pixel events not showing in Events Manager
  • Meta pixel not active
  • Meta pixel not showing in Ads Manager
  • Meta pixel vs Conversions API
  • Meta test events not working

Hubs

  • Fix your Meta ads
  • Facebook ad rejected
  • Meta pixel not working
  • Fix your ad account
  • Fix Google Ads problems
  • Fix your LinkedIn ads
  • Fix your Reddit ads
  • Fix Microsoft Ads problems
  • Why your tools disagree on conversions

Reference

  • Meta Ads MCP
  • Meta Andromeda explained
  • Creative fatigue
  • How many Meta ads you need
  • Advantage+
  • Meta ad specs
  • How many creatives per week
  • GA4 vs Meta
  • PostHog vs Meta
  • fbclid
  • 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