Android
App Quality Report
Powered by Testers.AI
B83%
Quality Score
7
Pages
111
Issues
7.8
Avg Confidence
7.7
Avg Priority
39 Critical52 High20 Medium
Testers.AI
>_ Testers.AI AI Analysis

Android was tested and 111 issues were detected across the site. The most critical finding was: Google Analytics client ID exposed in URL (tracking data leakage) on Android AI page. Issues span Security, A11y, Performance, Other categories. Persona feedback rated Visual highest (8/10) and Accessibility lowest (6/10).

Qualitative Quality
Android
Category Avg
Best in Category
Issue Count by Type
Content
32
UX
23
A11y
14
Security
9
Pages Tested · 7 screenshots
Detected Issues · 111 total
1
Google Analytics client ID exposed in URL (tracking data leakage) on Android AI page
CRIT P9
Conf 9/10 Other
Prompt to Fix
In the Android AI page, remove or obfuscate the client identifier (cid) from analytics requests. Implement consent gating for analytics before sending any tracking data. Use GA4 with privacy-friendly defaults (anonymize_ip: true, ad_storage/analytics_storage set to 'granted' only after consent). Move to server-side measurement where feasible to avoid exposing user identifiers in URLs. Ensure the data in URLs (dl, dt) does not include PII and that no unique user identifiers are transmitted in query strings.Provide code snippet: 1) Gate GA4 config behind a consent check; 2) Remove cid from URL and rely on cookies; 3) Enable anonymize_ip; 4) If needed, switch to measurement protocol via server-side endpoint.
Why it's a bug
The page makes a Google Analytics collection request containing cid (client ID) in the URL query string. This exposes a persistent tracking identifier in the URL, enabling cross-site/user-level tracking without explicit consent confirmation in the captured logs. This constitutes tracking data exposure and potential regulatory/privacy risks.
Why it might not be a bug
GA usage with user consent is standard on many sites; if a robust consent management flow is in place and data minimization practices (e.g., anonymize_ip, no PII in URLs) are enforced, this may be acceptable. Without evidence of consent gating or anonymization, treat as a privacy risk.
Suggested Fix
Remove sending a client identifier in the URL (cid) for Google Analytics requests. Rely on first-party cookies for user/session identification and ensure explicit consent is obtained before analytics collection. Enable data minimization features (e.g., anonymize_ip, disable ad_storage/analytics_storage until consent is granted) and consider server-side measurement to avoid exposing identifiers in client URLs. If using GTM/GA4, switch to the recommended privacy-friendly configuration and gate analytics behind a consent banner.
Why Fix
Preventing exposure of tracking identifiers in URLs reduces cross-site profiling risk, improves regulatory compliance (GDPR/CCPA), and increases user trust by minimizing personal data exposure.
Route To
Privacy Engineer
Page
Tester
Pete · Privacy Networking Analyzer
Technical Evidence
Console: ⚠️ POTENTIAL ISSUE: Tracking request detected
Network: POST https://analytics.google.com/g/collect?v=2&tid=G-B3NBHZEJE6&...&cid=640332013.1774510068&dl=https%3A%2F%2Fwww.android.com%2Fai%2F&dt=AI%20on%20Android%3A%20Features%2C%20Apps%20%26%20Your%20AI%20Assistant%20%7C%20Android&en=page_view&ep.is_eea=false&ep.page_locale=en_us&ep.container_id=GTM-KZDPH9F&ep.container_version=191&ep.percent_scrolled=0&ep.scroll_increment=0&ep.scroll_instance=1&_et=1&tfd=219
2
AI/LLM endpoints invoked on page load without user consent
CRIT P9
Conf 9/10 Other
Prompt to Fix
Audit the Android AI features page to identify which AI/LLM calls are triggered on page load. Move all non-critical calls behind a user consent flow, defer or lazy-load after interaction, and log consent events. Remove default auto-calls if not strictly necessary.
Why it's a bug
Network activity shows multiple AI/LLM endpoint calls detected on page load (e.g., GET https://www.android.com/ai, analytics/collect calls). This can lead to unintended data leakage and privacy concerns without explicit user consent or visible opt-in controls.
Why it might not be a bug
If the feature relies on AI content generation or personalization, some calls may be expected; however, the visible screenshot/logs indicate calls without user interaction or consent.
Suggested Fix
Defer all AI/LLM endpoint calls until user action or explicit consent is obtained. Implement a clear consent banner and opt-in mechanism for analytics/AI integrations. Minimize payloads and remove unnecessary automatic requests. Consider lazy-loading or feature flags to control AI usage.
Why Fix
Enhances user privacy, reduces data exposure, and improves performance by avoiding unnecessary network requests on load.
Route To
Privacy Engineer / Frontend Architect
Page
Tester
Jason · GenAI Code Analyzer
Technical Evidence
Console: [INFO] AI/LLM ENDPOINT DETECTED GET https://www.android.com/ai - Status: 200 POST https://csp.withgoogle.com/csp/uxe-owners-acl/android - Status: N/A POST https://www.google.com/ccm/collect?... - Status: 200 GET https://storage.googleapis.com/... - Status: N/A
Network: GET https://www.android.com/ai - Status: 200
3
Unconsented loading of multiple third-party tracking scripts (GTM/YouTube/Fonts) enabling cross-site tracking
CRIT P9
Conf 9/10 Other
Prompt to Fix
Actionable fix: Implement consent-gated loading for all third-party resources shown in the traffic. 1) Integrate a CMP and guard the following loads behind consent: GTM (id=GTM-KZDPH9F), YouTube iframe API, Google Fonts. 2) For GTM: remove or avoid sending cookieCategory-like parameters; enable IP anonymization; disable advertising features until consent is granted. 3) For YouTube embeds: switch to privacy-enhanced mode using youtube-nocookie.com and only load after consent. 4) For fonts: host locally or ensure loading from fonts.googleapis.com is gated by consent; consider font-display and caching strategies. 5) Add CSP (Content-Security-Policy) to restrict third-party domains until consent and set Referrer-Policy appropriately. 6) Ensure no PII is ever appended to query strings or request bodies in these calls. 7) Provide a minimal, testable patch: wrap script injections with a consent check (e.g., if (userConsentGiven) { loadScript('gtm.js', ...); loadIframe(...); loadFont(...) }
Why it's a bug
The page loads several third-party domains (Google Tag Manager, YouTube iframe API, Google Fonts, etc.) that are commonly used for analytics and advertising. The network calls show identifiers (e.g., GTM-KZDPH9F) and cookieCategory parameters, indicating analytics/tracking usage. There is no clear evidence of consent gating in the snippet, which raises a risk of tracking and data sharing with third parties without explicit user consent. This can enable cross-site profiling and data disclosure beyond what is necessary for UI rendering.
Why it might not be a bug
Some sites load third-party resources to provide essential features (fonts, video content, analytics). If a robust consent mechanism is integrated off-page or elsewhere in the UX, this may be acceptable. However, the logs provided do not show any user consent state being applied to these requests, so the risk remains.
Suggested Fix
Implement consent-gated loading for all third-party resources. Integrate a Consent Management Platform (CMP) and require explicit user consent before loading GTM, YouTube embeds, and external font resources. Configure GTM to anonymize IPs and disable non-essential tracking, switch YouTube embeds to privacy-enhanced mode (youtube-nocookie.com), and consider hosting fonts locally or sourcing them in a privacy-preserving way. Remove sensitive query parameters (e.g., cookieCategory) from analytics requests or ensure they are only sent after consent. Enforce a strict Content Security Policy (CSP) to block unknown third-party domains until consent is given and apply appropriate Referrer-Policy.
Why Fix
Respect user privacy, reduce regulatory risk, and build trust. Limiting third-party tracking without consent minimizes data leakage, cross-site profiling, and potential exposure of behavioral data to external services.
Route To
Privacy Engineer
Page
Tester
Pete · Privacy Networking Analyzer
Technical Evidence
Console: No explicit PII found in console logs; no consent state shown in the provided snippet.
Network: GET https://www.gstatic.com/marketing-cms/reviewed-scripts/gtm/gtm.js?id=GTM-KZDPH9F&cookieCategory=2A
+41
41 more issues detected  View all →
Analytics/Tracking request to GTM may occur before explicit ...
Cross-origin postMessage called with incorrect targetOrigin
PII-like Identifier Transmitted in Analytics CCM Collect (au...
and 38 more...
Unlock All 111 Issues
You're viewing the top 3 issues for Android.
Sign up at Testers.AI to access the full report with all 111 detected issues, detailed fixes, and continuous monitoring.
Sign Up at Testers.AI or let us run the tests for you