# Read your program's results

> Where to see what creators drove — Overview, Activity, Creators, Codes and Subscribers — how every number is counted, how each install was credited, and how to see results per group or post.

InfluTo measures one thing end to end: which creators bring you installs and paying users, and what they earned. Every number has one definition, and every screen, the creator dashboard and the agent API use it (see [How we count](#how-we-count)). Only production data counts: sandbox purchases, simulated purchases and test data never show up in your numbers.

## Where to find each number

| Screen | What it shows |
|---|---|
| **Overview** | The period's **Clicks**, **Installs**, **Trials**, **Paid**, **Revenue** and **Commission**, each compared with the previous period of the same length. **Daily results**, **Latest attributions**, **Top creators**, **How installs were credited** and **Needs attention**. |
| **Activity** | Every install, trial, payment, refund, bonus and rate change, one row each: who, which code, how and how much. |
| **Campaigns → a campaign** | The same views for one campaign, on the tabs **Overview**, **Creators**, **Codes**, **Subscribers**, **Bonuses** and **Settings**. |
| **Creators** | One row per person, with all their codes. Open a creator for their codes, timeline, money and bonuses. |
| **Codes** | Every code with its results: creator codes and your own channel codes. **By tag** shows results per code or link tag. |
| **Subscribers** | One row per referred user, from first touch to their latest payment or refund. |
| **Money** | Your wallet, the ledger, spend per creator and creator payouts. See [Wallet and payouts](https://docs.influ.to/platform/wallet.md). |
| **Setup & SDK → Integration log** | The raw SDK events and purchase webhooks, for checking an integration. See [Verify the integration](https://docs.influ.to/integrations/testing.md). |

Pick the period at the top of each page: **7d**, **30d**, **90d** or **Custom**. Days follow your browser's time zone.

## Overview

The six figures at the top read as the funnel, left to right. Their captions add context: typed codes next to **Clicks**, the share of clicks next to **Installs**, how many are in trial and paying now, and the refunds next to **Revenue**.

**Daily results** shows installs, trials and new paying subscribers per day, with revenue below. Click a day to see who drove it, then **See this day's activity** to open that day in **Activity**.

**Needs attention** lists what's waiting for you: bonuses to review, creators who haven't picked a code, a low wallet, campaigns paused at a limit, an integration that isn't verified yet, and purchases whose code matched nothing.

## Activity

**Activity** is a chronological feed of what happened in the app: installs, trials, first payments, renewals, one-time purchases, refunds, cancellations, milestone bonuses, free-code redemptions, commission rate changes, creators joining or leaving, payouts, and purchases whose code matched no campaign.

Each row names the creator, the code and the campaign, how the install was credited, a pseudonymous subscriber key (`sub_…`) and the amount, such as the commission earned or reversed.

- Filter by **Campaign**, **Creator** or **Code**, or pick event groups under **Show**. **Search a subscriber** takes a subscriber key or an app user ID.
- Test data is hidden. Turn on **Include test data** to see sandbox and simulated purchases too.
- An install on the creator's own device is labelled "Creator's own device". It is shown, but left out of install counts and bonuses.
- **Export CSV** downloads the events loaded on the page.

A creator's page, a code's page and each campaign also show their own activity, with **Open in Activity** for the full feed.

## Creators

**Creators** has one row per person, with their codes nested under them: **Clicks**, **Installs**, **Trials**, **Paid**, **Paying now**, **Revenue**, **Commission** and **Last activity**. Search by name, email, handle or code. Your own channel codes are hidden; turn on **Show channel codes** to include them.

Open a creator to see:

- their daily results, and every code they hold in this app with its rate and results — **Manage** changes the rate or ends the partnership (see [Invite creators](https://docs.influ.to/platform/invite-influencers.md#withdraw-an-invitation-or-end-a-partnership));
- their activity, how their installs were credited, and the free codes that credit them;
- their milestone bonuses, to approve or void;
- everyone they brought in, all time;
- **Money** for this app, all time: commission earned, reversed by refunds, bonuses approved and to review, paid out, waiting for payout, and reserved in your wallet.

## Codes

**Codes** lists **Creator codes** and your own **Channel codes** (from [tracking campaigns](https://docs.influ.to/platform/create-campaign.md#tracking-campaigns)) with their results, a **Copy link** button and a QR code you can download as a PNG.

Open a code for its daily results, **Results per link tag**, **Link clicks by platform**, **Countries**, how installs were credited, its free codes, its activity and its subscribers.

The **By tag** tab shows results per code or link tag — see [Results per group or post](#results-per-group-or-post).

## Subscribers

**Subscribers** has one row per user a creator brought in: the subscriber key, the creator and code, the status, when they installed, started a trial or paid, how many times they renewed, what they paid and the commission it earned.

| Status | Meaning |
|---|---|
| **In trial** | In a free trial right now. |
| **Paying** | Paying right now. |
| **Cancelled** | Auto-renew is off. They've paid for the current period and keep access until it ends. |
| **Expired**, **Churned** | The subscription has ended (the **Ended** filter). |
| **Refunded** | A payment was refunded. |

Filter by status, campaign, creator or code. Search takes the full subscriber key (`sub_…`) or the exact app user ID.

Open a subscriber for the creator, code and campaign, how they were credited (**Credited by**), payments, renewals, refunds, commission, the **Commission terms** locked when they subscribed, and a timeline.

Lists only show the pseudonymous key. The raw **App user ID** appears only on the subscriber's details, and only to organization owners and admins — use it to find the user in RevenueCat or in a support ticket. Creators never see it.

## How we count

| Number | Definition |
|---|---|
| **Clicks** | Link clicks. The same visitor within 5 minutes counts once; flagged clicks are left out. Codes typed into the app count as code entries instead. |
| **Code entries** | Codes typed or redeemed in the app. |
| **Installs** | App installs credited to a link or code, dated by when they were credited. Flagged clicks, test purchases and the creator's own device are left out. |
| **Trials** | Free trials that started in the period. |
| **Paid** | Users who became paying subscribers in the period. |
| **Paying now** | Users paying right now. |
| **In trial now** | Users in a free trial right now. |
| **Revenue** | What referred users paid in the period: first payments, renewals and one-time purchases, in USD, before refunds. |
| **Refunds** | Money refunded in the period. |
| **Net revenue** | Revenue minus refunds. |
| **Commission** | Commission earned on those payments, minus commission reversed by refunds. Milestone bonuses are shown separately. |

The rates follow from these: **Click → install** is installs as a share of link clicks, **Install → trial** is trials as a share of installs, and **Paid per click** is new paying subscribers as a share of link clicks.

- **Dates.** Installs count on the day they were credited, trials and paid on the day they started, and revenue and refunds on the day of the payment or refund.
- **"Now" figures.** **Paying now** and **In trial now** describe today, whatever period you pick.
- **Organic.** Installs and purchases no creator brought in don't count toward any creator. The Overview shows how much in-app revenue came without a code.

### Raw, flagged and clean clicks

The click number is always the cleaned one. To see what was removed, InfluTo also keeps:

- **raw** — every tap on the link that was recorded,
- **flagged** — taps marked as suspicious,
- **canonical** — the cleaned number shown everywhere.

A campaign's **Overview** tab shows this under **All time** ("Clicks leave out repeats and flagged traffic: … raw link hits, … flagged"). Agents get it as `clicks.decomposition` (`raw`, `flagged`, `canonical`).

### Why a click gets flagged

InfluTo screens every tap for automated and abusive traffic — bots, link-preview fetchers, scripted or repeated tapping — before it counts. Flagged clicks stay on record but are excluded from click and install counts and from [milestone bonus](https://docs.influ.to/platform/create-campaign.md#milestone-bonuses) progress, so a creator can't inflate their numbers. The exact rules aren't published, so they can't be gamed.

## How installs were credited

Every credited install records how it was matched. The Overview, each creator, each code and each subscriber show it. Exact methods come first; link-click matching is the fallback.

| Label | What happened |
|---|---|
| **Play install referrer** | Google Play passed the creator's link to the app on first launch. |
| **Link parameter** | The app opened with the creator's link, which carried the code. |
| **Typed code** | The user typed the creator's code in the app. |
| **Free code** | The user redeemed a free-access code credited to the creator. |
| **Link-click matching** | Matched to a recent click on the creator's link, used when the store passes nothing on. |
| **Code in the app** | Subscribers only: the purchase carried the creator's code, with no click behind it — for example a code your app set through RevenueCat. |
| **Not recorded** | Credited before InfluTo started recording the method (October 2026). |

How each method works: [How attribution works](https://docs.influ.to/advanced/attribution.md).

## How to read the funnel

```text
Clicks  →  Installs  →  Trials  →  Paid
        install rate  trial rate   trial-to-paid
```

Look for the step where most people drop out:

- **Lots of clicks, few installs.** People tap but don't install. Check the store listing they land on, and whether the creator's audience matches your app. Remember that link-click matching only connects installs to taps from the last 72 hours (see [Attribution](https://docs.influ.to/advanced/attribution.md)), and that people who install later from a store search show up as organic. A code field in your app catches more of them — see [Referral codes](https://docs.influ.to/guides/referral-codes.md).
- **Installs, but few trials or purchases.** Onboarding or the paywall is losing people. Consider a better offer for referred users — see [Referral offers](https://docs.influ.to/guides/referral-offers.md).
- **Trials, but few become paid.** Look at pricing and what the trial shows. Commission is only earned once a trial converts.

The steps aren't strictly nested: a user who buys without a trial counts as paid but not as a trial, so **Paid** can be higher than **Trials**.

## Results per group or post

One creator code is often posted in many places — several Facebook groups, a TikTok bio, a newsletter. Tag the link once per place and InfluTo shows clicks, installs, trials and paid subscriptions for each place separately.

### Tag the links

Add a tag to the creator's referral link. Use a short name per place; the code stays the same:

```text
https://influ.to/{app_slug}/{CODE}?s=fb-hu-keto
https://influ.to/{app_slug}/{CODE}?s=fb-hu-vegan
https://influ.to/{app_slug}/{CODE}?s=tiktok-bio
```

Creators can build these links themselves with the link builder under **Codes & links** in their dashboard.

| Parameter | Shown as | Notes |
|---|---|---|
| — | **Code** | The code itself (a creator's code or one of your [tracking codes](https://docs.influ.to/platform/create-campaign.md#tracking-campaigns)). No tag needed; codes typed into the app count under their code. |
| — | **Code → post (?s=)** | Per code, then per `?s=` value. |
| `s` (or `sub1`, `sub`, `subid`) | **Group (?s=)** | The simplest choice: one value per group or post. |
| `s2` (or `sub2`) | **Second tag (?s2=)** | A second level if you need one, for example the post inside a group. |
| `utm_source`, `utm_medium`, `utm_campaign`, `utm_content`, `utm_term` | **UTM source**, **UTM medium**, … | Standard UTM tags, if your links already use them. |
| — | **Referring site** | The site the tap came from, when the browser reports it (`www.` dropped; `m.facebook.com` and `facebook.com` stay separate). No tag needed. |

Tags are saved with each tap, so they work whether the person installs from the App Store or Google Play. They don't change who gets credited or what anyone earns. Values are kept as written (up to 255 characters): `FB-hu-keto` and `fb-hu-keto` are two different rows, so agree on one spelling with your creators. Taps from before a link was tagged stay untagged.

### Read the breakdown

The breakdown is in three places:

- **Codes → By tag** — every code in the app. It starts per code.
- A campaign's **Codes** tab — that campaign's codes. It also starts per code; switch to a link tag (`?s=`, `utm_*`) to see which group or post worked.
- A code's page → **Results per link tag** — one code. It starts per `?s=` tag.

Choose what to group by. Each row shows clicks, installs, trials, paid, **Revenue** (what those subscribers have paid so far, in USD, refunds deducted) and the **Click → install** and **Click → paid** rates. Below the rows:

- **Untagged** — clicks without the chosen tag. A code typed into your app has no link and no tag, so when you group by a tag, its trials and purchases count here. Group by **Code** to see them under their code.
- **Total** — every link click on those codes in the period: the same click number as the rest of the dashboard.

How the numbers are counted:

- **By click date.** A row counts the clicks made in the period and everything they led to, even if the install or purchase came later. The daily figures count trials and purchases by the date they happened, so the two don't always match.
- **Clicks are cleaned the same way as everywhere else**, per row: someone who opens two differently tagged links within 5 minutes counts once in each row. That's why the rows can add up to more than **Total**.
- **Trials and paid count under a tag only when the purchase is tied to that person's own click.** A purchase credited to the creator that can't be tied to one person's click isn't credited to any tag: it is listed as "not tied to a tag" under the table and included in **Total**. A purchase with no click on the link at all — for example a code your app set through RevenueCat — isn't in this breakdown, so trials and paid here can be lower than the daily figures.

The dashboard lists the 100 busiest values; agents can ask for up to 500.

### Agents and the API

`influto_get_funnel_breakdown` returns the same table: pass `appId` and `groupBy` (`code`, `sub1`, `sub2`, `utm_source`, `utm_medium`, `utm_campaign`, `utm_content`, `utm_term` or `referrer_host`, or up to three of them separated by commas, such as `code,sub1` — rows then also carry `values` per dimension), optionally `days` (1–3650, default 30), `campaignId`, `referralCode` and `limit`. Over REST it is `GET /api/agent/apps/{app_id}/analytics/breakdown?group_by=sub1&days=30` with an agent key or OAuth token (scope `analytics:read`). The response has `rows`, `untagged`, `unmatched` (the purchases not tied to a tag), `totals` and `notes` that restate the counting rules above. Rows and totals carry `clicks` (link clicks) and `code_entries` (codes typed in the app) separately. Every row, `unmatched` and `totals` include `revenue`.

## What creators see

Creators read the same numbers, for their own codes only, in their dashboard:

- **Results** — a breakdown by campaign, code and link tag (also platform, source and website), a timeline, and their referrals, shown as "Referral #1", "#2"… They never see a subscriber key or an app user ID.
- **Codes & links** — their codes and links, with a link builder that adds `?s=` tags.
- **Campaigns** — what they earn in each campaign.
- **Money** — their balance per developer, ledger, payouts and a statement with a CSV download.

Creators see their commission, not your revenue.

## With an AI agent

| Question | Tool |
|---|---|
| How is the app doing? Clicks, installs, trials, paid conversions, active subscribers, revenue, commission and rates for `7d`, `30d`, `90d` or `all` | `influto_get_analytics_overview` |
| What happened, event by event? The Activity feed, filtered by campaign, creator, code, event type or subscriber | `influto_list_activity` |
| Day by day, for the app or one campaign, creator or code, with the codes that drove each day | `influto_get_daily_series` |
| Everything about one creator: codes, rates, how installs were credited, money, bonuses | `influto_get_creator` |
| Everything about one code: results, link tags, platforms, countries, free codes | `influto_get_code` |
| Who did creators bring in? Referred users with status, payments, refunds and commission | `influto_list_subscribers` |
| Where does a campaign lose people? Funnel counts with step rates | `influto_get_campaign_funnel` |
| Which group, post or UTM campaign brought the installs and sales? | `influto_get_funnel_breakdown` |
| Who are the best creators? Ranked by revenue for a period | `influto_list_top_affiliates` |
| Every creator in a campaign, including milestone progress | `influto_list_affiliates` |
| Did my test purchase arrive? Latest events, filterable by environment | `influto_recent_events` |

Agents see referred users only by their subscriber key. An agent can look up an app user ID it already has, but no tool returns one. A creator's email is included only when the agent also has the `creators:read` scope.

In the overview, `conversions.total` means paid conversions; `conversions.acquired_users` counts every referred user, including trials that never paid. The REST endpoints behind these tools are listed in the [HTTP API](https://docs.influ.to/reference/http-api.md#agent-rest-api). See [Agent tools](https://docs.influ.to/agents/tools.md).

## Next

<!-- cards -->
- [Commissions and fees](https://docs.influ.to/platform/commissions.md) — How revenue turns into commission.
- [Verify the integration](https://docs.influ.to/integrations/testing.md) — Use the Integration log and a sandbox purchase to check everything works.
<!-- /cards -->
