Guide
App Store campaign parameters without an SDK
App Store Connect and Play Console can tell you which campaign drove an install — if the click carried the parameters those consoles understand. AppIn fills Apple’s ct and pt and Play’s referrer on the link itself. No SDK, no app release.
Why do store campaign parameters matter?
Because the report many indie teams actually open is App Store Connect or Play Console, not an MMP dashboard. Those consoles only see what arrived on the store URL. If your bio link, ad, or influencer post did not carry ct/pt or a Play referrer, the install still happens — it just lands in an unlabelled bucket.
Apple’s campaign links are documented on its Campaign links help page; Google documents the Play Install Referrer API and related Play Console reporting. Read their docs for the canonical field meanings; this page is about composing those parameters on an app-link product.
What AppIn composes
| Platform | Parameter | Role |
|---|---|---|
| iOS / App Store | ct | Campaign token — which campaign |
| iOS / App Store | pt | Provider token — which provider / source |
| Android / Play | referrer | Campaign payload Play accepts on the store URL |
You set the campaign on the link in the AppIn dashboard. The edge composes the store URL so the tap that leaves the in-app browser still carries those values into the store.
What this is not
- Not install attribution. We do not fingerprint devices or claim network-level attribution. If you need that, run AppsFlyer, Branch, Adjust or Singular and optionally put AppIn in front of their link.
- Not a substitute for UTM-only analytics on a website. This is store-console reporting for app installs; for campaign reporting inside GA4 itself, see GA4 Measurement Protocol setup.
How to use it in practice
- Create one AppIn link per campaign (or per creative, if that is how you report).
- Set the campaign name/parameters in the dashboard.
- Publish that link on the channel you want labelled.
- Read the result in App Store Connect or Play Console after installs land.
If you were using Firebase Dynamic Links for routing plus light campaign separation, see the Firebase Dynamic Links alternative guide for the migration shape.
Related
- App store link shortener
- Custom domain for app links
- apppage alternative — competitors that do not lead with store-native params
Questions
- What are Apple ct and pt?
- Campaign token and provider token query parameters on App Store product URLs. App Store Connect uses them to attribute campaigns when the click reaches Apple with those values set.
- What is the Play referrer parameter?
- A Play Store URL parameter that carries campaign context into Google Play. Play Console and many analytics stacks read it after install.
- Does AppIn replace AppsFlyer attribution?
- No. Store-native parameters are what the store consoles report. MMP attribution is a separate system inside your app.
- Do I need a separate link per campaign?
- Yes if you want campaigns split in the store consoles. One link is one set of parameters.
Facts on this page were last checked on . Competitor pricing and platform behaviour both move; check theirs before deciding.
Keep reading
- GuideYour campaign is missing from App Store Connect. Here is the order to check.A campaign link that drove installs can report nothing in App Store Connect. Three thresholds Apple publishes explain most empty rows — check them first.
- GuideSearching for page.link will miss most of your dead Dynamic LinksThe shutdown took custom domains too, not just page.link. Where the dead links actually hide, what to grep for, and which ones you can never fix.
- GuideiOS has no install referrer. It has three other things.Android has one Install Referrer API. iOS has no equivalent — it has three separate systems, and picking the wrong one is why campaign data goes missing.
Tag each campaign on the link
Create one AppIn link per campaign. The stores report the parameters back in their own consoles.
See plans