Google Play Service Account Setup
Follow these steps to generate a service account JSON file for PricePush
Go to Google Cloud Console
Navigate to the Google Cloud Console
Sign in with the Google account that has access to your Google Play Developer account.
Create or select a project
- Click the project dropdown at the top of the page
- Click "New Project" or select an existing project
- If creating new: give it a name (e.g. "PricePush") and click "Create"
Enable the Google Play Android Developer API
- In the search bar at the top, type "Google Play Android Developer API"
- Click on the API from the results
- Click the "Enable" button
- Wait for the API to be enabled (usually takes a few seconds)
Create a service account
- In the left sidebar, go to "IAM & Admin" → "Service Accounts"
- Click the "+ Create Service Account" button at the top
- Enter a name (e.g. "pricepush-service")
- Click "Create and Continue"
- Skip the "Grant this service account access to project" step (click "Continue")
- Skip the "Grant users access to this service account" step (click "Done")
Create and download the JSON key
- Find your newly created service account in the list
- Click on the service account email
- Go to the "Keys" tab
- Click "Add Key" → "Create new key"
- Select "JSON" as the key type
- Click "Create"
- A JSON file will automatically download to your computer
Grant access in Google Play Console
The account is created in Google Cloud, but access is granted in Play Console. This is the step people miss.
- Go to Google Play Console → Users and permissions
- Click "Invite new users"
- Paste your service account email (the "client_email" field in the JSON)
- Select both access levels below (you need both)
- Click "Invite user". The invitation is accepted automatically
Both of these, and nothing else. Play splits read from write, so one alone will not work:
- "Manage store presence"Required for editing pricing
- "View app information and download bulk reports (read-only)"Required for listing products
Collect these two values
PricePush asks for these on the connect screen. Here is where each one lives:
- The service account JSONThe file that downloaded when you created the key. Open it and copy the entire contents, brackets included.
- Your app's package nameShown in Google Play Console next to your app, for example com.example.app
Troubleshooting
"Permission denied" or a 403 on every price push
The classic one, and it looks like the connection works: your products list fine, then every push fails. Play splits read from write, so a service account with only read access can fetch and never write. Grant "Manage store presence" in Play Console → Users and permissions.
Note: Very common when you reuse an Expo/EAS submit service account. Those are scoped for releases, not pricing.
"API not enabled" error
The Google Play Android Developer API has to be enabled in the same Google Cloud project the service account lives in. Check you were in the right project when you enabled it.
Cannot find "Users and permissions" in Play Console
You need a Google Play Developer account, not just a regular Google account. The option sits in the left sidebar of Play Console.
The invitation never seems to apply
Permissions can take a few minutes to propagate. You can also grant at the account level under "Account permissions" (all apps) rather than per app under "App permissions".
Got your key? Put it to work.
Paste it into PricePush and it reads your products with their current per-country prices. From there a price update is two clicks: one to localize, one to push.
Setting up App Store Connect instead? Follow the App Store Connect guide.