Internal Testing Track is an internal testing track in Google Play Console for quickly distributing pre-release builds to a limited team. It allows adding up to 100 testers by email without Google verification and build moderation. According to Google Play Console Help (2024), the Internal Testing Track is optimal for initial architecture checks, API integration, and device compatibility testing before moving to Closed or Open tracks.
Key Takeaways
Internal Testing Track is the first level of testing in Google Play Console, designed for distributing builds within the development team. The main goal is quick sanity checks, integration testing, and identifying critical bugs before expanding the audience to Closed or Open tracks.
Unlike other Google Play tracks, Internal Testing does not require Google review before activation. The build becomes available to testers within minutes after uploading to the console. This makes the track ideal for daily builds and automatic delivery from the CI/CD pipeline.
According to Google Play Console documentation (2024), the Internal Testing Track supports two distribution options: email list (up to 100 participants) and Google Groups (no quantity limit). Groups are suitable for larger teams where members change more frequently, while email works best for a fixed set of developers.
The Internal track is chosen in the early stages of development when the app is still unstable and APIs may change. A CI/CD pipeline uploads each new build to the Internal track, and the team receives the latest version immediately. Errors and crash logs are collected through Play Console before the build reaches external testers or users.
For new developer accounts, the Internal Testing Track serves as the first step in preparation for publication. Google does not review builds at this stage, allowing the team to verify product quality on their own before submitting for review.
Setting up the Internal Testing Track is done in Google Play Console under Release > Testing > Internal Testing. The process includes creating the track, uploading the first build, and adding testers.
To create the track, go to the Internal Testing section and click Create track. After creating the track, the system will prompt you to upload the first build in AAB (Android App Bundle) format. Google recommends AAB for all types of testing, as the format optimizes the app size for the device architecture.
After uploading the build, access to the track is opened by adding testers. Without at least one tester, the track is not considered active. Google Play Console shows the track status, a list of uploaded builds, and installation statistics for each participant.
// build.gradle - automatic upload to Internal Testing Track
android {
def versionCode = System.env.GIT_COMMIT_COUNT ?: "1"
def versionName = "1.0." + versionCode
defaultConfig {
versionCode versionCode.toInteger()
versionName versionName
}
}
// Deploy via Gradle Play Publisher plugin
plugins {
id 'com.github.triplet.play' version '3.9.0'
}
play {
track = "internal"
serviceAccountCredentials = file("play-account.json")
}
Adding testers to the Internal Testing Track is possible in two ways: by email and via Google Groups. The email list is suitable for small teams with a fixed composition. Each tester is added manually in the console and receives an invitation at the specified address.
Google Groups are preferred for teams with a changing composition or automated access management. Simply add the group to the track, and all its members gain access to the builds. Changing the group composition happens without updating the settings in Play Console.
Testers install the app through Google Play on their device. After being added to the track, they see the app as available for update (if they previously installed it from another track) or as a new app for installation. Builds from the Internal track are not published publicly — only track participants can see them.
Google Play automatically collects Android Vitals for all builds in the Internal Testing Track: crash rate, ANR, and startup time. The developer sees the metrics in Play Console immediately after the first tester installs the build. Data is available in real time without aggregation delays.
Internal Testing Track differs from Closed and Open tracks in access speed, review requirements, and audience scale. Internal does not require moderation, Closed requires Google Groups setup and review, Open goes through a full Google review.
| Parameter | Internal Testing | Closed Testing | Open Testing |
|---|---|---|---|
| Google Moderation | Not required | Required | Required |
| Max Testers | 100 (email) / unlimited (group) | Up to 200 groups | Unlimited |
| Testing Start | Within 5-10 minutes | Within 1-2 days | Within 1-2 days |
| Google Play Access | Link only | Link only | Via Play Market search |
| For New Accounts | Recommended | Recommended | Mandatory (14 days) |
The Internal track is the only one where a build is available without waiting. Closed and Open require Google review, which takes anywhere from several hours to 2 days. For new developer accounts, Open Testing Track is mandatory: the app must undergo 14 days of open testing before publication to production.
Automating uploads to the Internal Testing Track is a standard practice for CI/CD pipelines in Android projects. Gradle Play Publisher is the most popular plugin for automatic build publishing. It signs the AAB, uploads it to Google Play, and assigns the track.
Fastlane provides the supply action for uploading builds to Play Console. The track parameter specifies the target track: internal, closedalpha, openbeta, or production. Version management and service account are configured once in Fastfile.
# Fastfile - automated upload to Internal Testing Track
platform :android do
desc "Build and deploy to Internal Testing"
lane :internal do
gradle(task: "bundleRelease")
supply(
track: "internal",
aab: "app/build/outputs/bundle/release/app-release.aab",
skip_upload_metadata: true,
skip_upload_images: true
)
end
end
A Google Play service account is created in Google Cloud Console with the Publisher role and linked to the developer account in Play Console. The service account JSON key is stored in the CI/CD repository as a protected variable (GitHub Secrets, GitLab CI Variables, Jenkins Credentials).
Frequently Asked Questions
Activation of the track takes 5-10 minutes after uploading the build. Unlike Closed and Open tracks, Internal does not require Google review. Testers get access to the build immediately after the console processes it.
Internal Testing is designed for internal teams, but if testers are company employees or partners, this is acceptable. For distribution to external users, use Closed or Open tracks in accordance with Google Play policies.
Updating is done by uploading a new AAB build with an incremented versionCode to the same track. Testers receive the update automatically via Google Play. Google recommends changing the versionCode for each uploaded build.
No, Internal track testers cannot leave public reviews or ratings. All feedback is collected internally and visible only to the developer in Play Console. The app rating does not change due to activity in the Internal track.
The Internal track continues to work in parallel with production. Developers upload new builds to all tracks independently, allowing them to test the next version of the app while the current one is published on Google Play.
Summary
We will develop a mobile application turnkey
IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.
Read also