Traqio.

Mobile game · This is you if

Your game earns from ads and in-app purchases, and you can't tell which campaign brings players who stay and pay.

For mobile games: retention and ROAS by campaign, ads and in-app

Per campaign: D1 and D7 retention, ad and in-app revenue, and ROAS at D0, D7 and D30 — against what the campaign cost.

Free up to 2,000 conversions a month, per product. No card, no call.

Reports
Example data
D7 retention and ROAS by campaign · ads + in-app
Last 30 days
  • MetaLookalike_payers
    1.73×

    Spend $640 · D7 retention 21% · Revenue $1,107

  • AppLovinPlayable_v2
    1.24×

    Spend $720 · D7 retention 18% · Revenue $893

  • MetaReels_gameplay
    0.92×

    Spend $1,100 · D7 retention 14% · Revenue $1,012

  • TikTokCreator_duet
    0.63×

    Spend $480 · D7 retention 9% · Revenue $302

  • Total
    1.13×

    Spend $2,940 · Revenue $3,314

Break-even = 1.00×

Reading it: the payer lookalike and the playable keep players and pay back; the creator campaign brings cheap installs that are gone by day 7.

Today

Without Traqio, it looks like this

  • Your ad monetisation dashboard gives totals by app and country — never by the campaign that brought the player.
  • The networks you buy on see installs, not who is still playing on day 7.
  • So campaigns get cut on cost per install, without knowing which ones were profitable.

How it works

Three steps, then you read the report

  1. 1

    Add the SDK, turn on ad revenue

    Start it with the ad revenue option: AdMob and AppLovin MAX impressions are captured from there — automatically, or in one line per ad where the ad SDK has no global hook. Sessions and purchases are counted too.

    Traqio.init({ sdkKey: "YOUR_SDK_KEY" });
    
    // In the ad's paid-event callback, once per impression:
    Traqio.trackAdRevenue({
      valueMicros: 21500,
      currency: "USD",
      precision: "estimated",
    });
  2. 2

    Connect the networks you buy on

    Meta and TikTok in one click; AppLovin and the other game networks with a reporting key you paste once.

    Connects with

  3. 3

    Read retention and ROAS by campaign

    D1, D7 and D30 retention, revenue per player and ROAS per campaign — with ad and in-app revenue also shown apart.

    Example data
    • Meta · Lookalike_payers1.73×
    • AppLovin · Playable_v21.24×

What it costs

Free up to 2,000 conversions a month, then $0.04 each

  • A conversion is one attributed install, or one new user on a website.
  • Purchases, renewals and every other event are measured, never billed.
  • Every feature is on every plan — the plans differ in volume only.

Billing is not switched on during early access: nothing is charged today.

See full pricing

Example: 8,000 conversions this month

2,000
included
6,000 × $0.04
$240
Total
$240 this month

Questions before you start

Is retention shown per campaign?

Yes. Retention counts the players who opened the game that many days after installing — a session, in the app's time zone — per campaign, ad set or ad. A cohort too young for D7 is flagged, not shown as a drop.

And ARPDAU?

Not as a ready-made metric. Traqio measures revenue per installed player — ARPU and cumulative LTV at D1, D7 and D30, plus ad and in-app revenue apart — because that is what a campaign can be judged on.

Does the ad revenue match my monetisation dashboard?

Closely, not exactly. Most mediation sources report an estimated value per impression, so totals drift a few percent from the final payout, in both directions.

My game is built on a game engine — does the SDK fit?

Yes. Every Traqio SDK, game engines included, reports AdMob and AppLovin MAX revenue — automatically, or in one line per ad where the ad SDK has no global hook. The ad revenue guide gives the level for each platform, and the install guide how far each SDK is proven.

The detailed answer, with sources

A mobile game usually earns twice — from in-app purchases and from the ads it shows — and its players decide in the first week whether they stay. Traqio measures both per acquisition campaign: retention from sessions at D1, D7 and D30, in-app revenue from the stores or the SDK, ad revenue from each paid impression the SDK forwards, and return on ad spend against the spend pulled from Meta, TikTok, AppLovin and other game networks. An app that lives on ads without being a game reads exactly the same report.

Retention by campaign, counted in sessions

Retention at day n is the share of a day's installs whose device opened the app n days later. Traqio counts it from sessions — an app open, in the app's time zone — and not from events, so a player who opens the game without buying anything still counts as retained.

Retention is read at D1, D3, D7, D14 and D30 for each network, campaign, ad set or ad, next to the cohort's revenue at the same day. A cohort whose window has not closed yet is flagged as immature instead of being shown as a drop.

ARPU at day n is the cohort's revenue up to that day divided by its installs; in-app revenue and ad revenue are also reported apart, per campaign. Traqio does not report ARPDAU, which divides by daily active users rather than by the installs a campaign bought.

Why ad revenue has to come from the device

Ad revenue can only be split per campaign where the install is known, which is on the device. The monetisation reporting APIs return daily totals with nothing that identifies an install, so they can produce an app-wide total and never a per-campaign one.

The Traqio SDK exposes trackAdRevenue, called from the ad's paid-event callback once per impression with the value in micros, the currency and the precision. Impressions are queued on the device and sent in batches.

How close the numbers are

Most mediation sources report an estimated value per impression, so Traqio's ad revenue drifts a few percent from the final payout, in both directions. The precision travels with each impression, and test impressions are recorded as tests and never counted.

Where the spend comes from

Spend is pulled daily from the networks the app buys on: Meta and TikTok through a one-click connection, AppLovin and other game networks through a reporting key pasted once in the console. ROAS is ad revenue plus purchase revenue, divided by that spend.

How are app installs attributed on Android?

Deterministic attribution matches a click to an install using an identifier that is present on both sides, so the match is exact rather than inferred. On Android, Traqio's identifier is a click id carried from the tracking link through the Play Store by the Google Play Install Referrer.

The Google Play Install Referrer API returns the referrer string attached to a Play Store listing visit, together with click and install timestamps, letting an app read on first launch which ad click preceded its own install. Google's documentation states that the install referrer information is available for 90 days and does not change unless the app is reinstalled.

The Android round trip has three steps. A Traqio tracking link records the click and its click id; the Play Store keeps the click id in the referrer string; the Traqio SDK reads the referrer on first launch and the Traqio server matches the click id to exactly one recorded click. No advertising identifier is read at any step.

An Android install with no matching click inside the window is recorded as organic. Organic installs are observed but never billed as conversions.

What attribution window does Traqio use?

An attribution window is the maximum time between an ad click and an install for the click to receive credit. Traqio's default is a 7-day click-through window: a click stays eligible for 168 hours, and every match inside it is a click id, never an inference.

The window is set per app, from 1 hour to 1 year, and defaults to 7 days. View-through attribution is off by default: only when an app sets a view-through window can an ad impression without a click receive credit for an install, and only when no click matched.

On iOS the window is Apple's, not Traqio's. Apple's SKAdNetwork documentation gives a user 30 days to install after a StoreKit-rendered ad and 24 hours after a view-through ad, and SKAN applies those rules before any postback reaches Traqio.

Where attribution still has gaps

Deterministic attribution covers traffic that passes through a Traqio tracking link, and that boundary matters on the two largest networks. Click and view attribution inside Meta's and TikTok's own app-install inventory requires being a listed measurement partner of each network, and Traqio is not listed yet (checked 2026-09).

Google App campaigns are a similar case: a Google App campaign cannot point at a third-party click tracker unless the tracker is a certified Google App Attribution Partner, which Traqio is not. Installs driven by those campaigns arrive in Traqio without a campaign attached.

On iOS, Traqio maps the SKAN ad-network ids of Meta and TikTok; postbacks from any other ad network are stored with their raw id under “other” rather than named.

Which ad monetisation platforms are supported?
AdMob and AppLovin MAX, from the per-impression paid event the Traqio SDK captures on the device.
Which SDKs report ad revenue?
Every Traqio SDK, game engines included. The ad revenue guide says, per platform, whether capture is automatic, one line per ad or a manual call.
What is mobile app attribution?
Install attribution is the process of determining which ad click or impression caused a specific app install. Mobile app attribution extends the same bookkeeping to post-install events such as purchases. Attribution differs from product analytics, which describes what users do, and from incrementality testing, which asks whether an ad caused an install that would not otherwise have happened.
How are app installs attributed on Android?
Android installs are attributed deterministically through the Google Play Install Referrer. A click id travels from the tracking link through the Play Store, and the Play Install Referrer API returns it to the app on first launch, together with click and install timestamps. Google states that the referrer information stays available for 90 days. No advertising identifier is needed.
How are app installs attributed on iOS after ATT?
iOS installs are attributed through SKAdNetwork (SKAN), Apple's framework that sends a signed, delayed and aggregated postback instead of user-level data. The IDFA only exists for users who grant ATT permission, so SKAN is the mechanism that covers everyone. SKAN results are campaign-level, which means user-level iOS ROAS is not available from SKAN.
Can I attribute installs without an MMP?
Installs can be read from each ad network's own reporting, but each network self-reports and credits itself with installs another network also claims. With two networks, the claimed totals typically exceed the real number of installs; an MMP assigns each install to one source so the totals reconcile. With a single network, its own reporting is often enough.
How long does it take to see attributed installs?
Android installs are attributed on the app's first launch, as soon as the SDK reports the install referrer. iOS installs arrive with SKAN postbacks, which Apple sends 24–48 hours after the first conversion window closes, and 24–144 hours after the second and third windows close, according to Apple's SKAdNetwork documentation.

Sources

Last updated 2026-11-12

See this report with your own numbers.

Create an account, declare your app or site, get your keys. Nobody will call you.

Free up to 2,000 conversions a month, per product. No card, no call.

Other cases

Use cases