GSC Wizard
Google Search data analysis
- Category
- Marketing
- Primary Subcategory
- SEO Rank Tracking & Keyword Research
Integration details
Description
GSC Wizard connects ChatGPT to your own Google Search Console properties so you can analyze SEO performance in plain language. Ask for a performance summary, your top queries and pages, ranking changes between two periods, content decay, keyword cannibalization, CTR-versus-position curves, or a full SEO report, and get a finished answer back. Instead of streaming thousands of raw rows into the model, every analysis is computed server-side against a data warehouse, so results are fast, accurate, and token-efficient. You can also list and inspect properties, run Google's URL Inspection, track indexing, manage topic clusters and content groups, and submit URLs to IndexNow. It also reports on your own linked Google Analytics 4 properties: traffic overviews, dimension breakdowns, ecommerce, key events (conversions), traffic referred by AI assistants such as ChatGPT and Perplexity, and blended Search Console + GA4 landing-page views. Summary tools render interactive cards and tables directly in ChatGPT. All access is scoped to your own account through Google sign-in.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- SEO Rank Tracking & Keyword Research
- Secondary Subcategories
- None listed
- Brand
- GSC Wizard
- Access
- Account required
- First tracked
- 2026-07-03
- Tool count
- 106
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for GSC Wizard
Get updates when GSC Wizard’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT SEO Rank Tracking & Keyword Research
View Category106 tools agents can invoke
Adds URLs to the GSC Wizard Indexing Tracker for a property, creating the tracker if it does not exist yet. Each URL must belong to the property's domain. Enforces the 1,800-URL-per-tracker cap (URLs over the cap are skipped and reported). Newly added URLs start as "pending"; call check_tracked_url_now to inspect them immediately, or wait for the app's hourly cron.
add_tracked_urls
Registers a GSC property the user already has access to (in Google Search Console) inside GSC Wizard. The property URL must appear in Search Console and be VERIFIED for the connected Google account: an unverified property is rejected, because Google refuses every data request for one. It is not provisioned by this call. Pass a URL prefix (https://example.com/) or a domain property (sc-domain:example.com).
add_site
Adds a client contact (an email address, plus an optional name) that shareable reports can then be granted to with manage_report_access. Adding a client does NOT email them and does not give them access to anything on its own — it only creates the contact. Emails are stored lowercased and must be unique per account; adding an address that already exists returns the existing client rather than failing.
create_report_client
Saves redirect mappings (old URL -> new URL) for a site migration, tied to the source property A and target property B they move traffic between. These back the Migration Compare workflow: use compare_migration for the before/after performance read, and these mappings to record which old URL became which new one. Pass `label` to keep several migrations apart on one account. Rows are APPENDED, never deduplicated against what is already stored, so re-sending the same list stores it twice; clear a set first with delete_migration_redirects if you are re-uploading.
add_migration_redirects
Builds the property’s actual click-through-rate curve bucketed by average position (1-20) and compares each bucket to one or more industry benchmarks. Available sources: awr (Advanced Web Ranking 2026), firstPageSage (First Page Sage 2026), sistrix (Sistrix 2024), backlinko (Backlinko 2019), or "all" (default) to compare against every source at once. Each bucket reports a `benchmarks` map (expected CTR per source) and a `deltas` map (actual minus expected; negative = underperforming); when a single source is selected the bucket also carries flat `expectedCtr`/`ctrDelta`. CTR values are 0-1 ratios. Served from the GSC Wizard ClickHouse warehouse when available, otherwise the live Search Console API (see `dataSource`). Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
analyze_ctr_curve
Estimates how much click/impression data Google Search Console hides through anonymization (privacy-threshold row dropping) for a property over a date range. Compares the per-day totals against the summed top query rows and top page rows; the gap is the lost share. On the live API path this reveals true GSC sampling. On the ClickHouse warehouse path the data is unsampled, so the reported loss reflects only top-N row truncation (see the `note` field). The response `dataSource` says which path served the request. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
analyze_sampling_impact
Finds queries where multiple pages of the property compete for the same search, ranked by a cannibalization score (Shannon entropy over the pages’ impressions — higher means impressions split more evenly across pages, i.e. worse cannibalization). Served from the GSC Wizard ClickHouse warehouse when available, otherwise the live Search Console API (see `dataSource`). Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
analyze_cannibalization
Remaining Bing Webmaster Tools URL-submission quota for a property: the daily and monthly allowances left for submitting URLs to Bing's index. Returns notConfigured: true when no Bing Webmaster API key is set up for the property.
get_bing_url_submission_quota
URLs where Bing found crawl issues for a property: HTTP 4xx/5xx, 301/302 redirects, robots.txt blocks, DNS/timeout errors and malware, each with the HTTP code, inbound-link count, and decoded human-readable issue labels. Returns notConfigured: true when no Bing Webmaster API key is set up for the property.
get_bing_crawl_issues
Bing's daily crawl statistics for a property (roughly the last 6 months): pages crawled, pages in the index, inbound links, and a breakdown of response codes (2xx, 301, 302, 4xx, 5xx), robots.txt blocks, crawl errors and malware flags. Returns notConfigured: true when no Bing Webmaster API key is set up for the property.
get_bing_crawl_stats
Daily clicks and impressions from Bing Webmaster Tools (Bing/Yahoo/DuckDuckGo organic) for a property, roughly the last 6 months. Complements Google Search Console data with the Bing side of organic search. Returns notConfigured: true when no Bing Webmaster API key is set up for the property.
get_bing_traffic_stats
Inbound (backlink) counts per URL that Bing Webmaster Tools has recorded for a property, one page of results at a time (Bing returns roughly 100 rows per page). Pass `page` to paginate; totalPages tells you how many pages exist. Returns notConfigured: true when no Bing Webmaster API key is set up for the property.
get_bing_link_counts
Bing Webmaster Tools' historical impression volume for a single keyword (weekly buckets), plus its broad-match impressions. This is Bing marketplace demand data, not tied to any of your properties, so it needs no siteUrl. Useful for gauging Bing search demand and seasonality for a term. Returns notConfigured: true when no Bing Webmaster API key is set up in the GSC Wizard app.
get_bing_keyword_stats
Bing Webmaster Tools query+landing-page pairs for a property, aggregated across the window (clicks, impressions, and impression-weighted average position per pair). Shows which query drives each page on Bing. Returns notConfigured: true when no Bing Webmaster API key is set up for the property.
get_bing_query_page_stats
Sitemaps and feeds submitted to Bing Webmaster Tools for a property, with each feed's decoded status (Success / Pending / Warning / Error), type (Sitemap / RSS / Atom / ...), submitted and last-crawled dates, URL count and file size. The Bing counterpart to list_sitemaps. Returns notConfigured: true when no Bing Webmaster API key is set up for the property.
get_bing_feeds
Top landing pages on Bing Webmaster Tools for a property, aggregated across the window (clicks, impressions, CTR as a 0-100 percentage, and impression-weighted average position). The Bing counterpart to query_top_pages. Returns notConfigured: true when no Bing Webmaster API key is set up for the property.
get_bing_page_stats
Top search queries on Bing Webmaster Tools for a property, aggregated across the window (clicks, impressions, CTR as a 0-100 percentage, and impression-weighted average position). The Bing counterpart to query_top_queries. Returns notConfigured: true when no Bing Webmaster API key is set up for the property.
get_bing_query_stats
Joins Search Console (clicks, impressions, CTR, position) with GA4 (sessions, bounce rate, key events, revenue) per landing page, on the canonical path (no query/hash, no trailing slash). Flags GSC-only and GA4-only pages so neither side is silently dropped. By default GA4 metrics are limited to google / organic sessions so both sides describe the same traffic (set organicOnly to false for all-traffic GA4 metrics). Requires a GA4 property linked to the site in GSC Wizard; returns a notConfigured explanation otherwise. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
get_blended_landing_pages
Aggregates page-level performance into a subdomain and first-folder breakdown. Each page URL is parsed and grouped by its host plus the first `depth` path segments (depth 1 -> /folder, depth 2 -> /folder/subfolder, etc.). Returns per-group clicks, impressions, CTR, impression-weighted average position, and the number of distinct pages. Served from the ClickHouse warehouse when available, otherwise the live Search Console API (see `dataSource`). Reads up to 25,000 page rows before grouping. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
breakdown_by_path
Triggers an immediate Google URL Inspection for up to 10 tracked URLs in the GSC Wizard Indexing Tracker, updating each URL's status, warnings, and append-only history. Counts against the daily 2,000-inspection/property quota — if the quota is exhausted the call returns a quota message instead of running. Use sparingly; the app's hourly cron checks tracked URLs automatically. This is a server-side write and is audit-logged.
check_tracked_url_now
Before/after Search Console comparison for a site migration or restructure. Three modes: "cross-property" compares two GSC properties (old domain vs new); "two-urls" compares two URL-prefix sections within one property; "regex" splits one property by two regexes. Returns the daily clicks/impressions trend for each side, per-side totals, and the query and page winners/losers by click delta. Both sides use the same date window (this is A-vs-B, not two time periods). Reads the ClickHouse warehouse when available, else the live Search Console API. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
compare_migration
Chrome UX Report field data for a property (or a single page): the weekly history of Core Web Vitals (LCP, INP, CLS) plus FCP and TTFB, each with its p75 value, good/needs-improvement/poor rating, and the good-bucket density trend. Also reports any week-over-week rating regressions. Needs a Chrome UX Report API key configured in the app; returns notConfigured otherwise, or noData when CrUX has too little real-world traffic for the target.
get_core_web_vitals
Returns per-country performance (clicks, impressions, CTR, position) for a property over a date range. Country codes are ISO 3166-1 alpha-3. Served from the ClickHouse warehouse when available, otherwise the live Search Console API (see `dataSource`). Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
query_countries
Creates one or more URL-prefix properties in Google Search Console (Webmasters sites.add) and registers them in GSC Wizard. Use this to add folder-level properties (e.g. https://example.com/blog/) that do not yet exist in Search Console — they are auto-verified if the connected Google account owns the parent domain property. `parentSiteUrl` is an existing GSC Wizard property whose Google account has access; the new properties inherit it. Every property URL must be under the `parentSiteUrl` domain (that domain or a subdomain of it). Created properties are added hidden and consume no plan slot until you show them with set_dashboard_visibility, which enforces the dashboard limit. For properties that already exist in GSC, use add_site instead.
create_gsc_property
Adds a chart annotation. Scope is "account" by default (visible only to the user); pass siteUrl to scope the annotation to a single property. Platform-wide annotations are reserved for system events and cannot be created via this tool.
create_annotation
Creates a content group partition on a property. Rules are an array of { type, value } objects (prefix / contains / regex / equals) that match URLs into the group. Group names are unique per site. A `regex` rule that cannot compile is rejected; one that is valid but unsupported by the warehouse (a lookahead, lookbehind or backreference) or skipped as ReDoS-prone is accepted and reported in `ruleWarnings` — relay those to the user, since a skipped pattern matches no pages at all.
create_content_group
Stores a filter preset against a property, as the dashboard's filter panel would. `filters` is the list of filter rows (dimension / operator / value), in the same shape list_saved_filters returns, and `filterLogic` says whether they combine with AND or OR. Saving a preset does not apply it to anything on its own: it appears in the property's filter presets for the user to pick.
create_saved_filter
Saves a table of rows as a shareable GSC Wizard report. Pass the `rows` you got from another tool (e.g. query_top_queries, get_content_group_performance) plus the `columns` describing which fields to show; the report renders at view time, so the stored payload stays small. THIS IS STEP 1 OF 3 — the returned URL opens for NOBODY until access is granted, not even for the account owner, because the viewer is the client portal and requires a client login. To actually share it: (2) create_report_client with the recipient's email, then (3) manage_report_access to grant them the report. Do not hand the URL to anyone before step 3 — it will not open. Up to 50 reports per account; delete old ones with delete_shared_report.
create_shared_report
Creates a topic cluster on a property by grouping keywords under a name. Cluster names are unique per property, and the call is idempotent: if the name already exists the existing cluster is returned with alreadyExisted: true instead of an error, so there is never anything to retry. Use update_topic_cluster to change an existing cluster's keywords. Keywords are stored as text and matched against GSC queries in the dashboard.
create_topic_cluster
Aggregates a last-N-days clicks/impressions summary across ALL of the authenticated account's registered Search Console properties (optionally filtered to those carrying a given tag), with a same-length prior period for comparison and per-site totals. Useful for a portfolio-level health check. Each site routes independently to the ClickHouse warehouse or the live Search Console API, so `dataSource` is reported per site. A site whose read fails is reported in `errors` rather than failing the whole call.
get_cross_site_summary
Per-query or per-page performance broken down by month or week — the same matrix the app's Query Decay and Content Decay pages render (a row per query/page, one column per period). Use this to SEE how traffic trended period by period; use find_decaying_content instead when you only need decliners between two fixed ranges. Returns the top `limit` rows by total clicks, each with a `values` array aligned to `periods` for the chosen `metric`, plus a TOTALS-style per-period aggregate across all matched rows. Defaults to the last `months` complete months (through the end of last month). Served from the GSC Wizard ClickHouse warehouse when available (longer history, no GSC sampling), otherwise the live Search Console API (see `dataSource`).
get_decay_overview
Deletes a chart annotation by id. Only annotations the user owns can be removed; platform-scoped annotations cannot be deleted via this tool.
delete_annotation
Deletes a content group by id. The owning site must belong to the authenticated user.
delete_content_group
Deletes a saved filter preset by id. Only the creating user may delete it.
delete_saved_filter
Permanently deletes a saved shareable report and every client grant on it, breaking the shared link for anyone who still has it. Only reports owned by the authenticated user can be deleted. Find the id with list_shared_reports.
delete_shared_report
Deletes a topic cluster by id. The owning site must belong to the authenticated user.
delete_topic_cluster
Permanently deletes saved redirect mappings. Narrow the deletion with `label` and/or the A/B property pair; to delete EVERY mapping on the account you must pass confirmDeleteAll: true, since an unnarrowed delete would also wipe unrelated migrations. Preview exactly what would go with list_migration_redirects using the same filters first.
delete_migration_redirects
Flags statistically anomalous days in a property's Search Console series for a chosen metric (clicks, impressions, CTR, or position). Uses a robust Modified Z-score with median absolute deviation and day-of-week baselines, then scores each spike/drop by severity (critical → info). Good for "did something break / spike on a specific day?". Reads the ClickHouse warehouse when available, else the live Search Console API.
detect_anomalies
Finds the dates where a property's clicks or impressions shifted to a new sustained level (step changes / level shifts), reporting the before vs after average and the % change at each break. Unlike anomaly detection (one-off spikes), this locates durable regime changes: a migration, an algorithm update, a redesign. Reads the ClickHouse warehouse when available, else the live Search Console API.
detect_change_points
Returns per-device-category performance (DESKTOP, MOBILE, TABLET) for a property over a date range. Served from the ClickHouse warehouse when available, otherwise the live Search Console API (see the response `dataSource`). Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
query_devices
Estimates GA4 sessions, key events, and revenue per Search Console query via proportional click share: a query with 80% of a page's GSC clicks is credited 80% of that page's GA4 outcomes. Page-level estimates with known blind spots (device/country/date mismatches are invisible; every click is treated as equally likely to convert). matchedClickShare reports how much of the click volume the estimates cover; estRevenue appears only when the GA4 property records revenue. Requires a GA4 property linked to the site in GSC Wizard; returns a notConfigured explanation otherwise. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
get_query_value_attribution
Results of the Merchant Center feed audit for a GSC Wizard site: the latest run (or the run of a given runDate) with its status, Feed Score (0-100, split into scoreFeed and scorePage), failure counts by severity, per-check applicable / failed / passed counts with pass rates, offers audited, pages fetched and crawl coverage, plus the score history of earlier runs for the trend. coverage and the rates are 0-1 fractions (0.12 = 12%), not the 0-100 percentage ctr uses elsewhere. checkKey narrows the checks list to one check; severity is accepted for parity with the app report, but the per-offer issue rows behind either filter live in the ClickHouse warehouse this server cannot read, so such a call answers `issuesAvailable: false` with a pointer at the Feed Audit report in the GSC Wizard app. `run: null` means no audit has run yet (queue one with run_feed_audit). Returns a `notConfigured` result (not an error) when Merchant Center is not connected or no Merchant Center account is linked to the site. Shopping is in limited release: this tool is enabled for allowlisted accounts only while the feature is staged.
get_feed_audit_results
Finds queries or pages losing traffic between a baseline (earlier) period and a recent period, bucketed by severity of click loss (severe > 50%, moderate 20-50%, mild < 20%). Only keys with a meaningful baseline (clicks > 0 and impressions >= minImpressions) are considered. startDate/endDate is the RECENT period; comparisonStartDate/comparisonEndDate is the BASELINE period. For a full period-by-period matrix (clicks/impressions/position per month or week, like the app's Query Decay / Content Decay pages) use get_decay_overview instead. Served from the GSC Wizard ClickHouse warehouse when available, otherwise the live Search Console API (see `dataSource`). Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
find_decaying_content
Finds queries ranking just outside the top positions (between minPosition and maxPosition) and estimates the click upside of pushing them to a target position. The upside is computed from the property's OWN CTR-by-position curve (derived from the same query data), not a broad industry benchmark, so the estimate reflects how this site actually converts impressions at that position. When the property has no data at the target position, falls back to the industry benchmark named by `fallbackBenchmark`: awr (Advanced Web Ranking 2026, default), firstPageSage (First Page Sage 2026), sistrix (Sistrix 2024), or backlinko (Backlinko 2019). The response reports `targetCtr` (the expected CTR used) and `ctrSource` ("own" or the benchmark key). Sorted by potential click gain. Served from the GSC Wizard ClickHouse warehouse when available, otherwise the live Search Console API (see `dataSource`). Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
find_page_poaching_opportunities
Projects future Search Console clicks (or impressions) for a property using the app's forecasting model: multiplicative seasonal decomposition (ratio-to-moving-average) plus an auto-selected trendline (linear / polynomial / log / exponential / power by best R-squared), re-seasonalised for each future period. Optionally applies a manual growth rate and derives revenue from a conversion rate and average order value. Reads the ClickHouse warehouse when available, else the live Search Console API.
forecast_traffic
Runs ONE Google Analytics 4 dimension breakdown for the GA4 property linked to a GSC Wizard site: channel, sourceMedium, page, landingPage, country, device, or event. Each dimension carries its own metric set (returned in `metrics`); rows include prev* fields that are only meaningful when a comparison range is given (`hasComparison`). Returns a `notConfigured` result (not an error) when Google Analytics is not connected or no GA4 property is linked to the site in the GSC Wizard app. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
query_ga4_report
Breaks GA4 traffic down by ONE custom dimension registered on the property linked to a site (the site's own event parameters or user properties, e.g. customEvent:source_format), optionally CROSSED with a second dimension - which is how a question like "which article sent how many readers to which page" is answered: primary customEvent:source_path, secondary customEvent:target_path, filtered to the one event that carries them. Metrics per row are eventCount, sessions, activeUsers and keyEvents, plus any registered custom metrics asked for. Run list_ga4_custom_dimensions first for the exact names; an unregistered name is rejected here rather than silently returning an empty report. Returns a notConfigured result (not an error) when Google Analytics is not connected or no GA4 property is linked. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
query_ga4_custom_dimensions
Lists the custom dimensions and custom metrics REGISTERED on the GA4 property linked to a site (GA4 Admin > Custom definitions) - the event parameters and user properties that property collects on top of the standard GA4 fields, such as a source_format or target_path sent with an internal_link_click event. Each entry carries the exact `apiName` (e.g. customEvent:source_format) that query_ga4_custom_dimensions takes. Call this FIRST: an event parameter that is not registered cannot be reported on at all, and GA4 answers an unregistered name with an empty report rather than an error, so a name must never be guessed. Returns a notConfigured result (not an error) when Google Analytics is not connected or no GA4 property is linked to the site in the GSC Wizard app.
list_ga4_custom_dimensions
GA4 ecommerce performance for the GA4 property linked to a GSC Wizard site: a revenue / transactions / purchasers summary plus channel, source-medium, page, landing-page, and product (itemName) breakdowns. Revenue is in the property currency (`currencyCode`). `hasEcommerce` is false when the property shows no ecommerce activity in the period. When active filters are incompatible with the item-scoped Products report, `itemsFilterSkipped` is true and `items` is unfiltered while every other table reflects the filters. Returns a `notConfigured` result (not an error) when Google Analytics is not connected or no GA4 property is linked to the site in the GSC Wizard app. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
get_ga4_ecommerce
Reports GA4 error pages for the property linked to a site: sessions, page views, active users and bounce rate per error page, broken down by page title AND URL. GA4 has no native 404 signal, so error pages are identified by matching the pageTitle dimension against saved patterns (operators contains / equals / starts_with / ends_with / regex, case-insensitive, OR-ed together). By default it uses the patterns saved for the site in GSC Wizard; pass `titleFilters` to override them for one call without saving anything. Returns notConfigured when Google Analytics is not connected or no GA4 property is linked, and noPatterns when the site has no saved patterns and none were passed. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
get_ga4_error_pages
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are GSC Wizard alternatives on ChatGPT?
As of 2026-09-29, GSC Wizard competes with Able SEO by VibeSEO, AccuRanker Search Intelligence, Advanced Web Ranking, Ahrefs, Appskyline, Frase, Grow My Website, GSC SEO & Content Planner, Keyword Tool Pro, Keyword Tool: Free SEO Ideas, Keyword.com, OpenRush, PagePulse, SE Ranking, Semji, Semrush, SEO with Distribb, SEOcrawl AI, Serpstat, Sextaris, SignalSumo, SiteGuru, Ubersuggest, vidIQ, Windsor.ai Search Console, Writrex SEO, ラッコキーワード in ChatGPT SEO Rank Tracking & Keyword Research, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.