How to connect Google Play to ChartMogul

You will need to be an Admin in ChartMogul and the Account Owner in Google Play Developer Console to complete the following steps. You will also have to do a bit of development work to regularly import purchase payloads into ChartMogul.

Connecting your Google Play account

  1. First, you need to link your Play Developer account to a Google Developer Project.
    • Go to your Play Console settings

    • Click on API access

    • Click on the Link button to connect your Play account to a Google Developer Project

  2. Next, you need to create a service account for ChartMogul to communicate with Google Play.

    • Click on the Create Service Account button1c2f015-Screen_Shot_2018-05-08_at_9.12.47_AM__1_.png

    • Click through to the Google API Console
    • Click on the link to Create Service Account
    • Give the Service Account a name and description, and hit Create
    • Set the role to Project > Owner
    • Create and download the JSON key for the service account
  3. Grant financial access to the newly created service account.
    • Back in the Play Console, click on Done in the modal and ensure the newly created service account appears in the list.
    • Click on the Grant Access button next to it
    • Set the role to Finance and add the Manage Orders permission.
    • Click on the Save button.
  4. In your ChartMogul account, go to Admin > Data sources , click on the New Data Source link and choose Google Play as the system.

  5. Enter the package name for your app and the select the JSON key file for the service account you created in step 2. Click on Connect.

  6. If connecting to the Google Play service account was successful, a Payloads URL will be generated and displayed.

  7. Use the Payloads URL to import historical and new Google Play purchases into ChartMogul. Read the developer tutorial for importing purchase payloads.


What you need to know:

  • ChartMogul currently reports revenue only for Google Play in-app subscriptions.
  • Google Play does not directly notify ChartMogul of new purchases, nor does it list all past purchases. For this reason, we rely on you, the mobile app developer, to import in-app purchases into ChartMogul. Learn how in our developer tutorial.
  • In-app Subscriptions that have remained expired for longer than 60 days are not retrievable from Google Developer APIs. This means that ChartMogul cannot automatically report on any such subscriptions. If you have historical data of such subscriptions and want to import it please write to us.
  • Google Play does not expose personally identifiable information of subscribers like name and email, but you can include that information while submitting purchase tokens to ChartMogul.
  • Our integration checks and updates subscriptions every 24 hours. This means that any updates to subscriptions already imported and reported in ChartMogul will come through once in 24 hours. However, you can send us new purchase tokens 24/7 at the Payloads URL.
  • If there are no successful transactions for a purchase token, then the respective customer will be reported as a Lead in ChartMogul.
  • Some subscription cancellations may appear in ChartMogul before the subscriber's eligibility for the service runs out. This is because subscribers can cancel anytime during their paid subscription period and they will continue to receive the benefits until the paid period runs out. Meanwhile, the integration will register the time that the user cancelled their subscription as the cancellation time, instead of the end of the billing period.
  • Google Play Developer API has a rate limit of 200k reqs/day. This means that if you have more than 200k active purchase tokens, you might need to request higher quotas on the Google APIs console to ensure that all updates are reported in ChartMogul.
  • Google Play does not expose introductory prices via the API. If you use this feature, subscribers who buy at the introductory price will be reported with MRR based on the list price. Unfortunately, this is a limitation at Google's end that we cannot overcome.
  • Google Play does not expose any prorated prices that are charged. If you allow for prorated changes in your in-app subscription offerings, the charge amount will always show as the list price. Unfortunately, this is a limitation at Google's end that we cannot overcome.
  • If you have configured grace periods in your Google Play in-app subscriptions, be sure to account for them while setting up delinquent subscription handling in ChartMogul.
  • ChartMogul tries to calculate Google's transaction fees and deduct them from MRR calculation. However, historical grace periods and account hold periods are not exposed by Google APIs and therefore, for subscriptions that have had them, the calculated transaction fees might not be fully accurate.
  • Google Play does not expose any refund amounts via the API. This means that your refunds cashflow report will not include any refunds from your Google Play datasource. Unfortunately, this is a limitation at Google's end that we cannot overcome.