For app teams
App advertising measured on trials and renewals, not installs
Adrails gives mobile app and subscription app teams a workspace where app advertising is judged on what RevenueCat records after the install: trials, paying users and renewals. Meta app campaigns are built and changed from Adrails, Google App campaigns are read in reporting, and automations watch cost per result between your sessions.
Reviewed Oct 4, 2026
After the install
Where each figure comes from, and what Adrails does with it
The platforms count the install and the events their SDK passed back. The money arrives later, in RevenueCat.
| Event | Where the figure comes from | What Adrails does |
|---|---|---|
| Install | Meta and Google Ads, as their SDK or measurement partner counted it. Meta counts installs only for an app registered with its SDK. | Reads installs as results in Campaigns and Analysis, with spend and cost per result per campaign, across every account you select. |
| Trial | RevenueCat subscriptions, read every 30 minutes. For a web funnel, a trial_started event your server signs and sends to Adrails tracking. | The agent reads subscriptions next to spend for the same period. Signed web events are forwarded to Meta as StartTrial and to Google Ads as the Trial started conversion action you choose. |
| Paying | RevenueCat revenue, MRR and customers, read every 6 hours. | A campaign's Tracking tab lists the customers each ad brought and their monthly revenue. The agent sets spend against new paying customers over the period you ask about. |
| Renewal | RevenueCat active subscriptions and MRR by billing cadence. | Read next to spend by the agent. The Tracking tab counts active subscriptions among the customers an ad brought. |
| Refund | Stripe, when the app also sells on the web: payments and refunds through a restricted read key. | The agent reads refunds next to revenue for the period. For store-billed subscriptions, work from RevenueCat's revenue and MRR, read as RevenueCat reports them. |
Platform facts: Google Ads Help, About App campaigns; Meta Business Help Center, About app ads and About Advantage+ app campaigns. Product facts: the Adrails docs on RevenueCat, Stripe, tracking and the Tracking tab.
01
App advertising is judged after the install
App advertising buys installs, but a subscription app earns on the trial that converts and the renewal that follows. Meta and Google Ads report installs and the in-app events their SDK or measurement partner passes back; neither sees the renewal three weeks later or the refund that cancels it. Adrails connects RevenueCat so those figures sit next to spend for the same period, per account and per campaign.
Cost per install stays useful as a pacing figure for mobile app ads. The decision figure is cost per paying user: spend over new paying subscribers in the period, read from RevenueCat rather than from the platform's own conversion count. When the two disagree, the agent answers with both and names the source of each.
App user acquisition rarely runs in one account. Group the iOS and Android accounts, or the accounts per market, and ask the Analysis Expert about the group; every answer keeps its account scope and the period you chose.
- Installs and in-app events: from Meta and Google Ads
- Trials, paying users, renewals: from RevenueCat
- Web funnel events: from your server, through Adrails tracking
02
Meta app install campaigns, built and changed from Adrails
The campaign editor builds Meta campaigns with the App promotion objective, as a single image or video, a carousel or an existing post, and creates them paused after Meta has checked them. Meta's own rule applies first: Facebook app install ads for an app that is not registered with Meta's SDK optimize for link clicks instead of installs and count no installs, so register the app before the first app install campaign.
Once it runs, the Media Buyer prepares budget and status changes as proposals you apply in Adrails. A budget moves by at most 30% per change, an increase needs measured spend and results, and Adrails reads Meta again before applying, so a change made in Ads Manager in between blocks it. A pause, a resume or a budget change can be undone while Meta still holds the state Adrails wrote.
Advantage+ app campaigns take up to 50 images or videos at a time and up to 5 texts and headlines, which makes creative the main lever. Creatives lists each asset once across every ad that uses it, with a Winning, Fatigued, Learning, Wasted or Steady signal, so a fatigued install video is replaced before its cost per install climbs.
03
Google App campaigns are read in reporting, not built here
Google App campaigns run across Search, Google Play, YouTube, Discover and the Display Network from a few lines of text, a bid and some assets, in three subtypes: installs, engagement and pre-registration. On Google Ads, Adrails builds Search, Performance Max, Display, Demand Gen and Shopping campaigns. It does not build App campaigns.
It reads them. Campaigns, Analysis and the agent show an App campaign's spend, results and cost per result next to the Meta campaigns for the same period, and the Media Buyer can prepare a pause or a budget change on it like on any other campaign. Google Ads edits cannot be undone; pause or edit them instead.
This applies to Meta Ads and, once your workspace can connect it, Google Ads: new Google Ads connections open once Google finishes verifying Adrails. Connect Meta for now and add the Google account when the workspace offers it.
- Built on Google Ads: Search, Performance Max, Display, Demand Gen, Shopping
- Read on Google Ads: App campaigns and Video campaigns
- Built on Meta: Sales, Leads, Traffic, Engagement, Awareness and App promotion
04
Cost per paying user, watched between your sessions
A CPA alert automation watches cost per result on each campaign over today, the last 7 days or the last 30 days, checked every hour, and posts to Slack or Discord when it crosses your line. A stop-loss pauses what spends without a result, either as a proposal that waits 24 hours or at once after Adrails checks the platform. Both start from a template filled with your accounts and switched off.
A weekly review with an agent step reads the campaigns and RevenueCat together and emails the ads worth a look, with a read-only report link anyone can open without an Adrails account. The link carries spend, results, cost per result and ROAS per currency, the best and weakest campaigns and creatives, and the changes applied over the period.
Every change made from Adrails is kept in the campaign's Activity tab with who applied it and its status, and Adrails measures the result 24 hours, 3 days and 7 days after a pause, a resume or a budget change. When a renewal cohort weakens, the budget raise that preceded it is on record.
Go further
Read more
- RevenueCat integrationWhat Adrails reads from RevenueCat, how often, and where it appears.
- Send conversions to Meta and Google AdsHow signed events reach a Meta dataset and a Google Ads conversion action.
- Ad reportingAccounts side by side, with what each connected source measured.
- App install campaignsHow App campaigns are built and measured on each platform.
FAQ
Common questions
Does Adrails build Google App campaigns?
No. It builds Search, Performance Max, Display, Demand Gen and Shopping campaigns on Google Ads, reads App campaign results in Campaigns, Analysis and the agent's answers, and prepares budget and status changes on them as proposals you apply.
How does Adrails know which ad brought a paying subscriber?
Through RevenueCat for revenue, customers and subscriptions, and through a campaign's Tracking tab when the journey carried the campaign and ad ids, as a web funnel does. For a store-only funnel, Adrails sets RevenueCat totals next to spend for the same period rather than claiming a per-ad match it cannot see.
What is a good cost per install?
One that leaves a cost per paying user below what a subscriber is worth to you over the time it takes to recover it. Adrails publishes no benchmark; it shows your installs, trials and paying users next to spend so the figure is yours.
Can Adrails send trial starts back to Meta and Google Ads?
Yes, for events your server signs with the Adrails server key: a trial_started event is forwarded to Meta as StartTrial and to the Google Ads conversion action you chose for Trial started. Events sent from the page script stay in Adrails.