google-analytics-data-api-basics
Manages Google Analytics reporting data, enables the Analytics Data API via the Cloud CLI, and creates reports using the Google Analytics Data API (v1beta). Use when you need to interact with Google Analytics properties, run customized analytics reports, query metrics (like activeUsers, screenPageViews) and dimensions (like city, date), check metrics and dimensions compatibility, or verify API enablement. Don't use for Google Analytics Admin API operations (e.g., creating properties, managing users) or for front-end tracking installation.
- License 许可
- Apache-2.0
- 所属仓库
- google/skills
- 最近更新
- 2026-11-14
- Stars
- ★ 2.4w
- Forks
- 2.0k
01 前言 Front Matter
- name
- google-analytics-data-api-basics
- metadata
- { "version": "1.0.0", "category": "GoogleAnalytics" }
- description
- Manages Google Analytics reporting data, enables the Analytics Data API via the Cloud CLI, and creates reports using the Google Analytics Data API (v1beta). Use when you need to interact with Google Analytics properties, run customized analytics reports, query metrics (like activeUsers, screenPageViews) and dimensions (like city, date), check metrics and dimensions compatibility, or verify API enablement. Don't use for Google Analytics Admin API operations (e.g., creating properties, managing users) or for front-end tracking installation.
02 资源文件 7
- 参考文档references/dotnet.md2.0 KB
- 参考文档references/go.md1.8 KB
- 参考文档references/java.md2.6 KB
- 参考文档references/nodejs.md1.6 KB
- 参考文档references/php.md1.7 KB
- 参考文档references/python.md1.9 KB
- 参考文档references/ruby.md1.6 KB
03 SKILL.md 正文
Getting Started with Google Analytics Data API
The Google Analytics Data API v1beta provides programmatic access to Google Analytics report data. It allows you to build customized dashboards, automate reporting workflows, and integrate Google Analytics data into your enterprise applications.
Enabling the API via Cloud CLI
Before making API calls, ensure the Google Analytics Data API is enabled in your Google Cloud project.
If gcloud is not found, prompt the user to install the Google Cloud CLI before
running these commands.
-
Enable the API: Use the Cloud CLI (
gcloud) to enableanalyticsdata.googleapis.com.gcloud services enable analyticsdata.googleapis.com --quietWhy: Enabling the API ensures your Cloud project has the necessary quota and permissions allocated for running Google Analytics reports.
-
Verify API Enablement:
gcloud services list --enabled --filter="analyticsdata.googleapis.com"
Authentication
To authenticate your API requests, you must generate Application Default Credentials (ADC) and give your account the necessary scopes. Run the following command in your terminal:
gcloud auth application-default login --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/analytics.readonly"
Why: This configures ADC in your local environment with the required Cloud Platform and Google Analytics read-only scopes, allowing the client library to automatically authenticate your requests.
Creating a Data API Report (v1beta)
To create a report, use the official Google Analytics Data client library.
Always prefer the v1beta version of the API for stability and access to
current Google Analytics reporting capabilities.
[!IMPORTANT] Mandatory Agent Directive: When the user selects or requires a specific programming language, read the corresponding client library setup reference guide in
references/listed below.
Supported Client Libraries
Python
If you need to install or set up the Google Analytics Data API client library for Python, read the setup guide:
- Python Installation Reference (Package:
google-analytics-data)
Java
If you need to install or set up the Google Analytics Data API client library for Java, read the setup guide:
- Java Installation Reference (Artifact:
com.google.cloud:google-cloud-analytics-data)
PHP
If you need to install or set up the Google Analytics Data API client library for PHP, read the setup guide:
- PHP Installation Reference (Package:
google/analytics-data)
Node.js
If you need to install or set up the Google Analytics Data API client library for Node.js, read the setup guide:
- Node.js Installation Reference (Package:
@google-analytics/data)
Go
If you need to install or set up the Google Analytics Data API client library for Go, read the setup guide:
- Go Installation Reference (Package:
cloud.google.com/go/analytics/data/apiv1beta)
.NET
If you need to install or set up the Google Analytics Data API client library for .NET / C#, read the setup guide:
- .NET Installation Reference (Package:
Google.Analytics.Data.V1Beta)
Ruby
If you need to install or set up the Google Analytics Data API client library for Ruby, read the setup guide:
- Ruby Installation Reference (Gem:
google-analytics-data-v1beta)
[!NOTE] Additional Resources: For further examples of calling the Data API with Java, PHP, Node.js, .NET, Python and REST, as well as hints on authentication with a service account, refer to the official Data API Quickstart.
Python Quick Start
-
Install the Client Library:
pip install google-analytics-dataIf
pipis not available, prompt the user to installpipbefore installing the client library. -
Run a Report Request: Below is a complete example demonstrating how to query a Google Analytics property for active users and sessions grouped by city and date. Replace
YOUR-PROPERTY-IDwith your actual Google Analytics property ID (e.g.,1234567).from google.analytics.data_v1beta import BetaAnalyticsDataClient from google.analytics.data_v1beta.types import DateRange, Dimension, Metric, RunReportRequest def sample_run_report(property_id: str): # Initialize the client. # Assumes Application Default Credentials (ADC) are configured in your environment. client = BetaAnalyticsDataClient() request = RunReportRequest( property=f"properties/{property_id}", dimensions=[ Dimension(name="city"), Dimension(name="date") ], metrics=[ Metric(name="activeUsers"), Metric(name="sessions") ], date_ranges=[ DateRange(start_date="2026-05-01", end_date="today") ], ) response = client.run_report(request) print(f"Report result for property {property_id}:") for row in response.rows: print( f"City: {row.dimension_values[0].value}, " f"Date: {row.dimension_values[1].value}, " f"Active Users: {row.metric_values[0].value}, " f"Sessions: {row.metric_values[1].value}" ) if __name__ == "__main__": sample_run_report("YOUR-PROPERTY-ID")Why: Using
BetaAnalyticsDataClientandRunReportRequestensures compatibility with the v1beta endpoint and strongly typed request validation.
Metrics and Dimensions Schema
When constructing your RunReportRequest, you must use valid API names for
dimensions and metrics. Refer to the official
Data API Schema documentation
for the complete, authoritative list of available fields.
Commonly Used Dimensions
Dimensions represent categorical attributes of your data.
city: The town or city of the user.country: The country of the user.date: The date of the event, formatted as YYYYMMDD.deviceCategory: The category of mobile device (e.g., desktop, mobile, tablet).eventName: The name of the triggered event.pageTitle: The title of the web page.
Commonly Used Metrics
Metrics represent quantitative measurements.
activeUsers: The number of active users.eventCount: The total count of events.sessions: The total number of sessions.screenPageViews: The number of app screens or web pages viewed.totalRevenue: The total revenue from purchases, subscriptions, and advertising.
Metrics and Dimensions Compatibility Check
Some dimensions and metrics cannot be queried together in the same report
request. If you encounter an INVALID_ARGUMENT error regarding incompatible
fields, verify your field combinations For programmatic access to the Data API
schema, use getMetadata(). To programmatically check the compatibility of
specific dimension and metric combinations before running a report, use the
checkCompatibility() method.
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import CheckCompatibilityRequest, Compatibility, Dimension, Metric
def sample_check_compatibility(property_id: str):
client = BetaAnalyticsDataClient()
# Define the dimensions and metrics you want to query together.
# For example, checking if 'itemName' (an e-commerce dimension)
# is compatible with 'activeUsers' and 'totalRevenue'.
request = CheckCompatibilityRequest(
property=f"properties/{property_id}",
dimensions=[
Dimension(name="itemName"),
Dimension(name="date")
],
metrics=[
Metric(name="activeUsers"),
Metric(name="totalRevenue")
],
)
response = client.check_compatibility(request)
print(f"Compatibility check for property {property_id}:")
for dim in response.dimension_compatibilities:
is_compatible = dim.compatibility == Compatibility.COMPATIBLE
print(f"Dimension '{dim.dimension_metadata.api_name}' is compatible: {is_compatible}")
for metric in response.metric_compatibilities:
is_compatible = metric.compatibility == Compatibility.COMPATIBLE
print(f"Metric '{metric.metric_metadata.api_name}' is compatible: {is_compatible}")
if __name__ == "__main__":
sample_check_compatibility("YOUR-PROPERTY-ID")
04 同仓库更多 Skills
sign-in-with-google-web
Implement, configure, and secure Sign In With Google (SiwG) using Google Identity Services (GIS / `https://accounts.google.com/gsi/client`) across web architectures. Use when creating Google sign-in buttons, implementing Google One Tap with FedCM, integrating GIS in React/Next.js/Angular/HTML, verifying ID tokens on backend runtimes (Python/Node.js/Go/Java), enforcing Google Workspace domain restrictions (`hd`), securing client-side ID tokens via WebCrypto nonces or encrypted IndexedDB, embedding in cross-origin iframes via the Intermediate Iframe API (`https://accounts.google.com/gsi/intermediate`), configuring Content Security Policy (CSP), COOP, and Permissions Policy (`identity-credentials-get`) headers, or handling sign-out and revocation. Don't use for legacy Google Sign-In (`gapi.auth2`), Google Cloud IAM service accounts, or Android/iOS native Credential Manager.
dpop-adoption
Implement and debug OAuth 2.0 DPoP (RFC 9449) refresh token sender-constraining for WebCrypto, Node.js ES6, and browser runtimes integrating with Google's OAuth platform. Use when configuring non-extractable asymmetric key pairs (P-256), generating DPoP Proof JWTs for authorization code exchange and token refresh, or handling 400 use_dpop_nonce challenge retry loops at oauth2.googleapis.com/token. Don't use for unconstrained OAuth 2.0 flows (where refresh tokens are not bound to a client key pair), or for Google Cloud IAM / service account authentication.
retrieving-developer-knowledge
Searches, retrieves, and synthesizes official Google developer documentation across Google Cloud, AI/Gemini, Android, Chrome, Web, Flutter, Go, Firebase, and other Google developer platforms. Integrates with the Developer Knowledge MCP server (search_documents, get_documents, answer_query) or the Developer Knowledge REST API fallback. Use when searching for gcloud CLI commands, API syntax, IAM permissions, official documentation, architectural comparisons, or product choice overviews. Don't use for local filesystem lookups or non-Google documentation.
migrate-to-rust
Clones, analyzes, plans, and migrates legacy codebases (C++, Fortran, Java, Python, C, Shell) from a GitHub URL or local directory to a modern, high-performance, deterministic, 100% Safe Rust architecture, tracking live telemetry across every task bucket, test failure/fix cycle, and Profile-Guided Optimization (PGO) stage, and producing a first-person AI storytelling report and interactive HTML infographic. Use when migrating a GitHub repository or local codebase to Rust, porting legacy C++, Fortran, Python, or Java workloads to memory-safe Rust, designing Struct-of-Arrays (SoA) or SIMD Rust architectures, or optimizing Rust ports with LLVM PGO. Don't use for unrelated non-Rust refactoring or single-line syntax questions.
finding-google-skills
Google platform decision and setup guidance, loaded on demand from Google's skill catalog. Use when a developer is choosing or setting up part of their stack, such as where to run a service, a database, storage, messaging, authentication, analytics, ads, or AI model serving, and a Google product is a reasonable candidate - whether or not a vendor is named - or when a request names a Google product or API. Brings in the matching Google skill so the answer can weigh Google options, their trade-offs, and when they are not the right fit. Skip when the stack is already settled on another provider and no Google product is named, or the task involves no platform choice.
workload-manager-basics
Use this skill to manage Google Cloud Workload Manager evaluations, rules, scanned resources, and validation results by using public client libraries and the REST API. Use when you need to inspect workload best-practice rules, create and run evaluations for Google Cloud general best practices, SAP, SQL Server, or custom organizational rules, review violations, export results to BigQuery, or automate Workload Manager through client libraries because no service-specific public CLI or MCP server is available. Don't use for general Google Compute Engine instance management, VPC configuration, or standard IAM auditing.