Connect Google Play
Connecting Google Play gives Pulse your Android subscription revenue and the events behind MRR and LTV. It needs a Google Cloudservice account that Play Console recognises, plus a Pub/Subsubscription if you want events in real time.
Pulse only reads. It does not change prices, publish releases, alter subscriptions or acknowledge purchases on your behalf.
1. Create a service account
In the Google Cloud console, create a service account and download its JSON key(it must contain client_email and private_key).
2. Grant it access in Play Console
Play Console → Users and permissions → invite the service account’sclient_email and grant View financial data andView app information. These two are what the revenue and subscription reads need; anything broader is unnecessary.
A note on honesty about scopes: the service account authenticates with Google’sandroidpublisher and pubsub scopes, which are not themselves “read-only” scopes — Google does not offer read-only variants. What actually bounds access is the permission set you grant in Play Console above, so keep it to those two.
3. Optional: real-time developer notifications
For subscription events as they happen rather than at the next sync:
- Create a Pub/Sub topic in your Google Cloud project.
- Grant
google-play-developer-notifications@system.gserviceaccount.comthePub/Sub Publisher role on that topic — this is how Google is allowed to publish to it. - Play Console → Monetization setup → set the topic name.
- Create a pull subscription on the topic and give your service account access to it. Pulse pulls; it does not need a public endpoint.
4. Paste it into Pulse
Open Connections → Google Play and paste the service-account JSON, your package name and the Pub/Sub subscription if you created one. The JSON is stored in Google Secret Manager; the database keeps only a reference.
5. Verify
Ask “verify my data sources” in chat, or run pulse_verify from your agent. If the connection reports an authorization error, it is almost always the Play Console invitation from step 2 — a service account with a valid key but no Play permissions authenticates fine and then reads nothing.
Related
- Connect RevenueCat — if you already use it, subscriptions come from there instead.
- All connections.