Google Play integration types

This article describes the two integration types ChartMogul offers for Google Play. Please take time to understand how each type works and decide which one best suits your needs before connecting Google Play to ChartMogul.

Integration Types

Screenshot showing the two integration types

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. 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.

Process flow

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

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

Sending data via the Payloads URL

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 (e.g., via a script) new purchase tokens to ChartMogul using the Payloads URL
  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

Comparing Integration Types

There are several key differences between our two Google Play integration types and how they work. Please also review these along with the details we include under Other Considerations.

API utilization

Importing using the Daily Sales Report doesn’t typically require many API requests. This is because downloading the report itself doesn’t count towards your API quota, and ChartMogul only uses the API to retrieve and import product details as plans. Customers who use the Google Play Developer API for other business needs may find this beneficial.

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 and cash flow metrics.

Screenshot of Transaction Fee Handling Setting with two options: 1) Do not deduct transaction fees from my MRR and cash flow metrics (default); and 2) Deduct transaction fees from my MRR and cash flow metrics.

Additionally, when importing using the Daily Sales Report, ChartMogul reports the taxes paid for each transaction.

Here’s how ChartMogul reports fees and taxes for each integration type:

Screenshot showing an example transaction with an amount of $81.60, fees of $14.40, tax of $7.93, and subtotal of $103.93.

Example transaction imported using the Daily Sales Report

Screenshot showing an example transaction with an amount of $81.60, fees of $14.40, and subtotal of $96.00.

Example transaction sent via the Payloads URL

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).

Screenshow showing a successful refund.

Refund transactions imported using the Daily Sales Report

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.

Also, Google Play does not provide access to customer metadata (e.g., names, email addresses, etc.). It is possible, however, to include 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, 2018, and canceled the subscription on December 4, 2019.

Screenshot showing the customer record for Anonymous Subscriber 1472 with a subscription status of canceled.

Screenshot showing the customer's MRR Movements table with a purchased and canceled event.

On December 5, 2019, the customer reactivated their subscription. Google Play then created a new order number and a new purchase token.

Screeshot showing the customer record for Anonymous Subscriber 338 with subscription status of active.

Screenshot of the Subscriptions and MRR Movements tables.

If you imported this transaction via the Daily Sales Report, ChartMogul would create a new customer along with a new subscription (due to the limitation we describe above).

However, if you were to send this transaction via the Payloads URL, ChartMogul would report that the customer had canceled their subscription and then eventually reactivated it:

Screenshot showing the customer record for John Smith with an subscription status of active.

Screenshot showing MRR Movements table with a reactivation and cancellation highlighted.

Additionally, ChartMogul would group the transactions and associate them with the customer (since purchase tokens allow us to identify related transactions).

Screenshot showing several successful Google Play transactions that have been imported into ChartMogul and associated a single customer.

Other Considerations

For additional details you should understand about how ChartMogul integrates with Google Play, review how this integration works.

Was this article helpful?

We’re sorry to hear that. Would you like to share more feedback?


Thanks for your feedback!