Google Play integration types

ChartMogul's Google Play integration lets you import your subscription data from Google Play into ChartMogul — your subscription analytics platform. There are two ways to do it, and the one you choose affects what data you can track. Review both options before connecting Google Play to ChartMogul.

Choose Your Integration Type


ChartMogul offers two options for importing your Google Play data:

  1. Import my data using the Daily Sales Report (no development required) — ChartMogul imports your data from Google Play’s Daily Sales Reports. This option doesn’t require you to write any code, and it runs automatically after setup.
  2. I’ll send the payloads via the Payloads URL — ChartMogul provides you with a URL where you send new purchase tokens. We then import the data for each token via the Google Play Developer API. This option requires you to write code but allows you to bring in customer metadata like names and email addresses. Read our developer tutorial on importing Google Play purchase payloads.

Each of our integration types has its advantages as well as limitations. We summarize these here and go into detail below.

Integration Type Advantages Limitations
Importing using the Daily Sales Report
  • Doesn’t require development
  • Doesn’t require a lot of API calls
  • Able to import historical data
  • Can report refunds
  • Can split fees and taxes
  • Can’t report on upgrades, downgrades or reactivations
  • Doesn’t include customer metadata
Sending via the Payloads URL
  • Can report on upgrades, downgrades and reactivations
  • Can include customer metadata via the Payloads URL
  • Requires development work
  • Involves multiple API calls to get data
  • Can’t report on refunds
  • Can’t split fees and taxes

The integration type you choose will determine the steps you’ll need to complete as part of connecting Google Play to ChartMogul.

How Each Integration Type Works

Before we look at the key differences between our two integration types, let’s look at how each works from a process perspective.

Importing data using the Daily Sales Report

Flow diagram showing ChartMogul importing data from Google Play using the Daily Sales Report. During initial import, the user provides Google Play credentials to ChartMogul, which uses them to retrieve Daily Estimated Sales Reports from Google Play. The daily update repeats the same exchange automatically without user involvement.

ChartMogul uses your Google Play credentials to import your Daily Sales Report from Google Play.

Sending data via the Payloads URL

Flow diagram showing ChartMogul receiving Google Play data via the Payloads URL. During initial import, the user provides Google Play credentials to ChartMogul and runs a script that sends purchase tokens and customer metadata to the Payloads URL ChartMogul generated. ChartMogul queues the tokens, then calls the Google Play Developer API to fetch subscription data for each one. The daily update follows the same pattern, with the user's script sending only new purchase tokens.

Here is the process for sending data via the Payloads URL:

  1. First, you enter your Google Play credentials into ChartMogul. ChartMogul verifies them and provides you with a Payloads URL.
  2. Then you send new purchase tokens (unique identifiers Google assigns to each subscription purchase) to ChartMogul using the Payloads URL — for example, via a script
  3. ChartMogul adds the tokens to its processing queue
  4. Once each day, ChartMogul imports all subscription-related data from Google Play for each token in the queue

Key Differences Between Integration Types

There are several key differences between our two Google Play integration types and how they work. Learn more about how ChartMogul integrates with Google Play.

API utilization

The Daily Sales Report integration uses very few API requests. Downloading the report doesn't count toward your API quota — ChartMogul only calls the API to retrieve product details as plans. This is useful if you already use the Google Play Developer API for other purposes.

When sending using the Payloads URL, ChartMogul does generate API requests to:

  • Validate the purchase tokens you send using your script
  • Retrieve and import product details (as plans)
  • Check for purchase tokens updates (daily)

The Google Play Developer API has a default limit of 200K requests/day. Therefore, if you have more than 200K active purchase tokens, you may need to request higher Google API quotas to ensure all updates are reported to ChartMogul.

Fees

Both integration types handle Google fee calculations, and you can configure ChartMogul to include or exclude fees from your MRR (Monthly Recurring Revenue) and cash flow metrics. Find these options in your data source settings under Misc Settings.

  • Do not deduct transaction fees from my MRR and cash flow metrics (default)
  • Deduct transaction fees from both my MRR and cash flow metrics

Taxes

When importing using the Daily Sales Report, ChartMogul separates the taxes paid for each transaction. When sending via the Payloads URL, taxes are not separated from the total transaction. 

In both cases, taxes are included in the MRR calculation.


Refunds

Importing using the Daily Sales Report allows you to report on refunds in ChartMogul. However, when sending via the Payloads URL, your Refunds Cash Flow report in ChartMogul won’t include any refunds from Google Play (due to Google Play Developer API limitations).


Historical Data

Google Play offers Daily Sales Reports starting February 1, 2012. When importing data using the reports, ChartMogul brings in transactions from this date onwards.

If you choose to send data via the Payloads URL, you’ll also need to send your historical data to ChartMogul via URL. Additionally, the Google Developer API doesn’t allow us to retrieve in-app subscriptions that have remained expired for longer than 60 days. As a result, we’re not able to report on these subscriptions. Please write to us if you’d like to import historical data that includes such subscriptions into ChartMogul.

Customers and Transactions

When importing using the Daily Sales Report, ChartMogul only imports customers with successful transactions. When sending using Payloads URL, if there are no successful transactions for a purchase token, ChartMogul reports the customer as a lead.

ChartMogul doesn’t import failed transactions for either integration type.

Google Play doesn't share customer metadata like names or email addresses. You can work around this by including customer-specific data in the payloads you submit to ChartMogul via the Payloads URL.

Time of cancellation

When importing using the Daily Sales Report, ChartMogul recognizes subscription cancellations at the end of their billing period.

When sending via the Payloads URL, ChartMogul recognizes subscription cancellations depending on your Churn Recognition setting: either at the time of cancellation or at the end of the service period.

Upgrades, Downgrades, & Reactivations

The Daily Sales Reports don’t provide the information needed to link related transactions. Because of this, ChartMogul isn’t able to report on subscription upgrades, downgrades and reactivations. Instead, we cancel the existing subscription and create a new customer with a new subscription when a customer upgrades their subscription.

Linking related transactions is possible when sending via the Payloads URL. Therefore, ChartMogul can report on upgrades, downgrades and reactivations when you use this integration type.

To better understand how this works with each of our integration types, let’s look at an example of a subscription reactivation.

ChartMogul classifies a subscription as Reactivated when a customer who previously canceled their subscription re-subscribes. Learn more about the lifecycle of a subscription in ChartMogul.

Imagine a customer purchased a monthly subscription on July 4 and canceled the subscription on December 4. On December 5, the customer reactivated their subscription. Google Play then created a new order number and a new purchase token. With the Daily Sales Report, ChartMogul would create a new customer along with a new subscription (due to the limitation we describe above).

Customer ID Movement type Movement Status
Anonymous Subscriber 1472 New Business Subscribed to the Silver Monthly plan Active
Anonymous Subscriber 1472 Churn Cancelled their Silver Monthly plan Cancelled
Anonymous Subscriber 1538 New Business Subscribed to the Silver Monthly plan Active

However, if the same customer was sent via the Payloads URL, ChartMogul would report that the customer had canceled their subscription and then reactivated it:

Customer ID Movement type Movement Status
Sylvia Powers New Business Subscribed to the Silver Monthly plan Active

Sylvia Powers


Churn Cancelled their Silver Monthly plan Cancelled

Sylvia Powers


Reactivation Reactivated their Silver Monthly plan Active

Still need help? Contact Us Contact Us