Skip to content

Documentation

Web Analytics

Connect a site's Search Console, GA4, and Bing accounts, then use one report to choose pages for review.

Open Web Analytics

Web Analytics, a PirateSERP reporting tool in the Track and audit group of the sidebar, combines Google Search Console (GSC), Google Analytics 4 (GA4), and Bing Webmaster Tools data into one report per site. Connect only the sources you need; a site requires at least one.

Set up Google access

A connected Google account reads Search Console and GA4 data without a key file.

  1. Select the project that owns the connection.
  2. In Google account connection, click Connect Google.
  3. Grant read-only Search Console and Analytics access. Google also asks for offline access, which scheduled reports require.
  4. After Google returns you to Web Analytics, click Refresh Google properties, then test the properties you select.

You must grant both permissions. Web Analytics rejects partial consent and does not save the connection.

If Connect Google does not appear, the PirateSERP administrator has not configured Google account connection. Use the service-account setup that follows.

The connected Google account must have access to each property you select. The connection belongs to the active project, so another project does not reuse it.

To end a connection, click Disconnect Google. Saved reports remain available, and scheduled reports that rely on the connection stop until another Google credential exists. Disconnecting can revoke the same Google account's access for other PirateSERP projects that use it. If Web Analytics cannot confirm the revocation, review your Google account permissions. You can also disconnect from Account Settings, which lists the Google connection for your active project, even after your subscription ends.

Connect a service account instead

A Google service account, a non-human Google Cloud identity with its own JSON key, works when you cannot complete the Google consent flow. When a project has both, the connected Google account takes priority.

If you cannot change property access, ask the person who manages your Google properties for help.

  1. In Web Analytics setup, expand Advanced: Google service account key.
  2. Create a service account in Google Cloud.
  3. Enable the Google Search Console API, Google Analytics Data API, and Google Analytics Admin API for the Cloud project.
  4. Create a JSON key for the service account, and keep the downloaded file private.
  5. Add the service account's email to the Search Console property with permission to view its reports.
  6. Add the same email to the GA4 property as a Viewer.
  7. In the Google Search Console & GA4 (Service Account) field, paste the full JSON file contents, and then click Save.

Property access must match the properties you enter in the site setup. Read Search Console permissions and Google Analytics API setup when you configure access. Setup uses the Google Cloud web console; you do not need the Google Cloud CLI.

A service-account key stays saved until you remove it.

Add Bing access

Create an API key in Bing Webmaster Tools for an account with access to the site. In Web Analytics setup, paste the key in the Bing Webmaster Tools field, and then click Save.

Google and Bing credentials belong to the active project. Another project does not reuse them. Read API keys and Projects for how keys and projects relate.

Add a site and run a report

  1. In the Add a site section, enter a name for the site in the Label field.
  2. Select a property in Accessible GSC properties and Accessible GA4 properties. The selectors list only properties that the project's Google credentials can reach. Click Refresh Google properties after you change credentials or access.
  3. If a selector is empty or unavailable, enter the identifier manually. If you use Bing, enter the site's URL in Bing site URL (optional).
  4. Click Test connection, and read each source's result: Connected, Not configured, or an error.
  5. Click Add Site, then click Run Report beside the saved site. A report can take up to about four minutes; to stop it, click Cancel.

Enter each identifier in the format that the following table shows:

FieldExample or required format
GSC property (optional)sc-domain:example.com for a domain property, or the exact URL-prefix property.
GA4 property ID (optional)The numeric property ID, not a measurement ID that starts with G-.
Bing site URL (optional)The verified site's URL, such as https://example.com.

Leave unused source fields empty. Check each identifier, even when saved business information supplies the starting Label.

To change a saved site, click Edit site, change its label or identifiers, test the revised connection, and click Save changes. To discard the change, click Cancel editing. Past reports remain available. To remove a site, click its trash icon (Delete site).

Use the report

A report compares the most recent finalized 28-day period with the 28 days before it. Start with a question, such as which pages lost clicks, and read the matching section.

SectionHow to use it
Winners and losersCompare gaining and losing queries and pages across the two periods. An alert lists pages that lost a large share of their clicks. Pages losing traffic ranks the pages that lost clicks by how urgently they need work.
Query clustersRead related queries as one topic line, with clicks, change, impressions, and position.
OpportunitiesCompare pages ranking just outside the top results by search demand, position, and matching GA4 engagement. Basis shows Search only or Search + GA4.
Click-through opportunitiesReview queries whose click-through rate is well below the typical rate for their position. Typical CTR shows the estimated range for a page-one position. For a page-one query, rewrite the title and meta description to match the query. For a page-two query, expand or refresh the page. Ads, AI Overviews, and other search features can also lower a query's rate.
Keyword cannibalizationFind queries where two or more of your pages appear and split the clicks.
Google Search ConsoleRead period totals, top queries, and Quick wins: queries ranking close to the top of page one.
Index statusRead Google's indexing verdict and coverage for your top pages by clicks, and the status of submitted sitemaps.
Sitemap pages with no Google Search impressionsFind pages in your sitemap that didn't appear in Google Search in the last 90 days.
Google Search questions your titles don't answerFind Google searches phrased as questions whose landing page title leaves out some of the question's key words.
Google Analytics 4Compare this period's sessions, users, engagement, and key events with the 28 days before, and read traffic trends, channels, sources, pages, key events, devices, AI assistant referrals, and countries. Read Google Analytics 4 results describes each table.
Bing Webmaster ToolsRead Bing clicks, impressions, top queries, and top pages.

Query tables show Volume and CPC beside your own clicks and impressions. Volume is the average monthly Google searches for the query, and CPC is what advertisers pay for a click on it. Compare Volume with your impressions to see how much demand you capture, and read CPC as a signal of commercial value. n/a means no search-volume figure is available for that query.

Read each section's date range. A comparison or a score identifies a page to investigate, not the cause of a traffic change. Missing GA4 or Bing setup leaves the corresponding sections out.

To print the report or save it as a PDF, click Print. After two or more saved reports, the Clicks & impressions over time chart shows the trend across them.

Find pages Google doesn't show

Sitemap pages with no Google Search impressions lists the pages in your site's XML sitemap that got no impressions in Google Search in the last 90 days. For each page, check three things:

  1. Google has indexed the page. To check, click Show the N pages (N is the number of pages listed), click Investigate beside the page, and then click Inspect indexed version. For more about the investigation panel, read Investigate a page.
  2. Other pages on your site link to the page. Site Auditor reports orphan pages and pages more than three clicks from the start page.
  3. The page answers a search that people make.

The section needs a Search Console property and a sitemap that the site publishes, preferably listed in robots.txt. If the section says it couldn't read the sitemap, check that the sitemap opens in a browser and that its URLs match the property exactly, including www or no www. For a very large site, the section explains that it can't list pages instead of showing an incomplete list. For a very large sitemap, only its first entries are checked, and the section says so.

Match titles to question searches

Google Search questions your titles don't answer lists Google searches phrased as questions, such as "how much does a locksmith cost", whose landing page title leaves out some of the question's key words. Missing words shows which words the title lacks. A title that names what the searcher asked typically earns more clicks.

The section reads page titles from your most recent completed Site Auditor crawl of the same site in the project. To turn it on, or to include pages that you added or retitled, run a Site Auditor crawl of the site, then run this report again. Pages that the crawl didn't reach aren't checked. The check runs for projects whose language is English.

Read Google Analytics 4 results

The Google Analytics 4 section covers all of the site's traffic, not only visits from Google Search. Each figure in the summary line shows the latest 28 days, then the 28 days before (vs), then the change. Counts change by a percentage, and rates, such as Engagement rate, change by percentage points (pts). Prior window shows the earlier dates.

The chart shows sessions and users for the last 13 months. To switch between weekly and monthly points, click Week or Month. The latest week or month can be incomplete. To read engagement rate and key events for each point, click Show data as a table. A dashed line marks a week or month that has a GA4 annotation, and GA4 annotations lists them.

The section includes the following tables:

TableHow to use it
ChannelsCompare sessions, engagement rate, and key events for each traffic channel, such as organic search, direct, referral, and organic social.
Search engines, Social networks, and Referring sitesSee which search engines, social networks, and other websites send you visitors, and how engaged those visitors are.
Referring pagesFind the exact pages on other websites that link to you and send visitors.
CampaignsCompare visits from UTM-tagged links by campaign, source, and medium. To tag links and track them per project, use UTM Builder.
Landing pagesSee the pages where visits start, with sessions, engagement rate, average session length, and key events.
Top pagesRead the most viewed pages with their titles, engagement rate, and average session length.
Key eventsCount each key event and read its session key event rate: the share of sessions that included that event.
DevicesCompare users, engagement rate, and key events on desktop, mobile, and tablet.
AI assistant referralsRead sessions and key events from assistants such as ChatGPT, Perplexity, Gemini, Copilot, and Claude, with each one's share of all sessions. Visits that arrive without referrer information count as direct traffic in GA4, so this table can undercount AI traffic.
Top countriesCompare sessions, users, engagement rate, and average session length by country.

Low engagement marks a landing page or country that had 10 or more sessions and an engagement rate less than half of the site's rate. Many very short visits from one country can be automated traffic rather than people. Before you change a page, check where its visits come from.

If Key events says there are no key events, mark the events that matter to your business as key events in Google Analytics, such as a form submission or a purchase, and then run the report again.

Reports saved before these tables existed show only the tables that they contain.

Triage pages losing traffic

Pages losing traffic, in Winners and losers, is a work queue of pages that had at least 20 clicks in the earlier period and lost clicks in the latest one. The most urgent page comes first. Reports saved before this table existed show a plain Pages losing list instead.

Each row shows the page's clicks and average position now, with the earlier period's values in parentheses. Not in search means the page received no impressions in the latest period.

Decay score is an estimate from 0 to 100 that combines the page's click loss, position loss, and click-through rate loss; a click loss counts the most. The score doesn't account for when you last updated the page or for competitors' pages, so read it as a starting point. The label beside the score describes how far the decline has gone:

LabelScoreWhat it usually means
Early decay21-40A small decline. Plan a refresh in the coming weeks.
Active decay41-60A clear decline. Refresh the page soon.
Significant decay61-80A large decline. Refresh or rewrite the page now.
Severe decay81-100The page has lost most of its search traffic. Rewrite it, or decide whether to keep it.

Suggested action is a starting point for that decision:

  • Refresh: The page ranked on page one before the drop. Update facts, dates, and examples, fill gaps that newer results cover, and keep the page's URL and main topic. A refresh suits a page whose search intent hasn't changed and that other sites link to.
  • Consolidate: The page shares a query with another of your pages, shown under the action, and the two pages split its clicks. Merge the weaker page into the stronger one, then redirect the weaker page's URL to it with a permanent (301) redirect. Read Keyword cannibalization for the other pages.
  • Rewrite or consolidate: The page fell a long way and now ranks beyond page two or lost at least half of its impressions. Search the page's main query and compare the current top results with your page. If the results now answer a different need, rewrite the page for that need, or merge it into a stronger page on the same topic.
  • Review: A moderate decline on a page that didn't rank on page one. Check the page's queries in Investigate before you choose.

Web Analytics never suggests removing a page. If a page no longer fits your business, no other site links to it, and its topic has no search demand, you can consider these options yourself:

  • Redirect it with a 301 to the closest page that covers the same need.
  • Keep it for visitors but add a noindex robots meta tag so that it leaves search results.
  • Remove it and return a 410 status code, when no replacement page exists.

Before you redirect or remove a page, check whether other sites link to it: the Links to column in Backlinks shows a sample of your linked pages.

Investigate a page

Click Investigate beside a page in Opportunities or Pages losing traffic. Page investigation repeats the report's score or observed click change, so you can see why Web Analytics selected that page. These observations do not establish the cause of a change.

  1. Check Start date and End date. They start with the report's GSC period. Select up to 90 inclusive days, ending at least two days before today in Pacific time.
  2. Optional: To narrow the GSC data, use Exact GSC query (optional), GSC country (three-letter code, optional), such as USA, and GSC device.
  3. Click Load investigation.

The result shows the requested period and filters, page totals, a daily GSC trend, and a sample of queries. Search Console can omit query rows, so the sample is not a complete query list. An empty result means Search Console returned no matching data, not that the page had zero traffic.

The GA4 part shows Google organic landing-page sessions, engaged sessions, key events, and average session duration for the same dates. The GSC query, country, and device filters do not apply to GA4. GA4 matches the page path only, so a property that covers several hostnames can combine their traffic. A GSC query cannot be credited with a GA4 key event. GSC uses inclusive Pacific dates, GA4 uses its property time zone, and recent data can still change. An investigation loads current data, which can differ from the saved report.

Click Inspect indexed version to see Google's indexed-page verdict, coverage, indexing state, robots.txt state, last crawl, and Google-selected canonical URL. The inspection does not test the live URL, and a repeated inspection can show a recent earlier result. Each source and the inspection report errors separately, so one failure does not hide another source's evidence. Click Close investigation when you finish.

Schedule reports and review alerts

Click Schedule & alerts beside a saved site, then click Turn on daily reports. The panel shows the next scheduled check and any error from the last scheduled run. A busy period can delay a scheduled run. Scheduled reports leave out Index status, Query clusters, and Sitemap pages with no Google Search impressions; run a report manually to see them. To stop future runs without deleting saved reports, click Turn off daily reports.

Recent alerts in the same panel lists sustained changes in Search Console clicks or GA4 sessions. An alert appears only after several weeks of scheduled reports show a sustained change in the same direction, so a new schedule needs time before its first alert. Each alert shows its source, periods, values, and time zone. Bing data appears in scheduled reports but does not produce alerts. Alerts appear only in PirateSERP, send no email, and do not diagnose a cause.

Ask about a saved report

Ask about this report answers a question about a saved report, such as its top sources, countries, pages, or queries. It requires your own OpenRouter API key and a chosen model in Account Settings.

  1. Open a report, or run a new one.
  2. Enter up to 1,000 characters in Your question.
  3. Click Ask about report, and wait for the answer. A reasoning model can take more than a minute.

The question uses the saved report you selected, or the site's most recent saved report after a new run. Your question and the saved report, including page URLs, search queries, sources, and countries, go to OpenRouter and your model's provider. Google credentials and provider error messages are never sent.

For a very large report, a long list sends only its top rows, and the answer treats that list as partial. A section that failed to load counts as not collected, not as empty, so the answer does not read its missing rows as zero. If the report does not fit your model's context window, choose a model with a larger context window.

The answer shows the saved report's date. It describes observations, cannot read live investigation or inspection data, and cannot establish causes. Check its numbers against the displayed report.

Count AI crawler visits

If your site runs through Cloudflare, AI crawler visits shows how often AI crawlers such as GPTBot, ClaudeBot, OAI-SearchBot, and PerplexityBot request your pages. It covers the active project, not one site's report.

  1. Add a Cloudflare zone ID and API token in the setup section, as described in API keys.
  2. Under AI crawler visits, click Update now to read the last few days.

The table lists each crawler's requests for the last 7 and 30 days, grouped as AI search, AI user fetches, and AI training, with Googlebot for comparison. PirateSERP reads yesterday's counts every day and keeps them, because Cloudflare's free plan keeps only a few days. A user agent can be faked, so the counts are requests that identify as each crawler. Site Auditor shows the same 30-day counts next to each crawler's robots.txt access.

Reopen reports

Click Past reports beside a site, and click a date to open that report. Running a report again on the same day replaces that day's report. If a source fails on the second run, the saved report keeps that source's earlier data from the same day, provided the source's property has not changed. To remove a report, click its trash icon (Delete report).

Sites and reports belong to the active project. If a site has no saved reports, switch projects to find reports saved under another project. After you update content, run a later report to check the change.

Resolve connection errors

Read the error shown for the affected source. Check the saved credential, the enabled API, the property identifier, and the property permissions, then test again.

  • If the GA4 selector reports that Admin API access is unavailable, enter the numeric property ID manually. With a service account, also enable the Google Analytics Admin API in its Cloud project. A discovery failure does not mean that report access is unavailable.
  • An empty selector means Google returned no accessible properties. Check that the connected account, or the service account's email, has access to the property. Unverified GSC properties are not listed.
  • A Connected result confirms read access, but it does not prove that traffic data exists.

One source can fail while others return data. Missing data is not zero traffic. If the index status or annotations section reports an access problem, follow that message rather than changing unrelated settings.

To track rankings for specific keywords, use Rank Tracker. To audit the pages Web Analytics flags, use Site Auditor.