Read-only ROAS reporting pipeline for mobile subscription apps. Joins ad spend (Google Ads + Apple Search Ads) with subscription revenue (RevenueCat + Firebase BigQuery) and tells you which campaigns to scale, hold, or cut.
100% precision on Android (exact paid-only per-campaign ROAS) and best-possible precision on iOS without an MMP (SKAdNetwork + AdServices via RevenueCat).
These are Claude Code slash commands — run them with /setup-ads-agent or /setup-revenuecat-bq-export inside Claude Code to get a step-by-step guided setup.
| Command | What it does |
|---|---|
/setup-ads-agent |
Full pipeline: credentials, repo scaffold, data flow, reporting, scaling playbook, and campaign decision framework |
/setup-revenuecat-bq-export |
RevenueCat daily transaction exports into GCS → BigQuery for exact per-campaign attribution |
- You run a subscription mobile app billed through RevenueCat
- You run Google Ads UAC and/or Apple Search Ads
- You want per-country, per-campaign ROAS without paying for an MMP
- You prefer terminal reports over dashboards
- Per-country ROAS breakdown with scale/hold/cut verdicts
- Untapped organic market discovery
- Cohort unit economics (trial-to-paid, LTV, churn, refund rate)
- iOS Market ROAS vs Attributed ROAS (catches SKAN undercount)
- Campaign scaling playbook with tCPA caps and budget rules
- Portfolio-level decision aid for choosing which app to run ads on next
- Install Claude Code
- Clone this repo and
cdinto it - Run
/setup-ads-agent— it walks you through everything
- RevenueCat SDK shipping real transactions
- Firebase Analytics SDK (Android attribution)
- Google Cloud project with billing enabled
- Google Ads MCC account
- Apple Search Ads account (optional, for iOS)
The entire pipeline runs on free tiers at small scale:
- GCS storage: free under 5 GB
- BigQuery: free under 1 TB/mo queries
- No MMP fees
MIT