Early access · iOS

Know which ad
brought the install.

Web-to-app attribution for iOS ads on Meta, TikTok and Google. Every install is matched to the click that caused it, with its confidence, and shown next to trials and revenue. No Meta or Firebase SDK in your app.

Live activity·Pulse Fitness
timeeventsourcedeviceoutcome
14:02:11clickmeta · summer-lookalike · ugc-v2iPhone 15 Pro · Berlin·
14:03:47installPulse Fitness · first openiPhone 15 Pro · BerlinMATCHED0.97summer-lookalike
14:05:02clicktiktok · creators-q3 · hook-biPhone 13 · Hamburg·
14:05:19clicktiktok · creators-q3 · hook-biPhone 13 · Hamburg·
14:06:40installPulse Fitness · first openiPhone 13 · HamburgAMBIGUOUS2 candidates · not counted
14:09:12eventtrial started · $59.99 / yrvia RevenueCatsummer-lookalike
What you get

From a link in your ad to revenue per campaign

Built for iOS apps that buy installs on the web and want to know what each ad is actually worth.

ROAS per campaign, ad set and ad

Clicks, installs, trials and revenue for every campaign. The click IDs and macros Meta, TikTok and Google already put in your URL do the naming, so your dashboard reads like your Ads Manager.

Matches you can defend

Every install gets one of three outcomes: matched, ambiguous or unmatched. A match carries its confidence. An ambiguous one is shown, not counted, so over-attribution never inflates your ROAS or your invoice.

Nothing to explain in App Review

One small Swift package you can read line by line, reporting a first open. No Meta SDK, no Firebase, no ad network code in your binary, and no third-party tracking prompt.

How it works

Live in an afternoon

No SDK from the ad networks, no server of yours to touch. Three things, in this order.

  1. destination url
    appdownload.link/pulse/summer-lookalike
    ?fbclid=IwAR2x…&campaign_id={{campaign.id}}&ad_id={{ad.id}}
    Step 1

    Put the link in the ad

    One link per campaign as the ad’s destination. Meta, TikTok and Google append their click IDs and macros; the tap is recorded and the person is sent straight on to the App Store.

  2. // AppDelegate.swift
    import TrueOrigin
    
    TrueOrigin.start(apiKey: "to_live_…")
    Step 2

    Add the package

    A Swift package and one call at first open. iOS 16 and up, nothing runs in the background, and the source is yours to read before it ships.

  3. campaignclicksinstallstrialsrevenue
    summer-lookalike1,20441238$2,281
    creators-q396824017$1,020
    Step 3

    Read revenue per campaign

    Installs appear in the dashboard seconds after the first open. Trials and purchases arrive through RevenueCat or Superwall webhooks and land on the campaign that brought the install.

Request access

We’re onboarding a few iOS apps at a time.

Tell us about your app and where you buy installs. You’ll hear back from the founder, not a sequence, and early partners shape what gets built next.

iOS 16+
Swift package, source you can read
Per install
priced on matched installs, never seats
Meta · TikTok · Google
plus Apple Ads and influencer links
Where you run ads

No newsletter. We only use this to get back to you.

Stop guessing
which ad worked.