Skip to main content
Meta Ads Manager and Linkrunner will rarely show identical numbers. Most of the gap is expected. This page explains what’s normal, what’s fixable, and how to compare the two dashboards correctly. For setup instructions, see the Meta Ads integration guide. For Web-to-App campaigns, see Meta Web to App.
Meta publishes its own explanation of how it attributes and reports conversions: About Meta attribution.

Meta Ads FAQ

Walk through this checklist.
1

Verify the Meta app integration in Linkrunner

Open Integrations → Meta Ads and confirm the App ID and Install Referrer Decryption Key are saved.
2

Verify CAPI credentials

On the Ad Account tab, confirm the ad account is connected and CAPI is configured with the Dataset ID and CAPI Access Token from Meta Events Manager.
3

Check the event mapping

On the Event Mapping tab, confirm the event is mapped, then click the paper plane Send to ad network icon to fire a test event.
4

Wait for processing

Events can take up to 1 hour to appear in Meta Events Manager after Linkrunner sends them.
Linkrunner sends MobileAppInstall to Meta only for installs it attributes to a Meta campaign. Organic installs and installs attributed to other networks are never sent, so they can’t appear in Meta’s numbers.Two more common causes:
  • The 7-day event window. Meta accepts conversion events up to 7 days old. An install processed or attributed more than 7 days after it happened is not sent to Meta at all.
  • Missing CAPI credentials. Postbacks require the Dataset ID and access token on the ad account connected to that campaign. Without them, Linkrunner tracks the install but sends nothing to Meta.
This is the most common direction of discrepancy, and most of it is by design:
  • Meta self-attributes. Meta claims every install with a Meta ad engagement inside its window, even when the user’s last touch was another network. Linkrunner uses last-touch attribution across all networks and credits one source per install.
  • View-through conversions. Meta counts installs after an ad view (1-day view window) by default. Linkrunner measures view-through only on Android, and only when Meta Install Referrer is set up. iOS view-through installs land as organic in Linkrunner.
  • Cross-device attribution. Meta can credit an ad click on one device for an install on another. Linkrunner matches signals on the same device only.
  • Modeled results on iOS. Meta’s iOS reporting (Aggregated Event Measurement and SKAdNetwork) includes modeled and aggregated conversions. Linkrunner’s SDK attribution on iOS is deterministic, and users who deny App Tracking Transparency often can’t be matched, so those installs show as organic.
  • Window differences. Linkrunner matches clicks up to 30 days before the install. Meta’s default click window is 7 days, so a click 8 to 30 days before first open counts in Linkrunner but not in Meta.
  • Ads Manager attribution settings. The install count in Ads Manager depends on the ad set’s attribution setting and the columns you compare. Use Meta’s Compare Attribution Settings view before treating the gap as real.
  • Events older than 7 days. Installs that Linkrunner attributes late are kept in Linkrunner but dropped by Meta (see the previous question).
No. Linkrunner attributes Meta installs without it.If you do integrate the Facebook SDK alongside Linkrunner, disable its automatic event logging (AutoLogAppEventsEnabled = false). Otherwise Meta receives the same in-app events twice, once from the Facebook SDK and once from Linkrunner CAPI, and its event and revenue counts inflate. Meta deduplicates install events automatically, but not in-app events sent from two sources.
  • Android: Deterministic. Linkrunner decrypts the Meta campaign metadata in the Google Play install referrer using your Referrer Decryption Key. With Meta Install Referrer enabled, it also reads campaign metadata from the Facebook or Instagram app on the device, which adds view-through measurement.
  • iOS: There is no install referrer. Linkrunner attributes deterministically by matching the install to a Meta click (deep-link click, or IDFA when the user grants App Tracking Transparency). Meta itself measures iOS through Aggregated Event Measurement and SKAdNetwork, which are aggregated, modeled, and delayed by 24+ hours.
For iOS Meta App campaigns where Linkrunner has no SDK-attributed installs, the dashboard shows the install counts Meta reports through its Marketing API, so those figures follow Meta’s SKAN reporting and timing. See iOS Campaign Data Limitations.
Web-to-App attribution comes from the click, not from Meta’s API. When a click arrives with the campaign_id, adset_id, and ad_id macros on your Linkrunner destination URL, Linkrunner auto-creates a campaign named Meta W2A - <campaign id> and attributes the install to it by click matching.Linkrunner sends the website Download conversion to Meta only when the install matches a click. If no click match is found (more common on iOS, where there is no install referrer), the install is still tracked in Linkrunner but no conversion is sent to Meta for it.Meta reports the same conversions under your Sales campaign in Ads Manager. See Meta Web to App for setup.

What causes discrepancies

The differences fall into three groups.

Timing

Meta dates conversions to the ad click or view. Linkrunner dates installs to the first app open. A Jan 5 install in Linkrunner can show on Jan 1 in Meta if the ad interaction happened then.

Counting

Meta is a self-attributing network: it claims every install with a Meta engagement in its window, including view-through and cross-device. Linkrunner uses last-touch attribution, deduplicates across networks, and counts one install per user.

iOS (AEM / SKAN)

Meta measures iOS through Aggregated Event Measurement and SKAdNetwork: aggregated, partly modeled, and delayed 24+ hours. Linkrunner’s iOS attribution is deterministic and depends on ATT consent or a deep-link click.

Row-by-row comparison

AreaMeta Ads ManagerLinkrunner
Install record timeDate of the ad click or viewFirst app open
In-app event record timeDate of the ad interactionDashboard views: install time. Raw data: actual event time
Attribution windows7-day click, 1-day view by default (set per ad set)Android: install referrer read at first open. iOS and Web-to-App: clicks matched up to 30 days
View-through conversionsCounted by defaultAndroid only, requires Meta Install Referrer; not measured on iOS
Attribution scopeMeta engagements only; claims installs regardless of other networksLast-touch across all networks; one source per install
Cross-deviceCredits installs on a different device from the ad interactionSame-device signals only
ReinstallsInstall events deduplicated within a 90-day windowOne install per user; re-attribution possible only 90+ days after the original install
Time zonesAd account time zoneProject time zone (synced Meta spend and clicks stay on Meta’s calendar day)
Events sent to MetaOnly mapped events, and only when under 7 days oldAll SDK events appear in Linkrunner
iOS installsAEM and SKAN, includes modeled results, delayed 24+ hoursSDK-attributed installs; Meta-reported counts shown for iOS App campaigns without SDK attribution
Processing delayCAPI events appear within ~1 hour; SKAN adds 24+ hoursNear real time

Troubleshooting checklist

If the gap is much bigger than expected:
  • App ID and Install Referrer Decryption Key are saved in the integration tab.
  • CAPI Dataset ID and access token are configured for the connected ad account.
  • Events are mapped and a test event (paper plane icon) reaches Meta Events Manager.
  • If the Facebook SDK is also integrated, its automatic event logging is disabled.
  • Android: Meta Install Referrer is configured if you expect view-through installs.
  • iOS: SKAdNetwork is configured and you compare against Meta’s SKAN reporting. See SKAdNetwork integration.
  • Web-to-App: the ad’s destination URL includes the campaign_id={{campaign.id}}, adset_id={{adset.id}}, and ad_id={{ad.id}} macros.
  • You compare the same date range in the same time zone, remembering Meta reports on the ad-interaction date.

For any questions or assistance, please contact us at support@linkrunner.io.