Facebook Ads Attribution: How Meta Counts Conversions

Facebook Ads Attribution: How Meta Counts Conversions

Meta credits conversions to any click, engagement or view inside your attribution window, and since March 2026 only link clicks count as click-throughs. Here is how to pick a window and reconcile the numbers.

TLDR;

Meta attributes a conversion to any click, engagement or view that lands inside the window you set in Ads Manager. Since March 2026 only link clicks count as click-throughs, with likes, saves and comments moved into a separate one-day engage-through bucket. Fix the plumbing before the window: run Pixel and CAPI together with stable event_id deduplication, then default to 7-day click plus 1-day engage/view for most ecommerce. Expect Meta to report 1.2x to 1.6x GA4 revenue, and reconcile against backend orders monthly.

Facebook Ads Attribution: How Meta Counts Conversions

Meta attributes conversions to any click, view, or engagement that falls inside the attribution window you've configured in Ads Manager. Since March 2026, Meta has tightened the click definition to link clicks only, so non-link interactions like likes, saves, and comments now fall under a separate "engage-through" bucket with a one-day window instead of counting as full click-through conversions.

The tactical move that matters most right now: implement the Meta Pixel alongside the Conversions API (CAPI), deduplicate events with a stable event_id, and set your attribution window to 7-day click plus 1-day engage/view as a starting default for ecommerce accounts. That combination captures signal lost to browser restrictions while keeping your reporting window tight enough to reflect real buying behavior.

One thing to expect going in: Meta's numbers will typically run higher than GA4 or your backend revenue because it counts view-through activity and modeled iOS conversions that other tools do not capture.

  • Facebook ad tracking depends on window choice, not just pixel presence
  • Engage-through and click-through are now separately reported metrics
  • Reconciliation against GA4 and backend orders isn't optional anymore

Key Takeaways

Facebook ads attribution works best when clean tracking plumbing comes before window optimization, and backend revenue always settles disputes that platform numbers can't.

PointDetails
Fix plumbing firstImplement Pixel plus CAPI with event_id deduplication before adjusting attribution windows.
Default window for ecommerceUse 7-day click plus 1-day engage/view unless your product is impulse-buy or long-cycle B2B.
Expect a reporting gapMeta commonly reports 1.2x to 1.6x GA4 revenue due to view-through and iOS modeling.
Reconcile monthlyCompare Ads Manager, GA4, and backend orders on a recurring cadence to catch plumbing regressions early.
Use Cromojo for revenue truthCromojo ties tracked traffic to actual Stripe and Shopify revenue, helping resolve deltas between Meta and GA4.

How Meta Attributes Conversions Today: Click, Engage, and View Explained

Facebook ads attribution runs on three distinct signal types, and knowing the difference changes how you read your reports. Click-through, after the March 2026 update, means a person clicked a link in your ad and converted within the window. Engage-through covers non-link interactions, such as liking a post, saving an ad, or watching a video past a threshold, and it now carries its own one-day window separate from click-through. View-through credits a conversion to someone who simply saw the ad and converted without clicking or engaging at all.

These windows can overlap in ways that surprise even experienced media buyers. If a shopper sees your ad on Monday, clicks it on Wednesday, and buys on Friday, that single purchase might get credited under both the view window and the click window depending on your settings, which is part of why cross-platform totals rarely match cleanly.

Meta's attribution system documentation describes the default setup as a 7-day click plus 1-day view/engage combination, though advertisers can narrow or widen this in Ads Manager's settings.

Layered on top of all this is Aggregated Event Measurement (AEM), Meta's framework for handling iOS traffic that Apple's App Tracking Transparency framework has limited. AEM prioritizes up to eight events per domain and reports modeled conversions when device-level data isn't available. That modeling is a statistical estimate, not a raw count, and it's a major reason your Ads Manager totals can look inflated compared to what your backend actually processed.

  • Click-through now means link clicks exclusively, not any interaction
  • Engage-through covers likes, saves, comments, and partial video views
  • AEM modeling fills gaps left by iOS privacy restrictions, adding estimated volume

Which Attribution Window Should You Use for Facebook Ads?

Your window choice directly shapes both your reported ROAS and how Meta's bidding algorithm learns. A wider window pulls in more conversions, which can make campaigns look stronger on paper, but it also feeds the algorithm signal from purchases that may have happened regardless of the ad.

Here's how to think about it by business type:

  1. Impulse-buy products (low price point, quick decision cycle): use a 1-day click window. These purchases happen fast or not at all, and a longer window mostly adds noise from unrelated browsing behavior.
  2. Most ecommerce brands with a moderate consideration period: 7-day click plus 1-day engage/view is the practical default. It captures the "saw it, thought about it, came back" pattern common in retail without stretching credit to conversions that happened weeks later for unrelated reasons.
  3. Long B2B sales cycles: don't lean on Meta's windows at all. Route qualified leads into your CRM and measure against backend deal data or offline conversion imports instead. A 7-day or even 28-day window can't capture a sales cycle that runs 60 to 90 days.

The trade-off is real: shorter windows give you conservative, defensible numbers for finance conversations, but they can starve Meta's bidding algorithm of the volume it needs to optimize efficiently, especially early in a campaign's learning phase.

Pro Tip: Run a 7-day click default for your main campaigns, but pull a 1-day click report monthly as a sanity check. If the gap between the two is growing, your longer window may be crediting conversions that have little to do with the ad itself.

Pixel vs Conversions API: How to Stop Double-Counting Conversions

The Pixel and CAPI aren't competing tools, they're two halves of the same tracking system. The Pixel fires from the browser and captures behavioral signal directly from the user's device, while CAPI sends events server-side, bypassing ad blockers, cookie restrictions, and Safari's tracking limits entirely. Running both is what most current implementation guidance recommends, because each one recovers signal the other misses.

Partial view of server and device ports

The catch: without deduplication, running both fires the same purchase event twice, inflating your conversion count and skewing every downstream report.

Fixing that comes down to three technical steps:

  • Generate a stable event_id for every conversion and pass the identical value through both the Pixel and CAPI payloads for that event.
  • Match event_name exactly between both events (a "Purchase" event on one side and a "purchase" on the other won't deduplicate correctly).
  • Keep payload fields consistent, including value, currency, and content_id, so Meta recognizes both signals as describing the same transaction.

Beyond deduplication, Event Match Quality (EMQ) determines how confidently Meta can tie an event to a real person. Sending hashed email addresses, phone numbers, and an external_id alongside your events raises your EMQ score, and a higher score directly improves match rates, particularly for iOS traffic where device-level signal is otherwise thin. Skipping CAPI entirely is one of the highest-priority fixes advertisers overlook post-iOS 14, since it's the single change that recovers the most lost signal for the least implementation effort.

Pro Tip: Check your deduplication rate in Events Manager before touching anything else in your setup.

How Do You Reconcile Ads Manager, GA4, and Backend Revenue?

Reconciliation isn't a one-time audit, it's a recurring workflow, and skipping it means optimizing toward a number nobody outside Ads Manager will ever see again in your bank account.

  1. Export Ads Manager data using the exact attribution window you have configured for that campaign, not a default report window.
  2. Pull GA4 revenue filtered to sessions tagged with your paid social UTM parameters, matched to the same date range.
  3. Pull backend orders from Stripe, Shopify, or your order management system for that identical window.
  4. Calculate the Meta-to-GA4 ratio by dividing Meta's reported revenue by GA4's reported revenue for the same period.
  5. Compare against backend revenue to see which platform's number sits closer to what actually landed in the account.

Practitioner analysis of Meta and GA4 discrepancies puts the typical Meta:GA4 ratio at roughly 1.2x to 1.6x, meaning Meta commonly reports 20% to 60% more revenue than GA4 for the same campaigns. That gap comes from view-through credit and modeled iOS conversions GA4 simply doesn't count.

Ratio RangeLikely Explanation
1.0x to 1.2xTight tracking, minimal view-through influence
1.2x to 1.6xNormal range reflecting view-through and iOS modeling
Above 1.6xInvestigate deduplication and event_id consistency first
Below 1.0xCheck for blocked server events or poor match quality
Diagram of conversion ratio ranges and explanations

Use this ratio to decide what to trust for budget decisions. If your ratio sits inside the expected range, Meta's reported number is a reasonable optimization signal even if it overstates true revenue. If it's wildly outside that range, something in your plumbing is broken, and the fix comes before the budget conversation, not after.

What Should Your Measurement Stack Look Like?

A workable stack starts with Pixel and CAPI running together with deduplication confirmed, feeds into AEM with your top eight priority events configured correctly, and layers a consistent UTM naming convention on top so every platform agrees on where traffic came from. From there, GA4 and backend revenue serve as your accounting truth, and incrementality testing or marketing mix modeling (MMM) settles cross-channel budget arguments that platform-level data can't resolve on its own.

Before trusting any of it, run this validation checklist:

  • Place one real test order and confirm the Pixel and CAPI events share the same event_id in Events Manager.
  • Confirm deduplication on your Purchase event sits above 80%.
  • Check that EMQ reads 6 or higher; if not, add hashed email, phone, and external_id parameters.
  • Verify currency and value fields match exactly between Pixel and CAPI payloads.
  • Standardize UTM parameters across every campaign so GA4 attribution doesn't fragment traffic sources.
  • Set a monthly reconciliation cadence between Ads Manager, GA4, and backend revenue.

When those signals still disagree after a clean setup, the gap usually isn't a tracking bug, it's a real structural difference between platforms. That's where a revenue-first view matters: Cromojo ties tracked pageviews directly to Stripe and Shopify order data, so you can see actual revenue by channel and campaign without waiting for platform reports to agree with each other. Its cookieless approach also sidesteps some of the consent-related signal loss that widens Meta and GA4 deltas in the first place.

Pro Tip: Don't compare pre-2026 and post-2026 attribution data side by side without adjusting for the click definition change. Window removals and API updates mean a clean year-over-year comparison requires normalizing for the new engage-through category first.

Why Are My Facebook Ad Numbers Wrong? Quick Diagnostics

Most attribution problems trace back to one of four culprits, and you can usually isolate which one in under a day.

  • Double-counting: check Events Manager for your Purchase event's deduplication rate; anything under 80% points to an event_id mismatch between Pixel and CAPI.
  • Missing conversions: if Meta is reporting far less than GA4, check for blocked server events or a low EMQ score before assuming the campaign underperformed.
  • UTM chaos: audit campaign naming across your ad sets; inconsistent capitalization or parameter order fragments GA4's channel grouping and breaks reconciliation.
  • Currency or value mismatches: confirm the value and currency fields in your Pixel and CAPI payloads match exactly, since a mismatch here silently corrupts revenue reporting.
  • App vs web confusion: if you're running app install campaigns, a sudden data gap is more likely a SKAdNetwork measurement issue than a Pixel or CAPI problem.

What Actually Moves the Needle in Facebook Attribution

Most teams overcomplicate this. Before touching attribution windows or comparing models, get one conversion event tracking reliably through both Pixel and CAPI with clean deduplication. Everything downstream, your ROAS numbers, your window decisions, your budget conversations, depends on that plumbing being solid first.

Treat Ads Manager as your optimization dial and GA4 or backend revenue as your accounting truth. They're never going to match exactly, and chasing a perfect reconciliation is a waste of hours better spent elsewhere. Invest in CAPI and EMQ improvements once your spend justifies the engineering time, and save incrementality testing or MMM for the strategic "which channel actually drives growth" question, not the daily reporting grind.

Get Revenue Clarity Without Waiting on Meta and GA4 to Agree

Reconciling Ads Manager against GA4 every month works, but it's slow, and by the time you've caught a deduplication problem or a currency mismatch, you've already spent a week's budget on a distorted signal. Cromojo closes that gap by tying your tracked traffic directly to actual Stripe and Shopify revenue in real time, so you're not left guessing whether a spike in Ads Manager reflects real sales or a modeling artifact.

Cromojo

Because Cromojo runs on cookieless tracking, it also avoids some of the consent-driven signal loss that widens the gap between Meta and GA4 in the first place, and it connects revenue back to the exact page, keyword, or channel that drove it. That's a more direct answer to "what actually made money" than piecing together three separate dashboards every month. For teams comparing platforms, Cromojo's privacy-first alternative to traditional analytics can sit alongside your existing Meta and GA4 setup as the tiebreaker when the two disagree.

Check out the revenue attribution features and start a free trial to see how your last 30 days of ad spend map to real, reconciled revenue.

Frequently asked questions

What Is Attribution in Facebook Ads?

Attribution in Facebook ads is the process Meta uses to decide which ad gets credit for a conversion, based on whether a person clicked, engaged with, or viewed the ad within a configured time window.

What Does 7-Day Click, 1-Day View Attribution Mean?

It means Meta credits a conversion to an ad if the person clicked it within the past 7 days or viewed/engaged with it within the past 1 day before converting, Meta's common default combination.

What Changes Is Meta Making to Attribution Windows in 2026?

Meta tightened its click definition in March 2026 to count only link clicks as click-through conversions, moving non-link interactions like likes and saves into a separate one-day "engage-through" category.

What Is the Best Attribution Setting for Facebook Ads?

For most ecommerce accounts, 7-day click plus 1-day engage/view offers a workable balance; impulse-purchase products often perform better under a strict 1-day click window, while long B2B sales cycles should rely on backend CRM data instead.