Starter
For one person starting with their main account.
$6$5/mo
billed monthly $60 billed annually, save 17%
Try free for 7 daysTry free for 7 days- 2 connectors at once
- 2 accounts across them
- 1 seat
- Unlimited conversations
AppsFlyer knows which campaign brought each install of your app. This connector lets you ask it from your own AI assistant instead of building a pivot: which sources drove installs last month, what each campaign cost per install, and which ones returned more than they cost. Working in Claude Code or ChatGPT? The setup guide walks through both, and says when AppsFlyer’s own MCP server is the better fit.
Connect AppsFlyer to Claude, ChatGPT, Grok, Perplexity, Claude Code, Codex, Cursor or Antigravity, with one connection, on the subscription you already pay for.
Read-only until you allow changes, and every change waits for your approval.
Who it’s for: Mobile apps
Without HeyMetra
With HeyMetra
Without HeyMetra
With HeyMetra
Without HeyMetra
With HeyMetra
Without HeyMetra
With HeyMetra
Create an imported audience
Add devices to an imported audience
Take devices out of an imported audience
Send a privacy request to erase one user's data
Your assistant tells you in one line what it will change, and nothing reaches the account until you say yes in the chat. HeyMetra cannot undo a change afterwards. What to ask any connector that can make changes
AppsFlyer is the mobile attribution and marketing analytics platform that ties installs, in-app events, and revenue back to the media that drove them. It’s the source of truth for mobile ROI and channel performance.
Which media sources and campaigns brought installs, day by day, for any window of up to 31 days per question.
What each campaign cost per install and what it brought back, wherever the ad network reported its cost. Where it did not, the figure is left blank rather than guessed.
Apple's SKAdNetwork figures beside the tracked ones, as a second count of the same campaigns rather than extra installs.
Each app you connect counts as one connection on your plan, and asking is not metered. Every plan can connect AppsFlyer.
For one person starting with their main account.
$6$5/mo
billed monthly $60 billed annually, save 17%
Try free for 7 daysTry free for 7 daysMost popular
For a small team running several accounts together.
$19$15.83/mo
billed monthly $190 billed annually, save 17%
Try free for 7 daysTry free for 7 daysFor teams and agencies with many accounts to connect.
$49$40.83/mo
billed monthly $490 billed annually, save 17%
Try free for 7 daysTry free for 7 daysFor organizations with custom scale and security needs.
Contact us
Contact salesCost is whatever the ad network chose to send AppsFlyer, and many send nothing. A missing cost is unknown rather than zero, so cost per install and return are left out for those campaigns instead of worked out from a gap.
On iOS AppsFlyer counts devices that allowed tracking, while Apple's SKAdNetwork counts every device with the detail removed. They are two counts of the same campaigns, so read them side by side and never add them up.
It can. AppsFlyer allows a fixed number of reports a day and counts the API and the dashboard's export page together. The allowance resets at midnight UTC, and answers are cached so the same question does not use it twice.
AppsFlyer revoked every token issued before 10 March 2026. An older one fails the same way a wrong one does. Make a new token of type API in the Security center and paste it in.
Before. AppsFlyer reports gross revenue, what the buyer paid. It states no currency either, which is why the connection asks you to name your reporting currency once.
AppsFlyer tells you who installed and from where. What they paid after that sits in Adapty or App Store Connect, and putting the two side by side is how an install count becomes a campaign that paid for itself or did not.
AppsFlyer answers next to the other accounts you connect, in the same chat.
Connectors
Add your own connectorAdd custom connector
Settings → Customize → Connectors
Security and login
Developer mode
Settings → Security and login → Developer mode → chatgpt.com/plugins
grok.com/connectors
Bring your own MCPNew Connector → Custom
grok.com/connectors → New Connector → Custom
Plugins
Connector → Add MCP connector → RemoteAdd custom
Plugins → Add custom → Connector → Add MCP connector → Remote
$ claude mcp add --transport http heymetra https://mcp.heymetra.com/mcp
Added HTTP MCP server heymetra
> /mcp
✓ heymetra · connected
1[mcp_servers.heymetra]
2url = "https://mcp.heymetra.com/mcp"
$ codex mcp login heymetra
1{
2 "mcpServers": {
3 "heymetra": { "url": "https://mcp.heymetra.com/mcp" }
4 }
5}
1{
2 "mcpServers": {
3 "heymetra": { "serverUrl": "https://mcp.heymetra.com/mcp" }
4 }
5}
An admin opens the Security center, makes a new token of type API and copies all of it, then finds the app ID. One connection is one app. The token is long, over seven hundred characters, so select the whole value rather than what fits in the box.
Open the Security centre in AppsFlyer
Sign in to AppsFlyer, open the account menu at the top right and choose Security centre, then Manage your AppsFlyer API tokens. You need an account admin to see this screen.
It is an account-level screen, not a per-app one. One token covers every app in the account; which app HeyMetra reads is decided by the app ID in the next step, not by the token.
Create a token of type API
The screen offers more than one kind. Choose API. Copy the value in full: it runs past seven hundred characters, so select all of it rather than what fits in the box.
AppsFlyer revoked every token issued before 10 March 2026. An older one that has been sitting in a password manager will fail, and the failure looks like a permission problem rather than an expiry.
Find the app ID
On Android it is the package name, exactly as the Play Store shows it, such as com.example.app. On iOS it is the letters id followed by the App Store number, such as id123456789.
One connection is one app. AppsFlyer publishes no way to ask a token which apps it may report on, so a second app is a second connection.
Paste both in HeyMetra and save
Choose AppsFlyer on the Connections screen, paste the token and the app ID, and save. HeyMetra checks the pair against AppsFlyer immediately, by asking for one finished day, so a token that cannot actually report fails here rather than later in a conversation.
Name your reporting currency
Optional, and worth doing. AppsFlyer publishes no currency anywhere in its reports, so without this every amount comes back with no currency stated rather than with the wrong one assumed.
Add HeyMetra to the assistant you use
Claude, ChatGPT, Grok, Perplexity, Claude Code, Codex, Cursor or Antigravity. You paste one address and sign in once, and AppsFlyer answers there.
Then add HeyMetra where you ask
Five things go wrong on AppsFlyer, and most of them come from how AppsFlyer counts rather than from the connection: tokens retired in March 2026, a plan without API reporting, the iOS app ID format, a report allowance shared with the dashboard, and two iOS counts that do not match.
Two ways to ask AppsFlyer from Claude Code or ChatGPT: AppsFlyer's own MCP server, or one that also reads your subscription revenue. Steps for both.
What a mobile app owner can ask Claude or ChatGPT once Adapty, RevenueCat, App Store Connect and AppsFlyer are connected, and why the revenue figures differ.
Add each app to HeyMetra once, then ask about installs and cost per install from the assistant you already use.
Or read the same steps on GitHub: zeisoft/appsflyer-mcp.