-
Notifications
You must be signed in to change notification settings - Fork 4
feat(mcp): add Google Analytics MCP integration #98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add google-analytics.md subagent in services/analytics/ - Add analytics-mcp config to mcp-servers-config.json.txt (disabled by default) - Update seo.md, marketing.md, sales.md to reference google-analytics subagent - Update AGENTS.md subagent folders table with services/analytics/ The MCP is disabled globally and enabled per-agent via tools: analytics_mcp_*: true when the google-analytics subagent is loaded by seo, marketing, or sales agents.
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (3)
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughThis pull request introduces a new Google Analytics MCP server integration into the AI-DevOps framework. The changes add a new Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello @marcusquinn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request integrates Google Analytics 4 (GA4) capabilities into the aidevops framework through a new Multi-Channel Platform (MCP). This integration allows various AI agents, particularly those focused on SEO, marketing, and sales, to programmatically access and analyze website analytics data. The design ensures that the GA4 MCP is only enabled when relevant agents require its functionality, optimizing resource utilization while expanding the framework's data analysis capabilities. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Wed Jan 14 19:55:32 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a Google Analytics MCP integration, allowing agents for SEO, marketing, and sales to access GA4 data. The changes include a new subagent definition, updates to existing agent files to incorporate the new capabilities, and a new MCP server configuration. The documentation is comprehensive. My review focuses on ensuring consistency between the implementation, documentation, and the stated goals of the pull request. I've identified a couple of minor inconsistencies in the configuration and documentation that should be addressed for clarity and correctness.
| ### Claude Desktop Configuration | ||
|
|
||
| Add to Claude Desktop MCP settings (`~/.gemini/settings.json` for Gemini): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The heading "Claude Desktop Configuration" appears to conflict with the configuration path provided, which is for "Gemini" (~/.gemini/settings.json). This could be confusing for users. To improve clarity, please update the heading and description to consistently refer to Gemini, or clarify the relationship between Claude Desktop and Gemini if they are related.
| ### Claude Desktop Configuration | |
| Add to Claude Desktop MCP settings (`~/.gemini/settings.json` for Gemini): | |
| ### Gemini Desktop Configuration | |
| Add to Gemini Desktop MCP settings (`~/.gemini/settings.json`): |
| "analytics-mcp": { | ||
| "command": "pipx", | ||
| "args": ["run", "analytics-mcp"], | ||
| "env": { | ||
| "GOOGLE_APPLICATION_CREDENTIALS": "YOUR_CREDENTIALS_JSON_PATH_HERE", | ||
| "GOOGLE_PROJECT_ID": "YOUR_GCP_PROJECT_ID_HERE" | ||
| }, | ||
| "description": "Google Analytics MCP server for GA4 reporting, account management, and real-time analytics. Requires pipx and Google Cloud ADC setup." | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pull request description states that the analytics-mcp is disabled by default. However, the "enabled": false property is missing from this configuration. To align with the stated intent and the example provided in the .agent/services/analytics/google-analytics.md documentation, please add this property to the configuration.
"analytics-mcp": {
"command": "pipx",
"args": ["run", "analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "YOUR_CREDENTIALS_JSON_PATH_HERE",
"GOOGLE_PROJECT_ID": "YOUR_GCP_PROJECT_ID_HERE"
},
"enabled": false,
"description": "Google Analytics MCP server for GA4 reporting, account management, and real-time analytics. Requires pipx and Google Cloud ADC setup."
}
🤖 Augment PR SummarySummary: Adds a Google Analytics (GA4) MCP integration to the aidevops agent framework. Changes:
Technical Notes: The integration relies on Google Cloud Application Default Credentials (ADC) via 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| glob: true | ||
| grep: true | ||
| webfetch: true | ||
| analytics_mcp_*: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The frontmatter enables analytics_mcp_*, but the MCP server/config name in this PR is analytics-mcp; if tool filtering keys off the MCP name (per mcp-name_* guidance), this mismatch could prevent the GA tools from being enabled. Consider aligning the prefix/tool naming consistently across this file (also applies to the per-agent enablement note below and the tool lists in main agents).
🤖 Was this useful? React with 👍 or 👎
|
|
||
| ### Claude Desktop Configuration | ||
|
|
||
| Add to Claude Desktop MCP settings (`~/.gemini/settings.json` for Gemini): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is labeled as Claude Desktop config but points to ~/.gemini/settings.json; elsewhere in the repo Claude Desktop uses ~/Library/Application Support/Claude/claude_desktop_config.json and Gemini CLI uses ~/.gemini/settings.json. Consider separating/correcting these paths to avoid users configuring the wrong client.
🤖 Was this useful? React with 👍 or 👎
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
🤖 Fix all issues with AI agents
In @.agent/marketing.md:
- Around line 62-68: Update the Google Analytics MCP Tools table in marketing.md
to include the missing tool by adding `list_google_ads_links` to the Account
Info cell so it reads: Account Info includes `get_account_summaries`,
`get_property_details`, `list_google_ads_links`; this aligns the marketing docs
with the google-analytics.md subagent reference.
In @.agent/services/analytics/google-analytics.md:
- Around line 77-80: The fenced code block starting with "```text" that displays
"Credentials saved to file: [PATH_TO_CREDENTIALS_JSON]" lacks a blank line
before it; update the markdown in google-analytics.md so there is an empty line
immediately before the opening ```text fence (i.e., separate the preceding
paragraph from the code block), ensuring the fenced code block is surrounded by
blank lines to satisfy markdown best practices.
- Around line 46-75: The ADC setup only includes
https://www.googleapis.com/auth/analytics.readonly which is insufficient for
some Admin API calls; update the gcloud auth application-default login commands
in .agent/services/analytics/google-analytics.md (the two occurrences of the
gcloud command) to add the
https://www.googleapis.com/auth/analytics.manage.users.readonly scope to the
--scopes list, or alternatively add a short note next to those gcloud commands
telling users to verify method-level scopes in the Google Analytics Admin API
docs if they need different permissions.
In `@configs/mcp-servers-config.json.txt`:
- Around line 69-77: The config entry "analytics-mcp" uses the community package
name; update the args in that block so pipx runs the official package by
replacing ["run", "analytics-mcp"] with ["run", "google-analytics-mcp"] (leave
command "pipx" and env keys like GOOGLE_APPLICATION_CREDENTIALS and
GOOGLE_PROJECT_ID intact), and verify the description reflects the official
GitHub package (github.com/googleanalytics/google-analytics-mcp).
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
.agent/AGENTS.md.agent/marketing.md.agent/sales.md.agent/seo.md.agent/services/analytics/google-analytics.mdconfigs/mcp-servers-config.json.txt
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2026-01-06T15:57:56.027Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-06T15:57:56.027Z
Learning: Applies to **/AGENTS.md : Use progressive disclosure in AGENTS.md with pointers to subagents rather than inline content
Applied to files:
.agent/AGENTS.md
📚 Learning: 2025-11-29T04:34:42.033Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENT.md:0-0
Timestamp: 2025-11-29T04:34:42.033Z
Learning: Reference AGENTS.md (authoritative) instead of AGENT.md for AI assistant guidance
Applied to files:
.agent/AGENTS.md
🪛 GitHub Check: Codacy Static Code Analysis
.agent/services/analytics/google-analytics.md
[notice] 78-78: .agent/services/analytics/google-analytics.md#L78
Fenced code blocks should be surrounded by blank lines
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Audit Log
- GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (15)
.agent/services/analytics/google-analytics.md (2)
1-42: Excellent documentation structure and comprehensive quick reference.The front matter correctly configures
analytics_mcp_*: trueto enable Google Analytics MCP tools when this subagent is loaded. The quick reference provides clear environment setup and tool categorization.
82-102: Clear per-agent enablement explanation.Line 102 effectively explains the token optimization strategy: MCP is disabled globally and enabled per-agent via the
analytics_mcp_*: trueflag in the subagent's tools section. This aligns with the PR objectives..agent/AGENTS.md (2)
401-401: Well-integrated analytics service folder entry.The new
services/analytics/entry follows the established table pattern with clear description and subagent reference. Consistent with existing service folder entries.
483-483: Appropriate progressive disclosure reference.The Website analytics entry provides a clear pointer to the google-analytics.md subagent with helpful context about GA4 capabilities. Follows the learning about using progressive disclosure in AGENTS.md.
Based on learnings about using progressive disclosure in AGENTS.md with pointers to subagents.
.agent/sales.md (4)
23-24: Logical addition of google-analytics subagent for sales analytics.Adding google-analytics under the Analytics section makes sense for e-commerce tracking and conversion analysis mentioned later in the file.
44-45: Consistent path references to service documentation.Both CRM and analytics references now use the same
services/prefix pattern (without.agent/), maintaining consistency in documentation cross-references.
61-67: Well-structured Google Analytics MCP tools table.The table follows the same categorization pattern as the FluentCRM tools above, making it easy for users to understand available GA4 capabilities when the google-analytics subagent is loaded.
76-76: Relevant GA4 task addition for sales operations.E-commerce and conversion analytics is a natural fit for the sales agent's typical tasks, complementing the CRM and accounting operations.
.agent/seo.md (4)
15-15: Strategic addition of google-analytics for SEO traffic analysis.Adding GA4 integration to the SEO agent enables correlation between search performance (GSC) and on-site behavior (GA4), which is valuable for comprehensive SEO analysis.
27-28: Updated tool references include Google Analytics.The Quick Reference section now lists Google Analytics alongside other SEO tools, and correctly notes the MCP integration for comprehensive data access.
31-42: Clear cross-folder subagent organization.The updated section header explicitly mentions both
seo/andservices/analytics/folders, and the google-analytics.md entry clearly describes GA4 capabilities and points to the correct location.
89-92: Relevant GA4 MCP commands for SEO workflows.The added Google Analytics commands (
get_account_summaries,run_report,run_realtime_report) are the most relevant for SEO traffic analysis. The conditional note "(when google-analytics subagent loaded)" correctly indicates when these tools are available..agent/marketing.md (3)
27-27: LGTM - Subagent registration looks good.The
google-analyticssubagent is correctly added to the Analytics section. The ordering is consistent with the rest of the file.
48-48: LGTM - Related Agents reference is properly formatted.The GA4 document reference follows the established pattern and provides a clear description of its purpose.
77-77: LGTM - Typical Tasks addition is appropriate.Adding "Website traffic and conversion analytics (GA4)" to the task list accurately reflects the new capability provided by the Google Analytics subagent.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
| ## Installation | ||
|
|
||
| ### Prerequisites | ||
|
|
||
| 1. **Python with pipx**: Install pipx for isolated Python package management | ||
| 2. **Google Cloud Project**: With Analytics APIs enabled | ||
| 3. **Google Analytics Access**: User credentials with GA4 property access | ||
|
|
||
| ### Enable Google Cloud APIs | ||
|
|
||
| Enable these APIs in your Google Cloud project: | ||
|
|
||
| - [Google Analytics Admin API](https://console.cloud.google.com/apis/library/analyticsadmin.googleapis.com) | ||
| - [Google Analytics Data API](https://console.cloud.google.com/apis/library/analyticsdata.googleapis.com) | ||
|
|
||
| ### Configure Credentials | ||
|
|
||
| Set up Application Default Credentials (ADC) with the analytics readonly scope: | ||
|
|
||
| ```bash | ||
| # Using OAuth desktop/web client | ||
| gcloud auth application-default login \ | ||
| --scopes https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform \ | ||
| --client-id-file=YOUR_CLIENT_JSON_FILE | ||
|
|
||
| # Or using service account impersonation | ||
| gcloud auth application-default login \ | ||
| --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \ | ||
| --scopes=https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
Google Analytics Data API v1 Admin API v1 OAuth scopes read-only access requirements
💡 Result:
Short answer — read-only OAuth scopes you can use:
- Google Analytics Data API (v1): https://www.googleapis.com/auth/analytics.readonly. [1][2]
- Google Analytics Admin API (v1/v1beta/v1alpha): many "list/get" Admin methods accept https://www.googleapis.com/auth/analytics.readonly (or the broader https://www.googleapis.com/auth/analytics.edit). Some Admin endpoints that return user/access info require https://www.googleapis.com/auth/analytics.manage.users.readonly (or the corresponding write scope). [3][4][5]
Notes: certain Admin methods explicitly require analytics.edit or analytics.manage.users (not just readonly) — check the method-level docs before calling. [3][4]
Sources:
[1] Google Analytics Data API overview.
[2] OAuth 2.0 scopes for Google APIs (Analytics scopes).
[3] Google Analytics Admin API overview / package docs.
[4] Admin API method example (accounts.accessBindings.get) showing analytics.manage.users.readonly requirement.
[5] Admin API package (v1beta/v1alpha) showing analytics.readonly vs analytics.edit for list/get methods.
🏁 Script executed:
# Search for analytics-mcp references in the codebase
rg "analytics-mcp" --type md --type txt --type py --type js
# Check if there's any GA4 operations documentation
fd "google-analytics" --type f | head -20
cat .agent/services/analytics/google-analytics.md | head -100Repository: marcusquinn/aidevops
Length of output: 3786
Update ADC setup instructions to include all required OAuth scopes.
The analytics.readonly scope is insufficient for all Google Analytics Admin API operations. According to Google's API documentation, some Admin API endpoints—particularly those returning user/access information—require the analytics.manage.users.readonly scope. The current instructions should either:
- Add
analytics.manage.users.readonlyto the scopes list, or - Document that method-level scope requirements must be checked in the Google Analytics Admin API documentation
Update the gcloud commands to include all necessary scopes:
Recommended scope configuration
# Using OAuth desktop/web client
gcloud auth application-default login \
--scopes https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/analytics.manage.users.readonly,https://www.googleapis.com/auth/cloud-platform \
--client-id-file=YOUR_CLIENT_JSON_FILE
# Or using service account impersonation
gcloud auth application-default login \
--impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
--scopes=https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/analytics.manage.users.readonly,https://www.googleapis.com/auth/cloud-platform🤖 Prompt for AI Agents
In @.agent/services/analytics/google-analytics.md around lines 46 - 75, The ADC
setup only includes https://www.googleapis.com/auth/analytics.readonly which is
insufficient for some Admin API calls; update the gcloud auth
application-default login commands in
.agent/services/analytics/google-analytics.md (the two occurrences of the gcloud
command) to add the
https://www.googleapis.com/auth/analytics.manage.users.readonly scope to the
--scopes list, or alternatively add a short note next to those gcloud commands
telling users to verify method-level scopes in the Google Analytics Admin API
docs if they need different permissions.
| "analytics-mcp": { | ||
| "command": "pipx", | ||
| "args": ["run", "analytics-mcp"], | ||
| "env": { | ||
| "GOOGLE_APPLICATION_CREDENTIALS": "YOUR_CREDENTIALS_JSON_PATH_HERE", | ||
| "GOOGLE_PROJECT_ID": "YOUR_GCP_PROJECT_ID_HERE" | ||
| }, | ||
| "description": "Google Analytics MCP server for GA4 reporting, account management, and real-time analytics. Requires pipx and Google Cloud ADC setup." | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify analytics-mcp package exists on PyPI
curl -s https://pypi.org/pypi/analytics-mcp/json | jq -r '.info | "Package: \(.name)\nVersion: \(.version)\nSummary: \(.summary)"'
echo "---"
# Check package author and homepage
curl -s https://pypi.org/pypi/analytics-mcp/json | jq -r '.info | "Author: \(.author)\nHome Page: \(.home_page)"'Repository: marcusquinn/aidevops
Length of output: 175
🌐 Web query:
analytics-mcp PyPI package Google Analytics official
💡 Result:
Short answer: analytics-mcp on PyPI is a community/experimental MCP server that wraps the Google Analytics APIs — it is not an official Google-published package. See the analytics-mcp PyPI project page for the package description and release history [1], and Google’s official docs that point to the official client libraries / SDKs for Python (Admin API / Data API) for interacting with Google Analytics [2].
Sources:
- analytics-mcp PyPI project page. [1]
- Google Developers — Google Analytics API client libraries / quickstart (Python). [2]
🌐 Web query:
github.com/googleanalytics/google-analytics-mcp Google Analytics MCP server
💡 Result:
The googleanalytics/google-analytics-mcp repository is an experimental MCP (Model Context Protocol) server that lets LLM-based clients (e.g., Gemini/Claude) query live Google Analytics (GA4) account, property, reporting and realtime data via the Admin and Data APIs. It provides tools such as get_account_summaries, run_report, run_realtime_report and get_custom_dimensions_and_metrics, and uses Application Default Credentials for authentication. Setup steps include enabling the Google Analytics Admin & Data APIs, configuring ADC (or OAuth client credentials), installing the Python package (pipx), and adding the server to your Gemini/Client MCP config. See the repo README for full instructions and examples. [1]
If you want alternative/community MCP servers for GA4 (different languages/features), there are several community projects (examples: surendranb/google-analytics-mcp, gomarble-ai/google-analytics-mcp-server). These may offer different auth flows, feature sets, or implementations. [2][3]
Sources:
- googleanalytics/google-analytics-mcp README. [1]
- surendranb/google-analytics-mcp (community implementation). [2]
- gomarble-ai/google-analytics-mcp-server (community implementation). [3]
Use the official Google Analytics MCP package from the Google Analytics GitHub repository.
The analytics-mcp package on PyPI exists but is a community/experimental implementation (with null author and homepage), not the official Google Analytics MCP server. The official Google Analytics MCP is located at github.com/googleanalytics/google-analytics-mcp and should be installed via pipx run google-analytics-mcp instead. Update the configuration to reference the correct official package and verify it aligns with your PR objectives.
🤖 Prompt for AI Agents
In `@configs/mcp-servers-config.json.txt` around lines 69 - 77, The config entry
"analytics-mcp" uses the community package name; update the args in that block
so pipx runs the official package by replacing ["run", "analytics-mcp"] with
["run", "google-analytics-mcp"] (leave command "pipx" and env keys like
GOOGLE_APPLICATION_CREDENTIALS and GOOGLE_PROJECT_ID intact), and verify the
description reflects the official GitHub package
(github.com/googleanalytics/google-analytics-mcp).
- Add blank line before code block in google-analytics.md (markdown lint) - Fix heading: 'Claude Desktop' -> 'Gemini CLI' for ~/.gemini/settings.json - Add missing list_google_ads_links tool to marketing.md and sales.md
|
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Wed Jan 14 20:01:01 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |



Summary
google-analyticssubagent is loadedseo.md,marketing.md, andsales.mdmain agentsChanges
.agent/services/analytics/google-analytics.md- comprehensive subagent with GA4 API documentationconfigs/mcp-servers-config.json.txt- addedanalytics-mcpconfig (disabled by default).agent/seo.md- addedgoogle-analyticsto subagents list and MCP tools reference.agent/marketing.md- addedgoogle-analyticsto subagents list and MCP tools reference.agent/sales.md- addedgoogle-analyticsto subagents list and MCP tools reference.agent/AGENTS.md- addedservices/analytics/to subagent folders tableMCP Details
analytics-mcp(official Google package via pipx)get_account_summaries,get_property_details,run_report,run_realtime_report,get_custom_dimensions_and_metricsUsage
The MCP is loaded automatically when any of these agents reference the
google-analyticssubagent:Testing
Summary by CodeRabbit
Release Notes
New Features
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.