Documentation
Web Analytics
Connect a site's Search Console, GA4, and Bing accounts, then use one report to choose pages for review.
Web Analytics, a PirateSERP reporting tool in the Track & 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.
- Select the project that owns the connection.
- In Google account connection, click Connect Google.
- Grant read-only Search Console and Analytics access. Google also asks for offline access, which scheduled reports require.
- 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.
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.
- Open Advanced: Google service account key in Web Analytics setup.
- Create a service account in Google Cloud.
- Enable the Google Search Console API, Google Analytics Data API, and Google Analytics Admin API for the Cloud project.
- Create a JSON key for the service account, and keep the downloaded file private.
- Add the service account's email to the Search Console property with permission to view its reports.
- Add the same email to the GA4 property as a Viewer.
- Paste the full JSON file contents into the key field, and save it.
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. Save it under Bing Webmaster Tools in Web Analytics setup.
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
- Under Add a site, enter a Label.
- Choose 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.
- If a selector is empty or unavailable, enter the identifier manually. Enter the Bing site URL (optional) if you use Bing.
- Click Test connection, and read each source's result: Connected, Not configured, or an error.
- 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.
| Field | Example 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. Click Cancel editing to discard the change. 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.
| Section | How to use it |
|---|---|
| Winners and losers | Compare gaining and losing queries and pages across the two periods. An alert lists pages that lost a large share of their clicks. |
| Query clusters | Read related queries as one topic line, with clicks, change, impressions, and position. |
| Opportunities | Compare pages ranking just outside the top results by search demand, position, and matching GA4 engagement. Basis shows Search only or Search + GA4. |
| Content opportunities | Review page-two queries with impressions but a low click-through rate. |
| Keyword cannibalization | Find queries where two or more of your pages appear and split the clicks. |
| Google Search Console | Read period totals, top queries, and Quick wins: queries ranking close to the top of page one. |
| Index status | Read Google's indexing verdict and coverage for your top pages by clicks, and the status of submitted sitemaps. |
| Google Analytics 4 | Read sessions, users, engagement, a 14-day sessions chart with GA4 annotations, top pages, top traffic sources, and top countries. |
| Bing Webmaster Tools | Read 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 Keyword Planner reports no figure for that query, which is common for long, rare phrasings.
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.
Click Print report to print the report or save it as a PDF. After two or more saved reports, the Clicks & impressions over time chart shows the trend across them.
Investigate a page
Click Investigate beside a page in Opportunities or Pages losing. 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.
- Check Start date and End date. They start with the report's GSC period. Choose up to 90 inclusive days, ending at least two days before today in Pacific time.
- Optionally narrow GSC with Exact GSC query (optional), GSC country (three-letter code, optional) such as
USA, and GSC device. - 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 timezone, 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. Scheduled runs are best effort, so a busy period can delay one. Scheduled reports leave out Index status and Query clusters; run a report manually to see them. Click Turn off daily reports to stop future runs without deleting saved 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 timezone. 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.
- Open a report, or run a new one.
- Enter up to 1,000 characters in Your question.
- 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 latest 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.
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. Click a report's trash icon (Delete report) to remove it.
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.