Skip to content
Tolinku
Tolinku
Sign In Start Free
Analytics & Attribution · · 4 min read

Self-Attributing Networks: Facebook, Google, and More

By Tolinku Staff
|
Tolinku analytics measurement dashboard screenshot for analytics blog posts

Self-attributing networks (SANs) are ad platforms that perform their own attribution instead of relying on a third-party attribution provider. Meta (Facebook/Instagram), Google (Search/YouTube/UAC), TikTok, Snapchat, X (Twitter), and Apple Search Ads all self-attribute. This means they decide whether their ads drove an install, and they report that decision to you directly.

This creates challenges. When two SANs both claim credit for the same install, someone is wrong. This guide explains how SANs work, why they self-attribute, and how to reconcile their data. For attribution models, see last-click vs multi-touch attribution. For build-vs-buy decisions, see MMP vs in-house attribution.

How Self-Attributing Networks Work

Standard Attribution Flow

With a regular ad network:

  1. User clicks an ad. The click is redirected through the attribution provider's tracking URL.
  2. User installs the app.
  3. Attribution provider receives the install event from its SDK.
  4. Attribution provider matches the install to the click.
  5. Attribution provider assigns credit to the ad network.

The attribution provider controls the data and the decision.

SAN Attribution Flow

With a self-attributing network:

  1. User clicks an ad within the SAN's platform (e.g., a Facebook ad).
  2. The click is NOT redirected through a tracking URL. Facebook tracks it internally.
  3. User installs the app.
  4. Attribution provider's SDK sends the install event to the attribution provider AND to Facebook's SDK.
  5. Facebook checks its own click/impression data and claims the install if it finds a match.
  6. The attribution provider receives Facebook's claim and must decide whether to accept it.

The SAN controls its own click/impression data and makes its own attribution decision.

Major Self-Attributing Networks

Network Platforms Claim Method
Meta (Facebook, Instagram) Facebook, Instagram, Audience Network, Messenger Server-side claim via API
Google Ads Search, YouTube, Display, UAC Server-side claim via API
TikTok TikTok, Pangle Server-side claim via API
Snapchat Snapchat Server-side claim via API
Apple Search Ads App Store search AdServices framework (iOS 14.3+)
X (Twitter) X/Twitter Server-side claim via API
Pinterest Pinterest Server-side claim via API

Each SAN has its own API, its own attribution logic, and its own reporting format.

The Double-Counting Problem

When a user sees a Meta ad, clicks a Google ad, and installs the app:

  • Meta claims the install (view-through attribution).
  • Google claims the install (click-through attribution).
  • Your attribution provider has two claims for one install.

The attribution provider must deduplicate by applying a priority model:

  1. Click beats view. Google's click-through claim takes priority over Meta's view-through claim.
  2. Last click wins. If both are click claims, the most recent click wins.
  3. SAN priority. Some attribution providers assign priority tiers to SANs.

Without deduplication, your total attributed installs will exceed your actual installs.

Integration Patterns

SDK-to-SDK Communication

Most attribution providers integrate with SANs via SDK:

// Example: Sending install event to attribution provider
// The attribution provider SDK then communicates with SAN SDKs

func applicationDidFinishLaunching() {
    // Initialize attribution SDK
    AttributionSDK.configure(apiKey: "YOUR_KEY")

    // The attribution SDK queries each SAN's SDK for claims
    // Meta SDK: Was there a Facebook ad interaction?
    // Google SDK: Was there a Google ad interaction?
    // TikTok SDK: Was there a TikTok ad interaction?

    AttributionSDK.trackInstall()
}

Server-to-Server (S2S)

Some SANs support server-to-server integration where your backend communicates directly with the SAN's API:

// POST to SAN's attribution API
{
  "event": "install",
  "app_id": "com.yourapp",
  "device_id": "hashed_device_id",
  "timestamp": "2026-07-12T10:30:00Z",
  "attribution_window": "7d"
}

// SAN's response
{
  "attributed": true,
  "campaign_id": "CAMP-123",
  "ad_group_id": "AG-456",
  "creative_id": "CR-789",
  "click_timestamp": "2026-07-11T14:20:00Z",
  "attribution_type": "click"
}

SAN-Specific Considerations

Meta (Facebook/Instagram)

Apple Search Ads

  • Uses the AdServices framework on iOS 14.3+.
  • Attribution data is available via a token that your server exchanges with Apple's API.
  • Does not require IDFA or ATT consent.
  • Only attributes installs from App Store search ads, not from other Apple properties.

TikTok

  • Uses Events API for server-side attribution.
  • Supports both click-through (default 7 days) and view-through (default 1 day) attribution.
  • Requires TikTok SDK for in-app event tracking.

Reconciliation

Building a Reconciliation Report

Compare SAN-reported data with your attribution provider's data:

Metric SAN Report Attribution Provider Difference
Meta installs 1,200 980 +22%
Google installs 800 750 +7%
TikTok installs 400 320 +25%
Total claimed 2,400 2,050 +17%
Actual installs 2,050

The difference comes from double-counting (multiple SANs claiming the same install) and from SANs counting view-through conversions that the attribution provider deduplicates.

Acceptable Discrepancy

A 10-20% discrepancy between SAN-reported and attribution provider-reported data is normal. Investigate if the discrepancy exceeds 25% for any single SAN.

Common causes of large discrepancies:

  • Mismatched attribution windows (SAN uses 7 days, your provider uses 1 day).
  • Mismatched event definitions (SAN counts re-installs, your provider does not).
  • SDK version mismatches.
  • Privacy restrictions removing identifiers.

Privacy Impact on SANs

iOS ATT

After ATT, SANs have limited access to IDFA:

  • SANs rely on SKAdNetwork for deterministic attribution on iOS.
  • SKAdNetwork provides campaign-level attribution (not user-level) with delayed reporting.
  • SANs supplement with modeled conversions (statistical estimates).

Android Privacy Sandbox

Google's Privacy Sandbox introduces the Attribution Reporting API, which provides aggregate-level attribution without individual user tracking.

Tolinku for Attribution

Tolinku's analytics provide deep link click and conversion attribution. Tolinku's attribution data can complement SAN-reported data by providing a click-level source of truth for deep link campaigns. Configure attribution tracking in the Tolinku dashboard.

For mobile attribution, see mobile attribution: a developer's guide. For attribution models, see last-click vs multi-touch attribution.

Get deep linking tips in your inbox

One email per week. No spam.

Ready to add deep linking to your app?

Set up Universal Links, App Links, deferred deep linking, and analytics in minutes. Free to start.