Documentation Index

Fetch the complete documentation index at: https://docs.dataddo.com/llms.txt

Use this file to discover all available pages before exploring further.

Google Play

Prev Next

Google Play is an online store and digital distribution platform operated by Google, offering a wide range of apps, games, music, movies, books, and more for Android devices. It serves as the primary marketplace for Android users to discover, download, and update apps and content.

Refer to Google's official documentation to see all available endpoints from the Google API.

Refer to our website for the list of available metrics and attributes you can extract from Google Play.

If you have multiple Google Play accounts and would like to extract the same data from all of them, it's possible through multi-account extraction. Contact our Solutions team to enable this feature.

Authentication Methods

Google Play supports more than one way to connect. Pick one when you create the authorizer in Dataddo:

  • Google Play - sign in with Google Play and approve access (recommended).
  • Google Play Custom - use your own app credentials (for advanced setups).
  • Service account - connect with a Google Cloud service account JSON key, without interactive sign-in (for the Cloud Storage reports).

Authorize Connection to Google Play

  1. On the Authorizers page, click on Authorize New Service and select Google Play.
  2. Fill in your Package Name. You can find it in your app page URL (e.g. com.example.app123 from https://play.google.com/store/apps/details?id=com.example.app123).
  3. Rename your authorizer for easier identification and click on Save.

One authorizer covers both connector capabilities (see Data Coverage below). During the Google sign-in, Dataddo asks for three permissions:

  • View app information and manage app reviews (androidpublisher) - used by the API datasets to read reviews.
  • View Android app performance data (playdeveloperreporting) - used by the API datasets to read crash and ANR metrics.
  • Read Cloud Storage data (devstorage.read_only) - used by the Cloud Storage reports to download report files from your Play Console bucket.
RE-AUTHORIZATION REQUIRED

The Cloud Storage reports need the devstorage.read_only Google scope. Authorizers created before this scope was added must be re-authorized before these reports can be extracted.

DATADDO TIP

If you want to create a custom Google Play authorizer, see this section.

Connect with a Service Account

To extract the Cloud Storage reports without interactive Google sign-in, use a Google Cloud service account.

Step 1: Create the Service Account in Google Cloud

  1. Log into your Google Cloud Console and select your project.
  2. Navigate to IAM & Admin > Service Accounts.
  3. Click Create Service Account, fill in the details, and complete the creation.
  4. Click on the created service account and open the Keys tab. Click Add Key > Create new key and select JSON.
  5. Download and safely store this JSON configuration file.

The service account does not need any IAM roles in your Google Cloud project. The report bucket is managed by Google, so access to it is granted through the Play Console instead (see Step 3).

If needed, see Google's official step-by-step guide to creating service account keys.

Step 2: Upload the Key to Dataddo

  1. Log into Dataddo and navigate to the Certificates & Tokens section.
  2. Upload the downloaded JSON configuration file.
  3. Create the authorizer in Dataddo. The uploaded key is listed in the Configuration file field.

When configuring the connection, grant the following API scopes. If you only extract the Cloud Storage reports, the first scope is enough:

  • https://www.googleapis.com/auth/devstorage.read_only - downloads report files from the Play Console bucket (recommended by Google for report retrieval).
  • https://www.googleapis.com/auth/androidpublisher - reads app reviews (the Review Comments dataset).
  • https://www.googleapis.com/auth/playdeveloperreporting - reads crash and ANR metrics (the Crash Rate Metrics and ANR Rate Metrics datasets).

Step 3: Grant Access to the Play Bucket via Google Play Console

Because the pubsite_prod_rev_... bucket is managed by Google, you cannot grant access to it from your own Google Cloud IAM page. Instead, invite the service account via the Play Console:

  1. Copy the email address of the service account you just created (it ends with @your-project-id.iam.gserviceaccount.com).
  2. Log into your Google Play Console and go to Users and permissions.
  3. Click Invite new user and paste the service account email address.
  4. Grant the account the required reporting permissions and click Add user:
    • View app information set to Global - required for all reports.
    • View financial data set to Global - required for the sales and earnings reports.

Data Coverage

The Google Play connector has two capabilities. Both use the same authorizer, but they collect data in different ways:

  • API datasets read data directly from Google's APIs: reviews from the Android Publisher API, and crash and ANR metrics from the Play Developer Reporting API.
  • Cloud Storage reports download the monthly report files (installs, crashes, ratings, store performance, sales, and earnings) that Google Play Console exports to your report bucket in Google Cloud Storage.

The first three datasets in the table are API datasets; the last one is the Cloud Storage capability. Example fields are a representative sample; each dataset returns more columns.

Dataset Description Example fields Date range
Review Comments User reviews of the app together with developer replies, one row per comment in a review thread. Review Id, Author Name, Developer Comment Text, User Comment Android Os Version, User Comment App Version Code, User Comment App Version Name (+18 more) No
Crash Rate Metrics Daily crash rate of the app broken down by version code, from the Play Developer Reporting API. Date, Package Name, Version Code, Crash Rate, Distinct Users, User Perceived Crash Rate Yes
ANR Rate Metrics Daily ANR (App Not Responding) rate of the app broken down by version code, from the Play Developer Reporting API. Date, Package Name, Version Code, ANR Rate, Distinct Users, User Perceived ANR Rate Yes
Cloud Storage Reports Monthly report files (installs, crashes, ratings, store performance, sales, and earnings) downloaded from the Google Play Console Cloud Storage bucket. Depends on the selected report (see the table below). Yes

Cloud Storage Reports

The Cloud Storage Reports dataset reads the monthly report files from the Google Cloud Storage bucket of your Play Console account. When you create the source, you:

  1. Select your Google Play authorizer.
  2. Fill in your Cloud Storage Bucket ID. In Play Console, go to Download reports and copy the bucket ID starting with pubsite_prod_rev_.
  3. Pick one Report from the list below.
  4. Optionally narrow down the Metrics and attributes (columns) to extract.
  5. Pick the month to read (see How Data Extraction Works).
Report Description Key fields
Installs (Overview) Daily device and user installs, uninstalls, and upgrades for the whole app. Date, Package Name, Daily Device Installs, Daily User Installs, Current Device Installs (+6 more)
Installs by App Version Code The same install metrics broken down by app version code. Adds App Version Code (12 fields)
Installs by Carrier The same install metrics broken down by mobile carrier. Adds Carrier (12 fields)
Installs by Country The same install metrics broken down by country. Adds Country (12 fields)
Installs by Device The same install metrics broken down by device model. Adds Device (12 fields)
Installs by Language The same install metrics broken down by device language. Adds Language (12 fields)
Installs by Android OS Version The same install metrics broken down by Android OS version. Adds Android OS Version (12 fields)
Crashes (Overview) Daily crashes and ANRs (App Not Responding events) for the whole app. Date, Package Name, Daily Crashes, Daily ANRs
Crashes by App Version Code The same crash metrics broken down by app version code. Adds App Version Code (5 fields)
Crashes by Device The same crash metrics broken down by device model. Adds Device (5 fields)
Crashes by Android OS Version The same crash metrics broken down by Android OS version. Adds Android OS Version (5 fields)
Ratings (Overview) Daily and cumulative average rating of the app. Date, Package Name, Daily Average Rating, Total Average Rating
Ratings by App Version Code The same rating metrics broken down by app version code. Adds App Version Code (5 fields)
Ratings by Carrier The same rating metrics broken down by mobile carrier. Adds Carrier (5 fields)
Ratings by Country The same rating metrics broken down by country. Adds Country (5 fields)
Ratings by Device The same rating metrics broken down by device model. Adds Device (5 fields)
Ratings by Language The same rating metrics broken down by device language. Adds Language (5 fields)
Ratings by Android OS Version The same rating metrics broken down by Android OS version. Adds Android OS Version (5 fields)
Store Performance by Country Store listing visitors, acquisitions, and conversion rate by country. Date, Package Name, Country, Store Listing Visitors, Store Listing Acquisitions, Store Listing Conversion Rate
Store Performance by Traffic Source The same store listing metrics broken down by traffic source, search term, and UTM parameters. Adds Traffic Source, Search Term, UTM Source, UTM Campaign (9 fields)
Sales Report One row per order: product, price, taxes, charged amount, and buyer country. Order Number, Financial Status, Product Title, SKU ID, Charged Amount, Country of Buyer (+10 more)
Earnings Report Monthly payout transactions with amounts in buyer and merchant currency, fees, and taxes. Description, Transaction Date, Transaction Type, SKU ID, Amount (Merchant Currency), Service Fee % (+15 more)

How Data Extraction Works

The two capabilities extract data differently.

API Datasets

The Crash Rate Metrics and ANR Rate Metrics datasets use a date range. Each run reads a relative window (for example the last 7 days) measured against the current date, so the window slides forward over time. A run replaces the data in that window instead of adding to older history. To load data from before the window, run a full data re-sync with a wider range. See Data Backfilling.

The Review Comments dataset does not use a date range. Every run pulls all currently available reviews.

Cloud Storage Reports

Google generates these reports as one file per month. Each run downloads exactly one monthly file, selected by the date range: current month, previous month, 2 months ago, or 3 months ago (default: previous month). The report for the current month is only complete once the month ends, and a new month's file only appears once Google has generated it.

The Sales Report and Earnings Report are financial reports. To extract them, your Google account needs the View financial data permission in Play Console.

Metadata Columns

When you create a source, you can add these Dataddo metadata columns to the extracted data:

  • dataddo_hash - a fingerprint built from each record's key fields. It works as a natural key, so it is ideal for upserts (updating existing rows in your destination instead of creating duplicates).
  • dataddo_extraction_timestamp - the date and time the row was extracted. Use it to track how records change over time, for example to build slowly changing dimensions.

How to Create a Google Play Data Source

Creating a data source takes you through six steps, shown in the progress bar at the top of the wizard. Each step is explained below.

1. Pick the connector

On the Sources page, click Create Source, then select the connector from the catalog. Use the search bar or the category tabs if you do not see it right away. You can rename the source at any time using the pencil icon next to its name.

2. Select the dataset

A dataset defines the shape of your data: which fields you get and how they relate. Select the dataset you want; you can still fine-tune the exact fields later.

  • Each dataset has a short description of what it contains. Use the search box to find a dataset, attribute, or metric by name.
  • The panel on the right previews the selected dataset's fields. For each field you can see its data type, whether it holds sensitive data (personal fields such as name or email are flagged), and which other datasets it links to, so you can see how the datasets relate.

3. Choose the account

This step selects what Dataddo reads from.

  • Authorizer: Select an account you have already authorized from the drop-down. If you have none yet, choose Add new account and follow the prompts. If no authorizer is selected, Dataddo asks you to authorize before you continue.
  • What to extract from: Select the exact entity you want to pull data from. Depending on the service this may be labelled an account, property, profile, workspace, or similar, sometimes with a sub-level to choose as well.
  • Multiple accounts: To pull the same data from every entity you can access, turn on Automatically collect data from all .... This is multi-account extraction. Leave it off to choose them by hand.

4. Refine the attributes and metrics

The dataset already sets the structure. Here you fine-tune it: tick or untick the specific attributes and metrics you want to keep, and use the search box to find a field quickly. Click Test on Sample Data at any point to preview the result before you continue.

5. Add metadata columns (optional)

Two optional columns help your destination handle the data.

  • Dataddo Hash (Include Row Hash): a fingerprint built from the columns you pick. It works as a natural key, so your destination can deduplicate rows and run upserts instead of creating duplicates. Turn it on, then select the columns that uniquely identify a row.
  • Dataddo Extraction Timestamp: the time each row was extracted. Use it to watermark the data, for example to build slowly changing dimensions or to track when a value last changed.

6. Set the schedule

Decide how often Dataddo runs the extraction.

  • Frequency: how often the pipeline runs, for example daily. Click Show advanced settings to also set the exact hour and minute (UTC).
  • Date range: the relative window each run extracts, for example "Yesterday". The window moves forward on every run.
  • Historical data: a new source starts from the current window. To load older data, run a full data re-sync after the source is created.
  • Allow Empty Data Extractions: when on, a run that returns no data records zero rows instead of failing. Turn it on if the source can legitimately have periods with no data.

Click Save. Your data source is ready.

Troubleshooting

Data Preview Unavailable

No data preview when you click on Test Data might be caused by an issue with your source configuration. The most common causes are:

  • Date range: Try a smaller date range. You can load the rest of your data afterward via manual data load.
  • Insufficient permissions: Please make sure your authorized account has at least admin-level permissions.

Google Play Custom Authorizer

To create a custom Google play authorizer, you will need your client ID, client secret, and the package name.

  1. In the top-left corner of your Google Developer Console, click on Select Project.
  2. Click on New Project, name it (e.g. Dataddo authorizer), and create it.
  3. In the left-side menu, select APIs and Services. Continue to the OAuth consent screen section.
  4. Select External and create a user type.
  5. Fill in the app details:
    1. App name: E.g. Dataddo.
    2. Support email: Your email address.
    3. Under App domain fill in the following fields as followed
      1. Application home page: https://www.app.dataddo.com/
      2. Application privacy policy link: https://www.dataddo.com/privacy
      3. Application Terms of Service link: https://www.dataddo.com/terms
    4. Authorised domains: dataddo.com
  6. Click on Save and continue for the next sections as well and finalized by clicking on Back to Dashboard.
  7. In the left-side menu, click on Credentials. Click on Create Credentials and select oAuth Client ID.
    1. Application type: Web application.
    2. Name: E.g. Dataddo authorizer.
    3. Authorised JavaScript origins (click on Add URI): https://app.dataddo.com
    4. Authorised redirect URIs (click on Add URI): https://app.dataddo.com/settings/service/.
  8. Click on Create, and copy the Client ID and Client Secret values from the pop-up.

In Dataddo

  1. On the Authorizers page, click on Authorize New Service and select Google Play Custom.
  2. Fill in the following fields:
    1. Client ID: Your Google Play client ID.
    2. Client Secret: Secret to your client ID.
    3. Package Name: Your app package name. You can find it in your app page URL (e.g. com.example.app123 from https://play.google.com/store/apps/details?id=com.example.app123).
  3. Rename your authorizer for easier identification and click on Save.

Related Articles

Now that you have successfully created a data source, see how you can connect your data to a dashboarding app or a data storage.

Sending Data to Dashboarding Apps

Sending Data to Data Storages

Other Resources